
Če ga iščete Arduino plošča ki se povezuje z internetom prek omrežja WiFi, uporabite tehnologijo bluetooth in NFC potem model Prvič Idealen je za vaše projekte.
To je posledica visokokakovostne povezljivosti in drugih komponent, ki bistveno izboljšajo njegovo delovanje.Eden od teh elementov je niz MCU ki se uporabljajo za vzdrževanje dobre povezave.
Če želite vedeti, kako delati z Plošča Arduino PrimoNadaljevati boste morali z branjem. Pokazali vam bomo seznam najboljših idej ki jih lahko narediš sam/a.
Kaj so plošče Arduino Primo in za kaj se uporabljajo te plošče z odprtokodno strojno opremo?
La Plošča Arduino Primo Gre za model, ki je bil razvit v Združenih državah Amerike in je bil predstavljen leta 2016. Ima 32-bitno arhitekturo v svojih krmilnikih, 14 pinov za digitalne vhode in izhode ter 6 za analogne vhode..
Lahko ustvariti široko paleto projektov, še posebej tiste, ki imajo vgrajeno baterijosaj ponuja infrardeči sprejemnik in oddajnik ter polnilnik baterij. Vključuje tudi omrežno kartico. Wi-Fi in BluetoothZato je mogoče delo v internetu stvari.
Katere so posebne lastnosti razvojnih plošč Arduino Primo?
Najbolj izstopajoče lastnosti, ki jih boste našli na plošči Arduino Primo, so naslednje:
- Ta plošča je velikosti 7,62 x 5,08 cm. in tehta 85 gramov.
- Lahko se poveže z WiFi, skozi Bluetooth in prek tehnologije komunikacije bližnjega polja NFC.
- Ima 3 mikrokrmilnikenRF52832, STM32f103 in ESP8266. Ti delujejo kot glavni mikrokontroler plošče za odpravljanje napak v programu oziroma za povezljivost WiFi.
- Lastniki 14 digitalnih zatičev vhodne in izhodne pine, od katerih se 12 lahko uporablja kot označevalci impulzov ali PWM. Ima tudi 6 analognih vhodnih pinov.
- Ima priključek microUSB, z anteno za NFC brenčalo ter gumba za ponastavitev in vklop.
- Tudi je polnilnik baterij z resonatorjem 64 MHz.
- Napetost, pri kateri deluje, je 3VZato je treba biti pozoren na ne sežigajte komponent.
- Delo z a Protokol WiFi 11 bgn en 2.4 GHz frekvence.
Izboljšana povezljivost: Kako najbolje izkoristiti to funkcijo Arduina Primo?
Za boljšo izkoriščanje povezljivosti, ki jo ponuja plošča Arduino Primo V IDE boste morali dodati matično ploščo Arduino NRF52 Core..
To lahko storite tako, da odprete Orodja, nato izberete Plošče in na koncu Upravitelj plošč:
- Nato se bo odprlo novo okno, v katerem Izbrati boste morali jedro NRF52.
- Upoštevajte, da če delate na računalniku z operacijskim sistemom V sistemu Windows ali MacOS ne boste potrebovali namestitve gonilnikovČe pa uporabljate Linux boste morali zaženite skript Najdete ga na uradni spletni strani Arduino.
https://www.arduino.cc/en/Sh/Txt - Po tem boste morali dodajte serijska vrataČe želite to narediti, se boste morali prijaviti v IDE in kliknite na Orodja in nato v Meni serijskih vrat, kjer boste našli ime vrat, na katera je priključena vaša plošča.
- Po nalaganju okolja (s klikom na Program in nato v trpijo), potrebovali boste Povežite se z internetom prek omrežja Wi-FiTo lahko storite tako, da vklopite omrežni adapter in nato odprete meni Omrežje v računalniku. Našli ga boste zelo enostavno. SSID, saj nosi ime Arduino bratranec.
- V brskalnik boste morali vnesti naslov
http://192.168.240.1/da lahko dostopate do možnosti konfiguracije matične plošče. Nato boste morali iti v meni Povezava Vnesti boste morali geslo za Wi-Fi in nato tapniti POVEŽI. - Končno, Prikazal se bo IP naslov Arduina.Zato boste morali stanje na plošči z nastavitvami spremeniti v PREKLOPITE V NAČIN STANa ta način lahko dosežete boljšo povezljivost.
Seznam idej za projekte, ki jih lahko razvijete z uporabo plošč Arduino Primo
Spodaj boste našli seznam najboljših projektov, ki jih lahko sami izvedete z Arduino Primo:
Merilnik srčnega utripa
Zmogli boste ustvarite z uporabo plošče Arduino Primosenzor pulza za pridobivanje informacij o srčnem utripu in potrebne kable za povezavo. Najprej morate priključiti napajanje senzorja na 3.3 V; nato ozemljitev na ozemljitev plošče in signal na kanal A0.
Nato boste morali vnesti te programske kode:
#vključ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("Naprava Bluetooth je aktivna, čaka na povezave..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Povezan s centralo: "); println(central.address()); //vklopi 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("Prekinjena povezava s centralno: "); println(central.address()); } digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } void najdiSrčniUtrip(float povprečjeSample) { int count = 0; int totalTime = 0; int lastI = 0; bool trendState = false; bool goOverThreshold = false; int srčniUtrip = 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; } } } srčniUtrip = 6000 * (count - 1) / totalTime; const unsigned char srčniUtripCharArray[2] = { 0, (char)srčniUtrip }; setValue(srčniUtripCharArray, 2); //Serial.print("srčniUtrip je: "); //Serial.println(srčniUtrip); }
Upravljanje z miško prek mobilne naprave v multimedijskem predvajalniku
Potrebovali boste gumbasto baterijo tipa CR2032, krožnik Arduino Primo Core in mobilni telefon z Bluetooth aktivirano.
Pri delu z IDE ne boste potrebovali nobene tiskane vezja, zato boste morali te kode vnesti neposredno:
#vključi #vključi #vključi #vključ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 podatkov o povezavi")); 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("Povezano s centralno: ")); 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); //vklopi LED press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t accelerometers[3] = {0}; getAccelerometer(accelerometers); če (merilnikipospeška[2] > 0 && (abs(merilnikipospeška[0])>100||abs(merilnikipospeška[1])>100) && (millis()>(chrono+200))) { int mappedX = map(merilnikipospeška[0], -1023, 1023, -12, 12); int mappedY = map(merilnikipospeška[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Potem moraš Povežite svoj mobilni telefon s ploščo prek Bluetootha za začetek uporabe brezžične miške.
Vremenski senzor
Ta projekt je nekoliko bolj zapleten kot prejšnji, ker Potrebovali boste dve Arduino plošči, eno Primo in eno Primo Core. Slednji je odgovoren za pošiljanje signala prvemu, tako da lahko na spletu iščete temperaturo določenega mesta. Poleg obeh plošč boste potrebovali še CR2032 in pametni telefon.
Arduino boste morali priključiti na ustrezne pine in nadaljevati z vnosom teh kod v IDE:
#vključi #vključi #vključi BLESerial bleSerial = BLESerial(); char ssid[] = "cclIT"; char pass[] = "ht34!eG$"; int keyIndex = 0; int count; charmemory[5]; char fahrenheit[4]; char celzius[4]; bool flag = false; int status = WL_IDLE_STATUS; char server[] = "www.nytimes.com"; WiFiClient odjemalec; void setup() { setLocalName("WeatherFinder"); pinMode(BLE_LED, OUTPUT); begin(115200); begin(); memory[4] = '\0'; fahrenheit[3] = '\0'; celzius[3] = '\0'; } void loop() { poll(); if (bleSerial && Serial) { int byte; če ((bajt = bleSerial.read()) > 0) { če (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Komunikacija z modulom WiFi ni vzpostavljena."); } while (status != WL_CONNECTED) { print("Poskus povezave z SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Povezano z omrežjem wifi"); println("\nZačenjam povezavo s strežnikom..."); če (client.connect(server, 80)) { println("povezano s strežnikom"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Gostitelj: www.nytimes.com"); println("Povezava: zaprta"); println(); } flag = true; } } while (zastavica) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = pomnilnik[0]; fahrenheit[1] = pomnilnik[1]; fahrenheit[2] = pomnilnik[2]; } else { celzij[0] = pomnilnik[0]; celzij[1] = pomnilnik[1]; celzij[2] = pomnilnik[2]; } count++; } pomnilnik[0] = pomnilnik[1]; pomnilnik[1] = pomnilnik[2]; pomnilnik[2] = pomnilnik[3]; pomnilnik[3] = c; } if (!client.connected()) { println(); println("prekinitev povezave s strežnikom."); if (fahrenheit[1] == 62){ fahrenheit[1] = 32; fahrenheit[0] = 32; } sicer če (fahrenheit[0] == 62){ fahrenheit[0] = 32; } če (celzij[1] == 40){ celzij[1] = 32; celzij[0] = 32; } sicer če (celzij[0] == 40){ celzij[0] = 32; } print("Temperatura v fahrenheitih: "); print(fahrenheit); println("°"); print("Temperatura v celzijih: "); print(celzij); println("°"); stop(); write(celzij); flag = false; } } če (bleSerial.status() == OGLAŠEVANJE) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } sicer digitalWrite(BLE_LED, VISOKA); }


















