
Jos etsit sellaista Arduino-levy joka muodostaa yhteyden internetiin WiFi:n kautta, käytä teknologiaa, Bluetooth ja NFC sitten malli Primo Se on ihanteellinen projekteihisi.
Tämä johtuu sen korkealaatuisesta liitettävyydestä ja muista komponenteista, jotka parantavat huomattavasti sen toimivuutta.Yksi näistä elementeistä on joukko MCU joita käytetään hyvän yhteyden ylläpitämiseen.
Jos haluat tietää, miten työskennellään Arduino Primo -korttiSinun on jatkettava lukemista. Näytämme sinulle listan parhaista ideoista että voit tehdä itse.
Mitä ovat Arduino Primo -kortit ja mihin näitä avoimen lähdekoodin laitteistokortteja käytetään?
La Arduino Primo -kortti Se on Yhdysvalloissa kehitetty ja vuonna 2016 lanseerattu malli. Sen ohjaimissa on 32-bittinen arkkitehtuuri, 14 nastaa digitaalituloille ja -lähdöille ja 6 analogituloille..
Se voi luoda monenlaisia projekteja, etenkin ne, joissa on akkukoska se tarjoaa infrapunavastaanottimen ja -lähettimen sekä akkulaturin. Se sisältää myös verkkokortin. WiFi ja BluetoothSiksi on mahdollista työskentely IoT:n parissa.
Mitkä ovat Arduino Primon kehityskorttien erityisominaisuudet?
Arduino Primo -levyn merkittävimmät ominaisuudet ovat seuraavat:
- Tämä lautanen on kooltaan 7,62 5,08 cm x. ja painaa 85 grammaa.
- Se voi muodostaa yhteyden WiFi, kautta Bluetooth: ja lähikenttäviestintäteknologian avulla NFC.
- Siinä on 3 mikrokontrollerianRF52832, STM32f103 ja ESP8266. Nämä toimivat piirilevyn pää-MCU:na, vastaavasti ohjelmien virheenkorjausta ja WiFi-yhteyttä varten.
- se on 14 digitaalista nastaa tulo- ja lähtönastat, joista 12:ta voidaan käyttää pulssimarkkereina tai PWM:nä. Siinä on myös 6 analogista tulonastaa.
- Siinä on liitin MicroUSB, antennin kanssa NFC summeri sekä nollaus- ja virtapainikkeet.
- On myös akkulaturi, jossa on 64 MHz:n resonaattori.
- Jännite, jolla se toimii, on 3VSiksi on oltava varovainen älä polta komponentteja.
- Työskentele a WiFi-protokolla 11 bgn en 2.4 GHz taajuudesta.
Parannettu liitettävyys: Miten tätä Arduino Primon ominaisuutta hyödynnetään parhaiten?
Jotta Arduino Primo -kortin tarjoamat yhteydet saataisiin hyödynnettyä paremmin Sinun on lisättävä Arduino NRF52 Core -levy IDE-ympäristöön..
Voit tehdä tämän siirtymällä Työkalut-valikkoon, valitsemalla sitten Taulut ja lopuksi Taulun hallinta:
- Tämän jälkeen avautuu uusi ikkuna, jossa Sinun on valittava NRF52-ydin.
- Sinun tulisi pitää mielessä, että jos työskentelet tietokoneella, jossa on käyttöjärjestelmä Windows- tai macOS-käyttöjärjestelmissä ajureita ei tarvitse asentaaJos kuitenkin käytät Linux sinun täytyy Suorita komentosarja Löydät sen virallisilta verkkosivuilta Arduino.
https://www.arduino.cc/en/Sh/Txt - Tämän jälkeen sinun on pakko lisää sarjaporttiTätä varten sinun on kirjauduttava sisään IDE ja napsauta Työkalut ja sitten sisään Sarjaporttivalikko, josta löydät sen portin nimen, johon emolevysi on kytketty.
- Ympäristön lataamisen jälkeen (napsauttamalla Ohjelma ja sitten sisään Lähetä), tarvitset Yhdistä internetiin Wi-Fi-yhteyden kauttaVoit tehdä tämän kytkemällä verkkosovittimen päälle ja avaamalla sitten tietokoneesi Verkko-valikon. Löydät sen erittäin helposti. SSID-tunnus koska se kantaa nimeä Arduino serkku.
- Selaimessasi sinun on annettava osoite
http://192.168.240.1/jotta pääset emolevyn määritysasetuksiin. Sitten sinun on mentävä valikkoon Liitäntä Sinun on annettava Wi-Fi-salasanasi ja napauta sitten KYTKEÄ. - Lopuksi, Arduinon IP-osoite tulee näkyviin.Siksi sinun on muutettava tila asetuspaneelista arvoon KYTKE STA-TILAANNäin saat paremman yhteyden.
Luettelo projekti-ideoista, joita voit kehittää Arduino Primo -levyillä
Alta löydät listan parhaista projekteista, joita voit tehdä itse Arduino Primolla:
Sykemittari
Pystyt luo Arduino Primo -levylläpulssianturi saada syketietoja ja tarvittavat kaapelit liitäntää varten. Ensimmäiseksi sinun tulee kytkeä anturin PWR 3.3 V:iin; sitten GND levyn GND:hen ja signaali kanavaan A0.
Seuraavaksi sinun on syötettävä nämä ohjelmointikoodit:
#sisältää #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-laite aktiivinen, odottaa yhteyksiä..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Yhdistetty keskusyksikköön: "); println(central.address()); //kytke BLE-ledin päälle 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("Yhteys katkaistu keskusyksiköstä: "); 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(sykeCharArray, 2); //Serial.print("syke on: "); //Serial.println(syke); }
Hiiren ohjaus mobiililaitteella multimediasoittimessa
Tarvitset nappipariston, jonka tyyppi on CR2032, lautanen Arduino Primo -ydin ja matkapuhelin, jossa on Bluetooth: aktivoitu.
IDE-ympäristössä et tarvitse erillistä piirilevyä, joten sinun tarvitsee vain syöttää nämä koodit suoraan:
#sisältää #sisältää #sisältää #sisältää #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 -oheislaite - bond-tietojen tyhjennys")); 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, LOW); if (central) { print(F("Yhdistetty centraliin: ")); println(central.address()); count = 0; while (central.connected()) { digitalWrite(LED_BUILTIN, HIGH); if (tap) { tap = 0; uint8_t status = 0; getStatusSingleTapDetection(&status); if (status) { if (count % 2 == 0){ digitalWrite(12, HIGH); //sytytä ledi painamalla(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t accelerometers[3] = {0}; getAccelerometer(kiihtyvyysanturit); jos (kiihtyvyysmittarit[2] > 0 && (abs(kiihtyvyysmittarit[0])>100||abs(kiihtyvyysmittarit[1])>100) && (millis()>(chrono+200))) { int mappedX = map (kiihtyvyysmittarit[0], -1023, 1023, -12, 12); int mappedY = map (kiihtyvyysmittarit[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Sitten sinun täytyy Yhdistä matkapuhelimesi tauluun Bluetoothin kautta aloittaaksesi langattoman hiiren käytön.
Sääanturi
Tämä projekti on hieman monimutkaisempi kuin edelliset, koska Tarvitset kaksi Arduino-levyä, yhden Primon ja yhden Primo Coren. Jälkimmäinen vastaa signaalin lähettämisestä edelliselle, jotta voit etsiä verkosta tietyn kaupungin lämpötilaa. Kahden paneelin lisäksi tarvitset CR2032 ja älypuhelin.
Sinun on liitettävä Arduino sen omiin nastoihin ja jatkettava näiden koodien syöttämistä IDE:hen:
#sisältää #sisältää #sisältää 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("Yhteys WiFi-moduuliin ei muodostunut."); } while (status != WL_CONNECTED) { print("Yritetään muodostaa yhteys SSID:hen: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Yhdistetty wifiin"); println("\nAloitetaan yhteyttä palvelimeen..."); if (client.connect(server, 80)) { println("yhdistetty palvelimeen"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Palvelin: www.nytimes.com"); println("Yhteys: suljettu"); println(); } flag = true; } } while (lippu) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = muisti[0]; fahrenheit[1] = muisti[1]; fahrenheit[2] = muisti[2]; } else { celsius[0] = muisti[0]; celsius[1] = muisti[1]; celsius[2] = muisti[2]; } count++; } muisti[0] = muisti[1]; muisti[1] = muisti[2]; muisti[2] = muisti[3]; muisti[3] = c; } if (!client.connected()) { println(); println("Katkaistaan yhteyttä palvelimeen."); if (fahrenheit[1] == 62) { fahrenheit[1] = 32; } fahrenheit[0] = 32; } else if (fahrenheit[0] == 62){ fahrenheit[0] = 32; } if (celsius[1] == 40){ celsius[1] = 32; celsius[0] = 32; } else if (celsius[0] == 40){ celsius[0] = 32; } print("Lämpötila fahrenheiteina: "); print(fahrenheit); println("°"); print("Lämpötila celsiusasteina: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } if (bleSerial.status() == MAINONTA) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } muuten digitalWrite(BLE_LED, HIGH); }


















