
Eğer birini arıyorsan Arduino kartı WiFi üzerinden internete bağlanan, teknolojiyi kullanın Bluetooth ve NFC sonra model Primo Projeleriniz için idealdir.
Bu durum, yüksek kaliteli bağlantı özellikleri ve işlevselliğini önemli ölçüde artıran diğer bileşenleri sayesinde mümkün olmaktadır.Bu unsurlardan biri de şu kümedir: MCU İyi bir bağlantıyı sürdürmek için kullanılanlar.
Eğer bir şeyle nasıl çalışacağınızı öğrenmek istiyorsanız Arduino Primo kartıOkumaya devam etmeniz gerekecek. Size en iyi fikirlerin yer aldığı bir liste göstereceğiz. Bunu kendiniz yapabilirsiniz.
Arduino Primo kartları nedir ve bu açık kaynaklı donanım kartları ne için kullanılır?
La Arduino Primo kartı Bu, Amerika Birleşik Devletleri'nde geliştirilen ve 2016'da piyasaya sürülen bir modeldir. Kontrolcülerinde 32 bit mimari, dijital giriş ve çıkış için 14 pin ve analog girişler için 6 pin bulunmaktadır..
Bu olabilir çok çeşitli projeler oluşturmak, özellikle pil içerenlerKızılötesi alıcı ve verici ile pil şarj cihazı içerdiği için, ayrıca bir ağ kartı da bulunmaktadır. WiFi ve Bluetooth, böylece yapabilirsin IoT alanında çalışmak.
Arduino Primo geliştirme kartlarının özel özellikleri nelerdir?
Arduino Primo kartında bulabileceğiniz en öne çıkan özellikler şunlardır:
- Bu tabağın ölçüsü şöyledir: 7,62 x 5,08 cm. ve 85 gram ağırlığındadır.
- Bağlanabilir Kablosuz internet, vasıtasıyla Bluetooth ve yakın alan iletişimi teknolojisi aracılığıyla NFC.
- İçinde 3 adet mikrodenetleyici bulunmaktadır.nRF52832, STM32f103 ve ESP8266, sırasıyla kartın ana mikrodenetleyicisi, program hata ayıklama ve WiFi bağlantısı için görev yapmaktadır.
- O sahibi 14 dijital pin Giriş ve çıkış pinleri arasında 12 tanesi darbe işaretleyici veya PWM olarak kullanılabilen bir yapıya sahiptir. Ayrıca şunlara da sahiptir: 6 analog giriş pini.
- Bir bağlantı noktası var. MicroUSBbir antenle NFC Bir sesli uyarı, sıfırlama ve güç düğmesi.
- Ayrıca 64 MHz rezonatörlü bir pil şarj cihazı.
- Çalıştığı voltaj şudur: 3VBu nedenle dikkatli olmak gerekir. Parçaları yakmayın..
- ile çalışmak WiFi protokolü 11 milyar en 2.4 GHz frekans.
Geliştirilmiş bağlantı: Arduino Primo'nun bu özelliğinden en iyi şekilde nasıl yararlanılır?
Arduino Primo kartının sunduğu bağlantı özelliklerinden daha iyi yararlanmak için IDE'ye Arduino NRF52 Core kartını eklemeniz gerekecek..
Bunu yapmak için Araçlar'a gidin, ardından Panolar'ı ve son olarak Pano Yöneticisi'ni seçin:
- Ardından yeni bir pencere açılacak ve bu pencerede NRF52 Çekirdeğini seçmeniz gerekecek..
- İşletim sistemi yüklü bir bilgisayarda çalışıyorsanız bunu aklınızda bulundurmalısınız. Windows veya MacOS kullanıyorsanız sürücü yüklemenize gerek yok.Ancak, eğer kullanırsanız Linux Zorunda olacaksın betiği çalıştır Bunu resmi internet sitesinde bulabilirsiniz. arduino.
https://www.arduino.cc/en/Sh/Txt - Bundan sonra yapmanız gerekecek seri portu ekleBunu yapmak için giriş yapmanız gerekecek. IDE ve tıkla Araçlar ve sonra Seri port menüsüBurada, kartınızın bağlı olduğu portun adını bulacaksınız.
- Ortamı yükledikten sonra (üzerine tıklayarak) Program ve sonra Yükle), ihtiyacınız olacak WiFi üzerinden internete bağlanınBunu, ağ bağdaştırıcısını açıp ardından bilgisayarınızdaki Ağ menüsüne erişerek yapabilirsiniz. Bunu çok kolay bulacaksınız. SSID, çünkü adını taşıyor Arduino Kuzeni.
- Tarayıcınızda adresi girmeniz gerekecek.
http://192.168.240.1/Böylece anakartın yapılandırma seçeneklerine erişebilirsiniz. Ardından menüye gitmeniz gerekecek. Bağlantı Wi-Fi şifrenizi girmeniz ve ardından üzerine dokunmanız gerekecek. BAĞLAN. - Son olarak, Arduino'nun IP adresi görünecektir.Bu nedenle, ayarlar panelinden durumu değiştirmeniz gerekecektir. STA MODUNA GEÇİNBu sayede daha iyi bağlantı elde edebilirsiniz.
Arduino Primo kartlarını kullanarak geliştirebileceğiniz proje fikirlerinin listesi
Aşağıda Arduino Primo ile kendi başınıza yapabileceğiniz en iyi projelerin listesini bulacaksınız:
Kalp atış hızı monitörü
Yapabileceksiniz Arduino Primo kartı kullanılarak oluşturulabilir.bir nabız sensörü için kalp atış hızı bilgisi elde etmek ve bağlantı için gerekli kablolar. İlk yapmanız gereken şey, sensörün PWR ucunu 3.3V'a bağlamak; ardından GND ucunu kartın GND ucuna ve sinyali A0 kanalına bağlamaktır.
Ardından, bu programlama kodlarını girmeniz gerekecek:
#katmak #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 cihazı aktif, bağlantılar bekleniyor..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Central'a bağlı: "); println(central.address()); // BLE LED'ini aç 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("Central'dan bağlantı kesildi: "); 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++; sonI = i; } } } kalp atış hızı = 6000 * (sayı - 1) / toplamSüre; const unsigned char heartRateCharArray[2] = { 0, (char)heartRate }; setValue(heartRateCharArray, 2); //Serial.print("kalp atış hızı: "); //Serial.println(kalp atış hızı); }
Multimedya oynatıcıda mobil cihaz üzerinden fare kontrolü
Düğme tipi bir pile ihtiyacınız olacak. CR2032, bir tabak Arduino Primo Core ve bir cep telefonu ile Bluetooth Aktif.
IDE ile çalışırken herhangi bir devre kartına ihtiyacınız olmayacak, bu nedenle kodları doğrudan girmeniz yeterli olacaktır:
#katmak #katmak #katmak #katmak #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 - clearing bond data")); 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("Central'a bağlı: ")); 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); // LED'i aç press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t accelerometers[3] = {0}; getAccelerometer(accelerometers); Eğer (ivmeölçerler[2] > 0 ve (ivmeölçerler[0]'ın mutlak değeri > 100 || (ivmeölçerler[1]'in mutlak değeri > 100) ve (millis() > (kronometre + 200)) ise, x tamsayısını atayarak (ivmeölçerler[0], -1023, 1023, -12, 12) ve y tamsayılarını atayarak (ivmeölçerler[1], -1023, 1023, -12, 12) x tamsayısını atayarak (ivmeölçerler[1], -1023, 1023, -12, 12) x tamsayısını atayarak (vme(x, y))
O zaman yapmalısın Cep telefonunuzu Bluetooth aracılığıyla karta bağlayın. Kablosuz fareyi kullanmaya başlamak için.
Hava durumu sensörü
Bu proje, önceki projelere göre biraz daha karmaşık, çünkü İki adet Arduino kartına ihtiyacınız olacak, biri Primo diğeri Primo Core. İkincisi, birincisine sinyal göndererek belirli bir şehrin sıcaklığını internette aramanızı sağlar. İki panele ek olarak, şunlara da ihtiyacınız olacak: CR2032 ve bir akıllı telefon.
Arduino'yu ilgili pinlerine bağlamanız ve IDE'ye bu kodları girmeye devam etmeniz gerekecek:
#katmak #katmak #katmak 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; Eğer (byte = bleSerial.read()) > 0 ise, WiFi modülüyle iletişim kurulamadıysa "WiFi modülüyle iletişim kurulamadı." yazdırılır. Durum "WL_CONNECTED" değilse, "SSID'ye bağlanmaya çalışılıyor: "" yazdırılır. SSID'nin durumu "WiFi.begin(ssid, pass)" olarak ayarlanır ve 10000 saniye geciktirilir. "WiFi'ye bağlandı" yazdırılır. "\nSunucuya bağlantı başlatılıyor..." yazdırılır. İstemci sunucuya bağlanıyorsa, "Sunucuya bağlandı" yazdırılır. "GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1" yazdırılır. "Ana bilgisayar: www.nytimes.com" yazdırılır. "Bağlantı: kapatıldı" yazdırılır. } bayrak = true; } } while (bayrak) { while (istemci.kullanılabilir()) { char c = istemci.oku(); if (c == 176 && sayım < 2) { if (sayım == 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]; } sayım++; } memory[0] = memory[1]; memory[1] = memory[2]; memory[2] = memory[3]; memory[3] = c; } if (!istemci.bağlandı()) { println(); println("Sunucudan bağlantı kesiliyor."); Eğer (fahrenheit[1] == 62) { fahrenheit[1] = 32; fahrenheit[0] = 32; } aksi takdirde eğer (fahrenheit[0] == 62) { fahrenheit[0] = 32; } eğer (celsius[1] == 40) { celsius[1] = 32; celsius[0] = 32; } aksi takdirde eğer (celsius[0] == 40) { celsius[0] = 32; } print("Fahrenheit cinsinden sıcaklık: "); print(fahrenheit); println("°"); print("Celsius cinsinden sıcaklık: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } if (bleSerial.status() == ADVERTISING) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } else digitalWrite(BLE_LED, HIGH); }


















