
Hvis du er ute etter en Arduino-kort som kobler seg til internett via WiFi, bruk teknologien til blåtann og NFC, deretter modellen Primo Den er ideell for prosjektene dine.
Dette skyldes den høykvalitets tilkoblingsmuligheten og andre komponenter som forbedrer driften betraktelig.Et av disse elementene er settet med MCU som brukes til å opprettholde en god forbindelse.
Hvis du vil vite hvordan du jobber med en Arduino Primo-kortDu må fortsette å lese. Vi viser deg en liste med de beste ideene som du kan gjøre selv.
Hva er Arduino Primo-kort, og hva brukes disse åpen kildekode-maskinvarekortene til?
La Arduino Primo-kort Det er en modell som ble utviklet i USA og lansert i 2016. Den har en 32-bits arkitektur i kontrollerne, 14 pinner for digital inngang og utgang, og 6 for analoge innganger..
Det kan lage et bredt utvalg av prosjekter, spesielt de som inkluderer batteriettersom den tilbyr en infrarød mottaker og sender samt en batterilader. Den inkluderer også et nettverkskort. Wi-Fi og BluetoothDerfor er det mulig jobber i IoT.
Hva er de spesielle funksjonene til Arduino Primo-utviklingskortene?
De mest fremragende funksjonene du finner på et Arduino Primo-kort er følgende:
- Denne tallerkenen er på størrelse med 7,62 5,08 cm x. og veier 85 gram.
- Den kan koble seg til WiFi, gjennom Bluetooth og gjennom nærfeltskommunikasjonsteknologi NFC.
- Den har 3 mikrokontrollerenRF52832, STM32f103 og ESP8266. Disse fungerer som hoved-MCU-en på kortet, henholdsvis for programfeilsøking og for WiFi-tilkobling.
- Den eier 14 digitale pinner inngangs- og utgangspinner, hvorav 12 kan brukes som pulsmarkører eller PWM. Den har også 6 analoge inngangspinner.
- Den har en kontakt MicroUSB, med en antenne for NFC, en summer og tilbakestillings- og av/på-knapper.
- Også har en batterilader med en 64 MHz resonator.
- Spenningen den opererer med er 3VDerfor må man være forsiktig med ikke brenn komponentene.
- Arbeid med en WiFi-protokoll 11 milliarder en 2.4 GHz av frekvens.
Forbedret tilkobling: Hvordan best utnytte denne funksjonen i Arduino Primo?
For å bedre utnytte tilkoblingsmulighetene som tilbys av Arduino Primo-kortet Du må legge til Arduino NRF52 Core-kortet i IDE-en..
Du kan gjøre dette ved å gå til Verktøy, deretter velge Tavler og til slutt velge Tavlebehandling:
- Deretter åpnes et nytt vindu der Du må velge NRF52 Core.
- Du bør huske på at hvis du jobber på en datamaskin med et operativsystem Windows eller MacOS trenger du ikke å installere drivereMen hvis du bruker Linux du må kjør skriptet Du finner den på den offisielle nettsiden til Arduino.
https://www.arduino.cc/en/Sh/Txt - Etter dette må du legg til serieportenFor å gjøre det, må du logge inn på IDE og klikk på verktøy og deretter inn Seriell portmeny, hvor du finner navnet på porten som kortet ditt er koblet til.
- Etter at du har lastet opp miljøet (ved å klikke på Program og deretter inn Laste opp), trenger du Koble til internett via WiFiDu kan gjøre dette ved å slå på nettverkskortet og deretter åpne Nettverk-menyen på datamaskinen. Du finner det veldig enkelt. SSID, siden den bærer navnet Arduino fetter.
- I nettleseren din må du skrive inn adressen
http://192.168.240.1/slik at du får tilgang til hovedkortets konfigurasjonsalternativer. Deretter må du gå til menyen Tilkobling Du må oppgi Wi-Fi-passordet ditt og deretter trykke på KOBLE. - Endelig, Arduinoens IP-adresse vil vises.Derfor må du endre statusen fra innstillingspanelet til BYTT TIL STA-MODUSPå denne måten kan du få bedre tilkobling.
Liste over prosjektideer du kan utvikle ved hjelp av Arduino Primo-kort
Nedenfor finner du en liste over de beste prosjektene du kan gjøre selv med en Arduino Primo:
Pulsmåler
Du vil kunne lage med et Arduino Primo-korten pulssensor for få informasjon om puls og de nødvendige kablene for tilkoblingen. Det første du bør gjøre er å koble sensorens PWR til 3.3 V; deretter GND til kretskortets GND og signalet til kanal A0.
Deretter må du legge inn disse programmeringskodene:
#inkludere #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-enhet aktiv, venter på tilkoblinger..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Koblet til sentral: "); println(central.address()); //slå på 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("Frakoblet 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); }
Musekontroll via mobilenhet i en multimediaspiller
Du trenger et knappcellebatteri av typen CR2032, en tallerken Arduino Primo Core og en mobiltelefon med Bluetooth aktivert.
Når du jobber med en IDE, trenger du ikke noe kretskort, så du trenger bare å skrive inn disse kodene direkte:
#inkludere #inkludere #inkludere #inkludere #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 Peripheral - sletter bindingsdata")); 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("Koblet til central: ")); println(central.address()); count = 0; while (central.connected()) { digitalWrite(LED_BUILTIN, HØY); if (tap) { tap = 0; uint8_t status = 0; getStatusSingleTapDetection(&status); if (status) { if (count % 2 == 0){ digitalWrite(12, HØY); //slå på LED-en trykk(); count++; } else { digitalWrite(12, LAV); slipp(); count++; } } } int32_t akselerometre[3] = {0}; getAccelerometer(akselerometre); hvis (akselerometre[2] > 0 && (abs(akselerometre[0])>100||abs(akselerometre[1])>100) && (millis()>(chrono+200))) { int mappedX = map(akselerometre[0], -1023, 1023, -12, 12); int mappedY = map(akselerometre[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Da må du Koble mobiltelefonen din til brettet via Bluetooth for å begynne å bruke den trådløse musen.
Værsensor
Dette prosjektet er litt mer komplisert enn de forrige, fordi Du trenger to Arduino-kort, ett Primo og ett Primo Core. Sistnevnte er ansvarlig for å sende et signal til førstnevnte, slik at du kan søke på nettet etter temperaturen i en bestemt by. I tillegg til de to panelene trenger du en CR2032 og en smarttelefon.
Du må koble Arduinoen til de respektive pinnene og fortsette å legge inn disse kodene i IDE-en:
#inkludere #inkludere #inkludere 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; hvis ((byte = bleSerial.read()) > 0) { hvis (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Kommunikasjon med WiFi-modulen er ikke opprettet."); } mens (status != WL_CONNECTED) { print("Forsøker å koble til SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Koblet til wifi"); println("\nStarter tilkobling til server..."); hvis (client.connect(server, 80)) { println("koblet til server"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Vert: www.nytimes.com"); println("Tilkobling: lukk"); 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("kobler fra 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() == ANNONSE) { digitalWrite(BLE_LED, LAV); forsinkelse(200); digitalWrite(BLE_LED, HØY); forsinkelse(200); } ellers digitalWrite(BLE_LED, HØY); }


















