
Nëse jeni duke kërkuar për një Pllakë Arduino që lidhet me internetin nëpërmjet WiFi-t, përdorin teknologjinë e Bluetooth dhe nfc, pastaj modeli I parë Është ideale për projektet tuaja.
Kjo për shkak të lidhjes së saj me cilësi të lartë dhe komponentëve të tjerë që përmirësojnë ndjeshëm funksionimin e saj.Një nga këto elementë është bashkësia e MCU që përdoren për të ruajtur një lidhje të mirë.
Nëse doni të dini si të punoni me një Pllaka Arduino PrimoDo të duhet të vazhdoni të lexoni. Do t'ju tregojmë një listë me idetë më të mira që mund ta bësh vetë.
Çfarë janë pllakat Arduino Primo dhe për çfarë përdoren këto pllaka harduerike me burim të hapur?
La Pllaka Arduino Primo Është një model që u zhvillua në Shtetet e Bashkuara dhe u lançua në vitin 2016. Ai përmban një arkitekturë 32-bit në kontrolluesit e tij, 14 kunja për hyrje dhe dalje dixhitale dhe 6 për hyrje analoge..
Ajo mund krijojnë një larmi të gjerë projektesh, Sidomos ato që përfshijnë një bateripasi ofron një marrës dhe transmetues infra të kuq dhe një karikues baterie. Gjithashtu përfshin një pllakë rrjeti. WiFi dhe BluetoothPrandaj, është e mundur duke punuar në IoT.
Cilat janë karakteristikat e veçanta të pllakave të zhvillimit Arduino Primo?
Karakteristikat më të spikatura që do të gjeni në një pllakë Arduino Primo janë si më poshtë:
- Kjo pjatë është me madhësinë e 7,62 x 5,08 cm. dhe peshon 85 gram.
- Mund të lidhet me WiFi, përmes Bluetooth dhe përmes teknologjisë së komunikimit në fushë të afërt NFC.
- Ka 3 mikrokontrolluesnRF52832, STM32f103 dhe ESP8266. Këto funksionojnë si mikrokontrollori kryesor i pllakës, për debugging të programeve dhe për lidhjen WiFi, përkatësisht.
- ajo ka 14 kunja dixhitale kunja hyrëse dhe dalëse, 12 prej të cilave mund të përdoren si shënues pulsesh ose PWM. Gjithashtu ka 6 kunja hyrëse analoge.
- Ka një lidhës MicroUSB, me një antenë për nfc, një zile dhe butona rivendosjeje dhe ndezjeje.
- Gjithashtu ka një karikues baterie me një rezonator 64 MHz.
- Tensioni në të cilin funksionon është 3VPrandaj, duhet të ketë kujdes nga mos i digjni përbërësit.
- Punoni me a Protokolli WiFi 11 bgn en 2.4 GHz të frekuencës.
Lidhshmëri e përmirësuar: Si ta shfrytëzojmë më së miri këtë veçori të Arduino Primo?
Për të shfrytëzuar më mirë lidhjen e ofruar nga pllaka Arduino Primo Do të duhet të shtoni pllakën kryesore Arduino NRF52 në IDE..
Mund ta bësh këtë duke shkuar te Tools, pastaj duke zgjedhur Boards dhe në fund duke zgjedhur Board Manager:
- Pastaj do të hapet një dritare e re në të cilën Do të duhet të zgjidhni NRF52 Core.
- Duhet të keni parasysh se nëse punoni në një kompjuter me një sistem operativ Në Windows ose MacOS nuk do të keni nevojë të instaloni shoferëMegjithatë, nëse përdorni Linux ju do të keni për të ekzekutoni skenarin Do ta gjeni në faqen zyrtare të internetit të Arduino.
https://www.arduino.cc/en/Sh/Txt - Pas kësaj, do të duhet shtoni portin serialPër ta bërë këtë, do t'ju duhet të identifikoheni në IDE dhe klikoni në Tools dhe pastaj ne Menuja e portit serial, ku do të gjeni emrin e portit me të cilin është lidhur pllaka juaj.
- Pas ngarkimit të mjedisit (duke klikuar mbi Program dhe pastaj ne upload), do t'ju duhet Lidhu me internetin nëpërmjet WiFi-tMund ta bësh këtë duke ndezur adaptuesin e rrjetit dhe më pas duke hyrë në menynë e Rrjetit në kompjuterin tënd. Do ta gjesh shumë lehtë. SSID, meqenëse mban emrin Arduino Cousin.
- Në shfletuesin tuaj, do t'ju duhet të futni adresën
http://192.168.240.1/në mënyrë që të keni akses në opsionet e konfigurimit të motherboard-it. Pastaj, do t'ju duhet të shkoni te menyja Lidhje Do të duhet të futni fjalëkalimin tuaj Wi-Fi dhe pastaj të klikoni mbi LIDH. - Së fundi, Adresa IP e Arduino-s do të shfaqet.Prandaj, do të duhet të ndryshoni statusin nga paneli i cilësimeve në KALO NË MODALITETI STANë këtë mënyrë mund të arrini një lidhje më të mirë.
Lista e ideve të projektit që mund të zhvilloni duke përdorur pllakat Arduino Primo
Më poshtë do të gjeni një listë të projekteve më të mira që mund të bëni vetë me një Arduino Primo:
Monitor i rrahjeve të zemrës
Do të jesh në gjendje të krijoni duke përdorur një pllakë Arduino Primonjë sensor pulsi për merrni informacion mbi rrahjet e zemrës dhe kabllot e nevojshme për lidhjen. Gjëja e parë që duhet të bëni është të lidhni PWR-në e sensorit me 3.3V; pastaj GND-në me GND-në e pllakës dhe sinjalin në kanalin A0.
Tjetra, do t'ju duhet të futni këto kode programimi:
#përfshij #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("Pajisja Bluetooth aktive, duke pritur për lidhje..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("I lidhur me central: "); println(central.address()); //aktivizon LED-in BLE 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("Shkëputur nga central: "); println(central.address()); } digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); vonesë(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(heartRateCharArray, 2); //Serial.print("heartRate është: "); //Serial.println(heartRate); }
Kontroll i mausit përmes pajisjes mobile në një lexues multimedial
Do t'ju duhet një bateri me qeliza butonash e tipit CR2032, nje pjate Arduino Primo Core dhe një telefon celular me Bluetooth aktivizuar.
Kur punoni me një IDE, nuk do t'ju duhet ndonjë qark i qarkut, kështu që do t'ju duhet vetëm të futni këto kode direkt:
#përfshij #përfshij #përfshij #përfshij #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 - pastrimi i të dhënave të lidhjes")); 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("I lidhur me central: ")); 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); //ndez LED-in shtyp(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t akselerometra[3] = {0}; getAccelerometer(akselerometra); nëse (akselerometra[2] > 0 && (abs(akselerometra[0])>100||abs(akselerometra[1])>100) && (millis()>(chrono+200))) { int mappedX = map(akselerometra[0], -1023, 1023, -12, 12); int mappedY = map(akselerometra[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Atëherë ju duhet Lidhni telefonin tuaj celular me tabelën përmes Bluetooth për të filluar përdorimin e mausit pa tel.
Sensori i motit
Ky projekt është pak më i ndërlikuar se ato të mëparshmet, sepse Do t'ju duhen dy pllaka Arduino, një Primo dhe një Primo Core. Ky i fundit është përgjegjës për dërgimin e një sinjali tek i pari, në mënyrë që të mund të kërkoni në internet për temperaturën e një qyteti specifik. Përveç dy paneleve, do t'ju duhet një CR2032 dhe një smartphone.
Do të duhet ta lidhni Arduinon me kunjat e tij përkatëse dhe të vazhdoni të futni këto kode në IDE:
#përfshij #përfshij #përfshij 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; nëse ((byte = bleSerial.read()) > 0) { nëse (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Komunikimi me modulin WiFi nuk është vendosur."); } ndërsa (status != WL_CONNECTED) { print("Duke u përpjekur të lidhet me SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("I lidhur me wifi"); println("\nDuke filluar lidhja me serverin..."); nëse (client.connect(server, 80)) { println("i lidhur me serverin"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Host: www.nytimes.com"); println("Lidhja: mbyll"); println(); } flag = true; } } ndërsa (flag) { ndërsa (client.available()) { char c = client.read(); nëse (c == 176 && count < 2) { nëse (count == 0) { fahrenheit[0] = memory[0]; fahrenheit[1] = memory[1]; fahrenheit[2] = memory[2]; } përndryshe { 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; } nëse (!client.connected()) { println(); println("duke u shkëputur nga serveri."); nëse (fahrenheit[1] == 62){ fahrenheit[1] = 32; fahrenheit[0] = 32; } përndryshe nëse (fahrenheit[0] == 62){ fahrenheit[0] = 32; } nëse (celsius[1] == 40){ celsius[1] = 32; celsius[0] = 32; } përndryshe nëse (celsius[0] == 40){ celsius[0] = 32; } print("Temperatura në Fahrenheit: "); print(Fahrenheit); println("°"); print("Temperatura në Celsius: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } nëse (bleSerial.status() == REKLAMA) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } përndryshe digitalWrite(BLE_LED, HIGH); }


















