
Hvis du leder efter en Arduino-kort der opretter forbindelse til internettet via WiFi, brug teknologien fra Bluetooth og NFC så modellen første Den er ideel til dine projekter.
Dette skyldes dens højkvalitetsforbindelse og andre komponenter, der forbedrer dens funktionalitet betydeligt.Et af disse elementer er sættet af MCU som bruges til at opretholde en god forbindelse.
Hvis du vil vide, hvordan du arbejder med en Arduino Primo-kortDu bliver nødt til at læse videre. Vi viser dig en liste med de bedste idéer som du selv kan gøre.
Hvad er Arduino Primo-kort, og hvad bruges disse open source-hardwarekort til?
La Arduino Primo-kort Det er en model, der blev udviklet i USA og lanceret i 2016. Den har en 32-bit arkitektur i sine controllere, 14 ben til digital input og output og 6 til analoge input..
Du kan skabe en bred vifte af projekter, især dem, der inkluderer et batterida den tilbyder en infrarød modtager og sender samt en batterioplader. Den inkluderer også et netværkskort. Wi-Fi og Bluetooth, så det kan være arbejder i IoT.
Hvad er de særlige funktioner ved Arduino Primo udviklingskort?
De mest fremragende funktioner, du finder på et Arduino Primo-kort, er følgende:
- Denne tallerken er på størrelse med 7,62 x 5,08 cm. og vejer 85 gram.
- Den kan oprette forbindelse til WiFi, igennem Bluetooth og gennem nærfeltskommunikationsteknologi NFC.
- Den har 3 mikrocontrollerenRF52832, STM32f103 og ESP8266. Disse fungerer som boardets primære MCU til henholdsvis programfejlfinding og WiFi-forbindelse.
- Det ejer 14 digitale pins input- og output-pins, hvoraf 12 kan bruges som pulsmarkører eller PWM. Den har også 6 analoge indgangsben.
- Den har et stik MicroUSB, med en antenne til NFC en buzzer og nulstillings- og tænd/sluk-knapper.
- Har også en batterioplader med en 64 MHz resonator.
- Spændingen, den fungerer ved, er 3VDerfor skal man være opmærksom på Brænd ikke komponenterne.
- Arbejd med en WiFi-protokol 11 milliarder en 2.4 GHz af frekvens.
Forbedret tilslutning: Hvordan udnytter man bedst denne funktion i Arduino Primo?
For bedre at udnytte den tilslutningsmulighed, som Arduino Primo-kortet tilbyder Du skal tilføje Arduino NRF52 Core-kortet i IDE'en..
Du kan gøre dette ved at gå til Værktøjer, derefter vælge Tavler og til sidst vælge Tavleadministrator:
- Der åbnes derefter et nyt vindue, hvor Du skal vælge NRF52 Core.
- Du skal huske på, at hvis du arbejder på en computer med et operativsystem Windows eller MacOS, du behøver ikke at installere drivereMen hvis du bruger Linux det bliver du nødt til kør scriptet Du finder den på den officielle hjemmeside Arduino.
https://www.arduino.cc/en/Sh/Txt - Efter dette skal du tilføj den serielle portFor at gøre det, skal du logge ind på IDE og klik på Værktøj og derefter ind Seriel port menu, hvor du finder navnet på den port, som dit board er tilsluttet.
- Efter upload af miljøet (ved at klikke på Program og derefter ind Upload), skal du bruge Opret forbindelse til internettet via WiFiDu kan gøre dette ved at tænde netværkskortet og derefter åbne netværksmenuen på din computer. Du finder den meget nemt. SSID, da den bærer navnet Arduino fætter.
- I din browser skal du indtaste adressen
http://192.168.240.1/så du kan få adgang til bundkortets konfigurationsmuligheder. Derefter skal du gå til menuen Tilslutning Du skal indtaste din Wi-Fi-adgangskode og derefter trykke på FORBINDE. - Endelig Arduinoens IP-adresse vil vises.Derfor skal du ændre status fra indstillingspanelet til SKIFT TIL STA-TILSTANDPå denne måde kan du få bedre forbindelse.
Liste over projektidéer, du kan udvikle ved hjælp af Arduino Primo-boards
Nedenfor finder du en liste over de bedste projekter, du selv kan lave med en Arduino Primo:
Pulsmåler
Du vil være i stand til at Opret ved hjælp af et Arduino Primo-korten pulssensor til få oplysninger om puls og de nødvendige kabler til tilslutningen. Det første du skal gøre er at forbinde sensorens PWR til 3.3V; derefter GND til printpladens GND og signalet til kanal A0.
Dernæst skal du indtaste disse programmeringskoder:
#omfatte #define SIGNAL A0 BLEPeripheral blePeripheral; BLEService heartRateService("180D"); BLECharacteristic heartRateChar("2A37", BLERead | BLENotify, 2); void findHeartRate(float averageSample); int sample[300] = { 0 }; int n = 0; int sumSample = 0; float averageSample = 0; void setup() { begin(250000); setLocalName("HeartRateSketch"); setAdvertisedServiceUuid(heartRateService.uuid()); addAttribute(heartRateService); addAttribute(heartRateChar); begin(); println("Bluetooth-enhed aktiv, venter på forbindelser..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Forbundet til central: "); println(central.address()); //tænd BLE led digitalWrite(BLE_LED, HIGH); while (central.connected()) { if (millis() % 10 == 0) { int rawValue = analogRead(A0); int sensorValue = map(rawValue, 0, 1023, 0, 255); println(sensorValue); sumSample = sumSample + sensorValue; sumSample = sumSample - sample[n]; sample[n] = sensorValue; n++; averageSample = (float)sumSample / 300; if (n == 300) { n = 0; findHeartRate(averageSample); } delay(1); } } print("Afbrudt fra central: "); println(central.address()); } digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } void findHeartRate (float averageSample) { int count = 0; int totalTime = 0; int lastI = 0; bool trendState = false; bool goOverThreshold = false; int heartRate = 0; float setThreshold = 1.25; for (int i = 0; i < 300; i++) { goOverThreshold = (sample[i] > (averageSample * setThreshold)); if (goOverThreshold != trendState) { trendState = goOverThreshold; if (goOverThreshold == false) { if (count > 0) { totalTime = totalTime + (i - lastI); } count++; lastI = i; } } } heartRate = 6000 * (count - 1) / totalTime; const unsigned char heartRateCharArray[2] = { 0, (char)heartRate }; setValue(hjertefrekvensCharArray, 2); //Serial.print("hjertefrekvens er: "); //Serial.println(hjertefrekvens); }
Musestyring via mobilenhed i en multimedieafspiller
Du skal bruge et knapcellebatteri af typen CR2032, en tallerken Arduino Primo Core og en mobiltelefon med Bluetooth aktiveret.
Når du arbejder med en IDE, behøver du ikke noget printkort, så du skal blot indtaste disse koder direkte:
#omfatte #omfatte #omfatte #omfatte #define MOUSE_RANGE 24 #define INT1 21 int tap = 0; int chrono = 0; int count = 0; BLEHIDPeripheral bleHIDPeripheral = BLEHIDPeripheral(); BLEMouse bleMouse; BLESystemControl bleSystemControl; void setup() { pinMode(LED_BUILTIN, OUTPUT); pinMode(12, OUTPUT); begin(115200); println(F("BLE HID Periferi - rydder bonddata")); clearBondStoreData(); setReportIdOffset(1); setLocalName("Arduino Core Mouse"); addHID(bleMouse); addHID(bleSystemControl); begin(); println(F("BLE HID Demo")); begin(); enableSingleTapDetection(); attachInterrupt(INT1, Tap, RISING); } void loop() { BLECentral central = bleHIDPeripheral.central(); digitalWrite(LED_BUILTIN, LAV); if (central) { print(F("Forbundet til central: ")); println(central.address()); count = 0; while (central.connected()) { digitalWrite(LED_BUILTIN, HØJ); if (tap) { tap = 0; uint8_t status = 0; getStatusSingleTapDetection(&status); if (status) { if (count % 2 == 0){ digitalWrite(12, HØJ); //tænd LED'en tryk(); count++; } else { digitalWrite(12, LAV); release(); count++; } } } int32_t accelerometre[3] = {0}; getAccelerometer(accelerometre); hvis (accelerometre[2] > 0 && (abs(accelerometre[0])>100||abs(accelerometre[1])>100) && (millis()>(chrono+200))) { int mappedX = map(accelerometre[0], -1023, 1023, -12, 12); int mappedY = map(accelerometre[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Så skal du Tilslut din mobiltelefon til tavlen via Bluetooth for at begynde at bruge den trådløse mus.
Vejrsensor
Dette projekt er lidt mere kompliceret end de foregående, pga. Du skal bruge to Arduino-boards, et Primo og et Primo Core. Sidstnævnte er ansvarlig for at sende et signal til førstnævnte, så du kan søge på nettet efter temperaturen i en bestemt by. Ud over de to paneler skal du bruge en CR2032 og en smartphone.
Du skal forbinde Arduinoen til dens respektive ben og fortsætte med at indtaste disse koder i IDE'en:
#omfatte #omfatte #omfatte BLESerial bleSerial = BLESerial(); char ssid[] = "cclIT"; char pass[] = "ht34!eG$"; int keyIndex = 0; int count; charmemory[5]; char fahrenheit[4]; char celsius[4]; bool flag = false; int status = WL_IDLE_STATUS; char server[] = "www.nytimes.com"; WiFiClient client; void setup() { setLocalName("WeatherFinder"); pinMode(BLE_LED, OUTPUT); begin(115200); begin(); memory[4] = '\0'; fahrenheit[3] = '\0'; celsius[3] = '\0'; } void loop() { poll(); if (bleSerial && Serial) { int byte; if ((byte = bleSerial.read()) > 0) { if (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Kommunikation med WiFi-modul ikke etableret."); } while (status != WL_CONNECTED) { print("Forsøger at oprette forbindelse til SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Forbundet til wifi"); println("\nStarter forbindelse til server..."); if (client.connect(server, 80)) { println("forbundet til server"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Host: www.nytimes.com"); println("Forbindelse: luk"); println(); } flag = true; } } while (flag) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = memory[0]; fahrenheit[1] = memory[1]; fahrenheit[2] = memory[2]; } else { celsius[0] = memory[0]; celsius[1] = memory[1]; celsius[2] = memory[2]; } count++; } memory[0] = memory[1]; memory[1] = memory[2]; memory[2] = memory[3]; memory[3] = c; } if (!client.connected()) { println(); println("afbryder forbindelse til server."); if (fahrenheit[1] == 62){ fahrenheit[1] = 32; fahrenheit[0] = 32; } ellers hvis (fahrenheit[0] == 62){ fahrenheit[0] = 32; } hvis (celsius[1] == 40){ celsius[1] = 32; celsius[0] = 32; } ellers hvis (celsius[0] == 40){ celsius[0] = 32; } print("Temperatur i fahrenheit: "); print(fahrenheit); println("°"); print("Temperatur i celsius: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } hvis (bleSerial.status() == REKLAME) { digitalWrite(BLE_LED, LAV); delay(200); digitalWrite(BLE_LED, HØJ); delay(200); } ellers digitalWrite(BLE_LED, HØJ); }


















