
Pokud ji hledáte Deska Arduino který se připojuje k internetu přes WiFi, použijte technologii bluetooth a NFC pak model Bratranec Je ideální pro vaše projekty.
To je dáno jeho vysoce kvalitní konektivitou a dalšími komponenty, které podstatně zlepšují jeho ovladatelnost.Jedním z těchto prvků je soubor MCU které se používají k udržení dobrého spojení.
Pokud chcete vědět, jak pracovat s Deska Arduino PrimoBudete muset pokračovat ve čtení. Ukážeme vám seznam nejlepších nápadů že si to zvládnete sami.
Co jsou desky Arduino Primo a k čemu se tyto open-source hardwarové desky používají?
La Deska Arduino Primo Jedná se o model, který byl vyvinut ve Spojených státech a uveden na trh v roce 2016. Jeho řídicí jednotky využívají 32bitovou architekturu, 14 pinů pro digitální vstup a výstup a 6 pinů pro analogové vstupy..
To může vytvářet širokou škálu projektů, zejména ty, které obsahují bateriiprotože nabízí infračervený přijímač a vysílač a nabíječku baterií. Součástí je také síťová karta. Wi-Fi a Bluetooth, tak to může být práce v oblasti internetu věcí.
Jaké jsou speciální vlastnosti vývojových desek Arduino Primo?
Mezi nejvýraznější vlastnosti, které najdete na desce Arduino Primo, patří:
- Tento talíř má velikost 7,62 x 5,08 cm. a váží 85 gramů.
- Může se připojit k WiFi, přes Bluetooth a prostřednictvím technologie komunikace blízkého pole NFC.
- Má 3 mikrokontrolérynRF52832, STM32f103 a ESP8266. Tyto fungují jako hlavní MCU desky pro ladění programu a pro WiFi připojení.
- Vlastní 14 digitálních pinů vstupní a výstupní piny, z nichž 12 lze použít jako pulzní značky nebo PWM. Má také 6 analogových vstupních pinů.
- Má konektor MicroUSBs anténou pro NFC bzučák a tlačítka pro reset a napájení.
- Také má nabíječka baterií s rezonátorem 64 MHz.
- Napětí, při kterém pracuje, je 3VProto je třeba dávat si pozor na nespalujte součásti.
- Pracujte s a WiFi protokol 11 bgn en 2.4 GHz frekvence.
Vylepšená konektivita: Jak nejlépe využít tuto funkci Arduina Primo?
Pro lepší využití konektivity, kterou nabízí deska Arduino Primo Budete muset do IDE přidat základní desku Arduino NRF52..
To provedete tak, že přejdete do nabídky Nástroje, poté vyberete Desky a nakonec Správce desek:
- Poté se otevře nové okno, ve kterém Budete si muset vybrat jádro NRF52.
- Měli byste mít na paměti, že pokud pracujete na počítači s operačním systémem Windows nebo MacOS nebudete muset instalovat ovladačePokud však použijete Linux budeš muset spusťte skript Najdete ho na oficiálních webových stránkách Arduino.
https://www.arduino.cc/en/Sh/Txt - Poté budete muset přidat sériový portAbyste to mohli udělat, budete se muset přihlásit do IDE a klikněte na nářadí a pak dovnitř Nabídka sériového portu, kde najdete název portu, ke kterému je vaše deska připojena.
- Po nahrání prostředí (kliknutím na program a pak dovnitř nahrát), budete potřebovat Připojení k internetu přes WiFiMůžete to provést zapnutím síťového adaptéru a následným otevřením nabídky Síť v počítači. Najdete ji velmi snadno. SSID, protože nese jméno Arduino bratranec.
- Do prohlížeče budete muset zadat adresu
http://192.168.240.1/abyste měli přístup k možnostem konfigurace základní desky. Poté budete muset přejít do nabídky Conexión Budete muset zadat heslo k Wi-Fi a poté klepnout na PŘIPOJIT. - Konečně, Zobrazí se IP adresa Arduina.Proto budete muset změnit stav v panelu nastavení na PŘEPNOUT DO REŽIMU STATímto způsobem můžete dosáhnout lepší konektivity.
Seznam nápadů na projekty, které můžete rozvíjet s použitím desek Arduino Primo
Níže naleznete seznam nejlepších projektů, které můžete s Arduino Primo realizovat svépomocí:
Monitor tepové frekvence
Budete moci vytvořit pomocí desky Arduino Primopulzní senzor pro získat informace o tepové frekvenci a potřebné kabely pro připojení. První věc, kterou byste měli udělat, je připojit napájení senzoru k 3.3 V; poté GND k GND desky a signál ke kanálu A0.
Dále budete muset zadat tyto programovací kódy:
#zahrnout #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("Zařízení Bluetooth aktivní, čeká na připojení..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Připojeno k centrále: "); println(central.address()); //zapnutí 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("Odpojeno od centrály: "); 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(srdečníTepCharArray, 2); //Serial.print("srdečníTep je: "); //Serial.println(srdečníTep); }
Ovládání myší přes mobilní zařízení v multimediálním přehrávači
Budete potřebovat knoflíkovou baterii typu CR2032, talíř Jádro Arduina Primo a mobilní telefon s Bluetooth aktivováno.
Při práci s IDE nebudete potřebovat žádnou desku plošných spojů, takže stačí zadat tyto kódy přímo:
#zahrnout #zahrnout #zahrnout #zahrnout #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 - vymazání dat vazby")); 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("Připojeno k centrále: ")); 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); //zapnutí LED stiskněte(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t akcelerometry[3] = {0}; getAccelerometer(akcelerometry); pokud (akcelerometry[2] > 0 && (abs(akcelerometry[0])>100||abs(akcelerometry[1])>100) && (millis()>(chrono+200))) { int mappedX = map(akcelerometry[0], -1023, 1023, -12, 12); int mappedY = map(akcelerometry[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Pak musíte Připojte svůj mobilní telefon k desce přes Bluetooth začít používat bezdrátovou myš.
Senzor počasí
Tento projekt je o něco složitější než ty předchozí, protože Budete potřebovat dvě desky Arduino, jednu Primo a jednu Primo Core. Ten druhý je zodpovědný za odeslání signálu do prvního, abyste mohli na webu vyhledávat teplotu v konkrétním městě. Kromě dvou panelů budete potřebovat CR2032 a chytrý telefon.
Budete muset připojit Arduino k příslušným pinům a pokračovat v zadávání těchto kódů do IDE:
#zahrnout #zahrnout #zahrnout 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 klient; 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; if ((byte = bleSerial.read()) > 0) { if (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Komunikace s WiFi modulem nebyla navázána."); } while (status != WL_CONNECTED) { print("Pokus o připojení k SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Připojeno k wifi"); println("\nZahajování připojení k serveru..."); if (client.connect(server, 80)) { println("připojeno k serveru"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Host: www.nytimes.com"); println("Připojení: zavřeno"); println(); } flag = true; } } while (flag) { while (client.available()) { char c = client.read(); if (c == 176 && count < 2) { if (count == 0) { fahrenheit[0] = memory[0]; fahrenheit[1] = memory[1]; fahrenheit[2] = memory[2]; } else { 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; } if (!client.connected()) { println(); println("odpojuji se od serveru."); if (fahrenheit[1] == 62){ fahrenheit[1] = 32; fahrenheit[0] = 32; } else if (fahrenheit[0] == 62){ fahrenheit[0] = 32; } if (celsius[1] == 40){ celsius[1] = 32; celsius[0] = 32; } else if (celsius[0] == 40){ celsius[0] = 32; } print("Teplota ve Fahrenheitech: "); print(fahrenheit); println("°"); print("Teplota v Celsiusech: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } if (bleSerial.status() == REKLAMA) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } jinak digitalWrite(LED dioda BLE, HIGH); }


















