
Ako ga tražite Arduino ploča koji se povezuje na internet putem WiFi mreže, koristite tehnologiju bluetooth I to nfc, zatim model Primo Idealan je za vaše projekte.
To je zbog njegove visokokvalitetne povezivosti i drugih komponenti koje značajno poboljšavaju njegovu operativnost.Jedan od tih elemenata je skup MCU koji se koriste za održavanje dobre veze.
Ako želite znati kako raditi sa Arduino Primo pločaMorat ćete nastaviti čitati. Pokazat ćemo vam listu najboljih ideja koje možete sami uraditi.
Šta su Arduino Primo ploče i za šta se koriste ove hardverske ploče otvorenog koda?
La Arduino Primo ploča Riječ je o modelu koji je razvijen u Sjedinjenim Američkim 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..
Možete kreirati širok spektar projekata, posebno one koje imaju baterijujer nudi infracrveni prijemnik i odašiljač i punjač baterije. Također uključuje mrežnu ploču. WiFi i BluetoothStoga je moguće rad u IoT-u.
Koje su posebne karakteristike razvojnih ploča Arduino Primo?
Najistaknutije karakteristike koje ćete pronaći na Arduino Primo ploči su sljedeće:
- Ovaj tanjir je veličine 7,62x5,08cm. i težak 85 grama.
- Može se povezati sa Wi-Fi, kroz bluetooth i putem tehnologije komunikacije bliskog polja NFC.
- Ima 3 mikrokontroleranRF52832, STM32f103 i ESP8266. Oni rade kao glavni MCU ploče, za otklanjanje grešaka u programu i za WiFi povezivanje, respektivno.
- Posjeduje 14 digitalna pina 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, sa antenom za nfc, zujalica i tipke za resetiranje i uključivanje/isključivanje.
- Takođe ima punjač baterija sa rezonatorom od 64 MHz.
- Napon na kojem radi je 3VStoga, čovjek mora biti oprezan, ne spaljujte komponente.
- Radite sa a WiFi protokol 11 lv en 2.4 GHz frekvencije.
Poboljšana povezivost: Kako najbolje iskoristiti ovu funkciju Arduino Primo-a?
Da biste bolje iskoristili povezivost koju nudi Arduino Primo ploča Morat ćete dodati Arduino NRF52 Core ploču u IDE..
To možete učiniti tako što ćete otići na Alate, zatim odabrati Boards (Ploče) i na kraju odabrati Board Manager (Upravitelj ploča):
- Nakon toga će se otvoriti novi prozor u kojem Morat ćete odabrati NRF52 Core.
- Trebali biste imati na umu da ako radite na računaru s operativnim sistemom 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 uradili, morat ćete se prijaviti na IDE i kliknite na alat a zatim u Meni serijskog porta, gdje ćete pronaći naziv porta na koji je vaša ploča povezana.
- Nakon što otpremite okruženje (klikom na Program a zatim u Gore), trebat će vam Povežite se na internet putem WiFi-jaTo možete učiniti tako što ćete uključiti mrežni adapter, a zatim pristupiti meniju Mreža na računaru. Pronaći ćete ga vrlo lako. SSID, budući da nosi ime Arduino Cousin.
- U vašem pretraživaču, potrebno je da unesete adresu
http://192.168.240.1/kako biste mogli pristupiti opcijama konfiguracije matične ploče. Zatim ćete morati otići u meni Connection Morat ćete unijeti lozinku za Wi-Fi, a zatim dodirnuti POVEŽI. - Na kraju, Pojavit će se IP adresa Arduina.Stoga ćete morati promijeniti status iz panela postavki na PREBACI SE NA STA NAČIN RADANa ovaj način možete postići bolju povezanost.
Lista ideja za projekte koje možete razviti koristeći Arduino Primo ploče
U nastavku ćete pronaći listu najboljih projekata koje možete sami uraditi s Arduino Primo-om:
Monitor otkucaja srca
Moći ćete da kreirajte pomoću Arduino Primo pločesenzor pulsa za dobiti informacije o otkucajima srca i potrebne kablove za povezivanje. 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("Povezano sa 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(otkucajSrcaCharArray, 2); //Serial.print("OtkucajSrca je: "); //Serial.println(otkucajSrca); }
Upravljanje mišem putem mobilnog uređaja u multimedijalnom playeru
Trebat će vam dugmasta baterija tipa CR2032, tanjir Arduino Primo Core i mobilni telefon sa bluetooth aktivirano.
Kada radite sa IDE-om, neće vam trebati nikakva štampana ploča, tako da ćete samo trebati direktno 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("Povezano sa 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 diode 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()>(hrono+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š Povežite svoj mobilni telefon sa pločom putem Bluetootha da biste počeli koristiti bežični miš.
Senzor za vremenske prilike
Ovaj projekat 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 tako da možete pretraživati web za temperaturu određenog grada. Pored 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 celzijus[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'; celzijus[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 sa 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 na wifi"); println("\nPokretanje veze sa serverom..."); if (client.connect(server, 80)) { println("povezano na server"); 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 sa servera."); 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); }


















