
Ja jūs to meklējat Arduino dēlis kas izveido savienojumu ar internetu, izmantojot WiFi, izmantojiet tehnoloģiju Bluetooth un NFC tad modelis Primo Tas ir ideāli piemērots jūsu projektiem.
Tas ir saistīts ar tā augstas kvalitātes savienojamību un citiem komponentiem, kas ievērojami uzlabo tā darbību.Viens no šiem elementiem ir kopums MCU ko izmanto, lai uzturētu labu savienojumu.
Ja vēlaties uzzināt, kā strādāt ar Arduino Primo plateTev būs jāturpina lasīt. Mēs parādīsim jums sarakstu ar labākajām idejām ka jūs varat izdarīt pats.
Kas ir Arduino Primo plates un kam tiek izmantotas šīs atvērtā koda aparatūras plates?
La Arduino Primo plate Tas ir modelis, kas tika izstrādāts Amerikas Savienotajās Valstīs un tika laists klajā 2016. gadā. Tā kontrolleros ir 32 bitu arhitektūra, 14 tapas digitālajai ieejai un izejai un 6 analogajām ieejām..
Tā var radīt plašu projektu klāstu, īpaši tie, kas ir aprīkoti ar akumulatorujo tajā ir iekļauts infrasarkano staru uztvērējs un raidītājs, kā arī akumulatora lādētājs. Tajā ir iekļauta arī tīkla plate. Wi-Fi un BluetoothTāpēc ir iespējams darbs lietu internetā (IoT).
Kādas ir Arduino Primo izstrādes plates īpašās iezīmes?
Visizcilākās funkcijas, ko atradīsiet Arduino Primo platē, ir šādas:
- Šīs plāksnes izmērs ir 7,62 x 5,08 cm. un sver 85 gramus.
- Tas var izveidot savienojumu ar WiFi, cauri Bluetooth un izmantojot tuvā lauka sakaru tehnoloģiju NFC.
- Tam ir 3 mikrokontrollerinRF52832, STM32f103 un ESP8266. Tie darbojas kā plates galvenais MCU, attiecīgi programmu atkļūdošanai un WiFi savienojumam.
- Pieder 14 digitālās piespraudes ieejas un izejas tapas, no kurām 12 var izmantot kā impulsu marķierus vai PWM. Tam ir arī 6 analogās ieejas tapas.
- Tam ir savienotājs MicroUSBar antenu priekš NFC skaņas signāls, atiestatīšanas un barošanas pogas.
- Ir arī akumulatora lādētājs ar 64 MHz rezonatoru.
- Spriegums, ar kādu tas darbojas, ir 3VTāpēc ir jābūt uzmanīgiem nededzināt sastāvdaļas.
- Strādājiet ar a WiFi protokols 11 lauvas en 2.4 GHz no frekvences.
Uzlabota savienojamība: kā vislabāk izmantot šo Arduino Primo funkciju?
Lai labāk izmantotu Arduino Primo plates piedāvāto savienojamību IDE būs jāpievieno Arduino NRF52 pamatplate..
To var izdarīt, dodoties uz sadaļu Rīki, pēc tam atlasot Plātnes un visbeidzot izvēloties Plātņu pārvaldnieks:
- Pēc tam atvērsies jauns logs, kurā Jums būs jāizvēlas NRF52 Core.
- Jums jāpatur prātā, ka, ja strādājat ar datoru ar operētājsistēmu Operētājsistēmās Windows vai MacOS draiveri nebūs jāinstalēTomēr, ja jūs izmantojat Linux tev vajadzēs palaist skriptu Jūs to atradīsiet oficiālajā tīmekļa vietnē Arduino.
https://www.arduino.cc/en/Sh/Txt - Pēc tam jums tas būs jādara pievienot seriālo portuLai to izdarītu, jums būs jāpiesakās sistēmā IDE un noklikšķiniet uz darbarīki un pēc tam iekšā Seriālā porta izvēlne, kur atradīsiet tā porta nosaukumu, kuram ir pievienota jūsu plate.
- Pēc vides augšupielādes (noklikšķinot uz programma un pēc tam iekšā Augšupielādēt), jums būs nepieciešams Izveidojiet savienojumu ar internetu, izmantojot Wi-FiTo var izdarīt, ieslēdzot tīkla adapteri un pēc tam datorā atverot izvēlni “Tīkls”. To atradīsiet ļoti viegli. SSID, jo tam ir nosaukums Arduino brālēns.
- Savā pārlūkprogrammā jums būs jāievada adrese
http://192.168.240.1/lai jūs varētu piekļūt mātesplates konfigurācijas opcijām. Pēc tam jums būs jāatver izvēlne Savienošana Jums būs jāievada sava Wi-Fi parole un pēc tam pieskarieties PIEVIENOTIES. - Visbeidzot, Parādīsies Arduino IP adrese.Tāpēc jums būs jāmaina statuss no iestatījumu paneļa uz PĀRSLĒGTIES UZ STA REŽĪMUTādā veidā jūs varat iegūt labāku savienojamību.
Projektu ideju saraksts, ko var izstrādāt, izmantojot Arduino Primo plates
Zemāk atradīsiet sarakstu ar labākajiem projektiem, ko varat veikt pats ar Arduino Primo:
Sirdsdarbības ātruma monitors
Jūs varēsiet izveidojiet, izmantojot Arduino Primo platipulsa sensors, kas paredzēts iegūt informāciju par sirdsdarbības ātrumu un nepieciešamie kabeļi savienojumam. Vispirms jāpievieno sensora barošanas avots (PWR) 3.3 V spriegumam; pēc tam zemējums (GND) plates zemējumam un signāls A0 kanālam.
Tālāk jums būs jāievada šie programmēšanas kodi:
#iekļaut #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 ierīce aktīva, gaida savienojumus..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Izveidots savienojums ar centrālo: "); println(central.address()); //ieslēdz 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("Atvienots no centrālās: "); 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(sirdsRitesCharArray, 2); //Serial.print("sirdsRite ir: "); //Serial.println(sirdsRite); }
Peles vadība, izmantojot mobilo ierīci multimediju atskaņotājā
Jums būs nepieciešama pogas tipa baterija CR2032, šķīvis Arduino Primo kodols un mobilais tālrunis ar Bluetooth aktivizēts.
Strādājot ar IDE, jums nebūs nepieciešama shēmas plate, tāpēc jums vienkārši būs jāievada šie kodi tieši:
#iekļaut #iekļaut #iekļaut #iekļaut #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 perifērijas ierīce - savienojuma datu notīrīšana")); 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("Savienots ar centrālo: ")); 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); //ieslēdziet gaismas diodi press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t akselerometri[3] = {0}; getAccelerometer(akselerometri); ja (akselerometri[2] > 0 && (abs(akselerometri[0])>100||abs(akselerometri[1])>100) && (millis()>(chrono+200))) { int mappedX = map(akselerometri[0], -1023, 1023, -12, 12); int mappedY = map(akselerometri[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Tad jums ir Pievienojiet mobilo tālruni tāfelei, izmantojot Bluetooth lai sāktu lietot bezvadu peli.
Laika apstākļu sensors
Šis projekts ir nedaudz sarežģītāks nekā iepriekšējie, jo Jums būs nepieciešamas divas Arduino plates, viena Primo un viena Primo Core. Pēdējais ir atbildīgs par signāla nosūtīšanu pirmajam, lai jūs varētu meklēt tīmeklī konkrētas pilsētas temperatūru. Papildus abiem paneļiem jums būs nepieciešams CR2032 un viedtālruni.
Jums būs jāpievieno Arduino attiecīgajiem pieslēgvietām un jāturpina ievadīt šos kodus IDE:
#iekļaut #iekļaut #iekļaut 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; ja ((byte = bleSerial.read()) > 0) { ja (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Saziņa ar WiFi moduli nav izveidota."); } while (status != WL_CONNECTED) { print("Mēģinājums izveidot savienojumu ar SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Izveidots savienojums ar wifi"); println("\nSāk savienojumu ar serveri..."); ja (client.connect(server, 80)) { println("izveidots savienojums ar serveri"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Resursdators: www.nytimes.com"); println("Savienojums: aizvērts"); println(); } flag = true; } } while (karodziņš) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = atmiņa[0]; fahrenheit[1] = atmiņa[1]; fahrenheit[2] = atmiņa[2]; } else { celsius[0] = atmiņa[0]; celsius[1] = atmiņa[1]; celsius[2] = atmiņa[2]; } count++; } atmiņa[0] = atmiņa[1]; atmiņa[1] = atmiņa[2]; atmiņa[2] = atmiņa[3]; atmiņa[3] = c; } if (!client.connected()) { println(); println("atvienojas no servera."); if (fahrenheit[1] == 62) { fahrenheit[1] = 32; fārenheita[0] = 32; } citādi, ja (fārenheita[0] == 62){ fārenheita[0] = 32; } ja (celsius[1] == 40){ celsius[1] = 32; celsius[0] = 32; } citādi, ja (celsius[0] == 40){ celsius[0] = 32; } print("Temperatūra fārenheita grādos: "); print(fārenheita); println("°"); print("Temperatūra Celsija grādos: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } ja (bleSerial.status() == REKLĀMA) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } citādi digitalWrite(BLE_LED, HIGH); }


















