
Ako ga tražite Arduino ploča koji se spaja na internet putem WiFi-ja, koristite tehnologiju Bluetooth i NFC zatim model Prvi Idealan je za vaše projekte.
To je zbog njegove visokokvalitetne povezivosti i drugih komponenti koje znatno poboljšavaju njegovu operativnost.Jedan od tih elemenata je skup MCU koji se koriste za održavanje dobre veze.
Ako želite znati kako raditi s Arduino Primo pločaMorat ćete nastaviti čitati. Pokazat ćemo vam popis najboljih ideja koje možete sami napraviti.
Što su Arduino Primo ploče i za što se koriste ove hardverske ploče otvorenog koda?
La Arduino Primo ploča Riječ je o modelu koji je razvijen u Sjedinjenim Državama, a lansiran je 2016. godine. Ima 32-bitnu arhitekturu u svojim kontrolerima, 14 pinova za digitalne ulaze i izlaze i 6 za analogne ulaze..
To može stvoriti širok raspon projekata, posebno one koje imaju baterijujer nudi infracrveni prijemnik i odašiljač te punjač baterija. Također uključuje mrežnu ploču. WiFi i BluetoothStoga je moguće rad u IoT-u.
Koje su posebne značajke razvojnih ploča Arduino Primo?
Najistaknutije značajke koje ćete pronaći na Arduino Primo ploči su sljedeće:
- Ova ploča je veličine 7,62 x 5,08 cm. i težak je 85 grama.
- Može se povezati s WiFi, kroz Bluetooth i putem tehnologije komunikacije bliskog polja NFC.
- Ima 3 mikrokontroleranRF52832, STM32f103 i ESP8266. Oni rade kao glavni MCU ploče, za otklanjanje pogrešaka programa i za WiFi povezivost.
- ima 14 digitalnih pinova ulazne i izlazne pinove, od kojih se 12 može koristiti kao markeri impulsa ili PWM. Također ima 6 analognih ulaznih pinova.
- Ima konektor microUSB, s antenom za NFC zujalica i tipke za resetiranje i uključivanje/isključivanje.
- Također ima punjač baterija s rezonatorom od 64 MHz.
- Napon na kojem radi je 3VStoga se mora paziti na ne spaljujte komponente.
- Radite s a WiFi protokol 11 bgn en 2.4 GHz frekvencije.
Poboljšana povezivost: Kako najbolje iskoristiti ovu značajku Arduina Primo?
Kako bi se bolje iskoristila povezivost koju nudi Arduino Primo ploča Morat ćete dodati Arduino NRF52 Core ploču u IDE..
To možete učiniti tako da odete na Alate, zatim odaberete Boards (Ploče) i na kraju odaberete Board Manager (Upravitelj ploča):
- Zatim će se otvoriti novi prozor u kojem Morat ćete odabrati NRF52 Core.
- Trebali biste imati na umu da ako radite na računalu s operativnim sustavom Za Windows ili MacOS nećete morati instalirati upravljačke programeMeđutim, ako koristite Linux morat ćeš pokrenite skriptu Naći ćete ga na službenoj web stranici Arduino.
https://www.arduino.cc/en/Sh/Txt - Nakon ovoga ćete morati dodajte serijski portDa biste to učinili, morat ćete se prijaviti na IDE i kliknite na alat a zatim u Izbornik serijskog porta, gdje ćete pronaći naziv porta na koji je vaša ploča spojena.
- Nakon učitavanja okruženja (klikom na Program a zatim u Učitaj), trebat će vam Povežite se s internetom putem WiFi-jaTo možete učiniti tako da uključite mrežni adapter, a zatim pristupite izborniku Mreža na računalu. Vrlo ćete ga lako pronaći. SSID, budući da nosi ime Arduino rođak.
- U pregledniku ćete morati unijeti adresu
http://192.168.240.1/kako biste mogli pristupiti opcijama konfiguracije matične ploče. Zatim ćete morati otići u izbornik Priključak Morat ćete unijeti lozinku za Wi-Fi, a zatim dodirnuti SPOJITI. - konačno, Pojavit će se IP adresa Arduina.Stoga ćete morati promijeniti status s ploče postavki u PREBACI SE NA STABILIZACIJSKI NAČINNa ovaj način možete postići bolju povezanost.
Popis ideja za projekte koje možete razviti koristeći Arduino Primo ploče
U nastavku ćete pronaći popis najboljih projekata koje možete sami napraviti s Arduino Primo:
Monitor otkucaja srca
Moći ćete kreirati pomoću Arduino Primo pločesenzor pulsa za dobiti informacije o otkucajima srca i potrebne kabele za spajanje. Prvo što trebate učiniti je spojiti PWR senzora na 3.3 V; zatim GND na GND ploče i signal na kanal A0.
Zatim ćete morati unijeti ove programske kodove:
#uključi #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 uređaj aktivan, čeka veze..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Spojeno s centralom: "); println(central.address()); //uključivanje BLE LED diode 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("Isključeno iz centrale: "); 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(otkucajiSrcaCharArray, 2); //Serial.print("OtkucajiSrca su: "); //Serial.println(otkucajiSrca); }
Upravljanje mišem putem mobilnog uređaja u multimedijskom playeru
Trebat će vam gumbasta baterija tipa CR2032, tanjur Arduino Primo Core i mobitel s Bluetooth aktivirana.
Kada radite s IDE-om, neće vam trebati nikakva tiskana pločica, pa ćete samo morati izravno unijeti ove kodove:
#uključi #uključi #uključi #uključi #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 - brisanje podataka o vezi")); clearBondStoreData(); setReportIdOffset(1); setLocalName("Arduino Core miš"); 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("Spojeno s centralom: ")); 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); //uključivanje LED-a press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t akcelerometri[3] = {0}; getAccelerometer(akcelerometri); ako (akcelerometri[2] > 0 && (abs(akcelerometri[0])>100||abs(akcelerometri[1])>100) && (millis()>(chrono+200))) { int mappedX = mapa(akcelerometri[0], -1023, 1023, -12, 12); int mappedY = mapa(akcelerometri[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Onda moraš Spojite svoj mobilni telefon s pločom putem Bluetootha za početak korištenja bežičnog miša.
Vremenski senzor
Ovaj projekt je malo složeniji od prethodnih, jer Trebat će vam dvije Arduino ploče, jedna Primo i jedna Primo Core. Potonji je odgovoran za slanje signala prvom kako biste mogli pretraživati web za temperaturu određenog grada. Uz dva panela, trebat će vam i CR2032 i pametni telefon.
Morat ćete spojiti Arduino na odgovarajuće pinove i nastaviti unositi ove kodove u IDE:
#uključi #uključi #uključi 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 klijent; void setup() { setLocalName("WeatherFinder"); pinMode(BLE_LED, OUTPUT); begin(115200); begin(); memorija[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("Komunikacija s WiFi modulom nije uspostavljena."); } while (status != WL_CONNECTED) { print("Pokušaj povezivanja na SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Povezano s wifi mrežom"); println("\nPokretanje povezivanja s poslužiteljem..."); if (client.connect(server, 80)) { println("povezano s poslužiteljem"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Host: www.nytimes.com"); println("Veza: zatvorena"); println(); } flag = true; } } while (zastavica) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = memorija[0]; fahrenheit[1] = memorija[1]; fahrenheit[2] = memorija[2]; } else { celzijus[0] = memorija[0]; celzijus[1] = memorija[1]; celzijus[2] = memorija[2]; } count++; } memorija[0] = memorija[1]; memorija[1] = memorija[2]; memorija[2] = memorija[3]; memorija[3] = c; } if (!client.connected()) { println(); println("isključivanje s poslužitelja."); if (fahrenheit[1] == 62){ fahrenheit[1] = 32; fahrenheit[0] = 32; } inače ako (fahrenheit[0] == 62){ fahrenheit[0] = 32; } ako (celzijus[1] == 40){ celzijus[1] = 32; celzijus[0] = 32; } inače ako (celzijus[0] == 40){ celzijus[0] = 32; } print("Temperatura u fahrenheitima: "); print(fahrenheit); println("°"); print("Temperatura u celzijusima: "); print(celzijus); println("°"); stop(); write(celzijus); flag = false; } } ako (bleSerial.status() == OGLAŠAVANJE) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } inače digitalWrite(BLE_LED, HIGH); }


















