
Kung naghahanap ka ng isa Arduino board na kumokonekta sa Internet gamit ang WiFi, gamitin ang teknolohiya ng Bluetooth at nfc, pagkatapos ang modelo Muna Ito ay mainam para sa iyong mga proyekto.
Ito ay dahil sa mataas na kalidad ng pagkakakonekta at iba pang mga bahagi nito na lubos na nagpapabuti sa pagpapatakbo nito.Isa sa mga elementong iyon ay ang hanay ng MCU na ginagamit upang mapanatili ang isang maayos na koneksyon.
Kung gusto mong malaman kung paano makipagtulungan sa isang Arduino Primo boardKailangan mong ipagpatuloy ang pagbabasa. Ipapakita namin sa iyo ang isang listahan na may pinakamahusay na mga ideya na kaya mong gawin mismo.
Ano ang mga Arduino Primo board at para saan ginagamit ang mga open-source hardware board na ito?
La Arduino Primo board Ito ay isang modelo na binuo sa Estados Unidos at inilunsad noong 2016. Nagtatampok ito ng 32-bit na arkitektura sa mga controller nito, 14 na pin para sa digital input at output, at 6 para sa analog input..
Kaya nito lumikha ng iba't ibang proyekto, lalo na yung mga may kasamang bateryadahil nag-aalok ito ng infrared receiver at transmitter at battery charger. Mayroon din itong network board. WiFi at BluetoothSamakatuwid, posible nagtatrabaho sa IoT.
Ano ang mga espesyal na katangian ng mga Arduino Primo development board?
Ang mga pinakanatatanging tampok na makikita mo sa isang Arduino Primo board ay ang mga sumusunod:
- Ang platong ito ay kasing laki ng 7,62 x 5,08 cm. at tumitimbang ng 85 gramo.
- Maaari itong kumonekta sa WiFi, sa pamamagitan ng Bluetooth at sa pamamagitan ng teknolohiya ng komunikasyon malapit sa larangan NFC.
- Mayroon itong 3 microcontrollerAng nRF52832, ang STM32f103, at ang ESP8266. Ang mga ito ay gumagana bilang pangunahing MCU ng board, para sa pag-debug ng programa, at para sa koneksyon sa WiFi, ayon sa pagkakabanggit.
- Mga nagmamay-ari 14 digital na pin mga input at output pin, 12 sa mga ito ay maaaring gamitin bilang mga pulse marker o PWM. Mayroon din itong 6 na analog input pin.
- Mayroon itong konektor Micro USB, na may antena para sa nfc, isang buzzer at mga button para sa pag-reset at pag-power.
- Mayroon din isang charger ng baterya na may 64 MHz resonator.
- Ang boltahe kung saan ito gumagana ay 3VSamakatuwid, dapat mag-ingat ang isa sa huwag sunugin ang mga bahagi.
- Makipagtulungan sa a Protokol ng WiFi 11 bgn en 2.4 GHz ng dalas.
Pinahusay na koneksyon: Paano pinakamahusay na mapakinabangan ang tampok na ito ng Arduino Primo?
Para mas magamit ang koneksyon na iniaalok ng Arduino Primo board Kakailanganin mong idagdag ang Arduino NRF52 Core board sa IDE.
Magagawa mo ito sa pamamagitan ng pagpunta sa Tools, pagkatapos ay piliin ang Boards, at panghuli ay piliin ang Board Manager:
- Pagkatapos ay magbubukas ang isang bagong window kung saan Kakailanganin mong pumili ng NRF52 Core.
- Dapat mong tandaan na kung nagtatrabaho ka sa isang computer na may operating system Windows o MacOS hindi mo na kailangang mag-install ng mga driverGayunpaman, kung gagamitin mo Linux kailangan mong gawin patakbuhin ang iskrip Makikita mo ito sa opisyal na website ng Arduino.
https://www.arduino.cc/en/Sh/Txt - Pagkatapos nito, kakailanganin mo idagdag ang serial portPara magawa iyon, kakailanganin mong mag-log in sa IDE at mag-click sa Mga tool at pagkatapos ay sa Menu ng serial port, kung saan makikita mo ang pangalan ng port kung saan nakakonekta ang iyong board.
- Pagkatapos i-upload ang kapaligiran (sa pamamagitan ng pag-click sa Programa at pagkatapos ay sa magdusa), kakailanganin mo Kumonekta sa Internet gamit ang WiFiMagagawa mo ito sa pamamagitan ng pag-on sa network adapter at pagkatapos ay pag-access sa Network menu sa iyong computer. Madali mo itong mahahanap. SSID, dahil taglay nito ang pangalang Arduino pinsan.
- Sa iyong browser, kakailanganin mong ilagay ang address
http://192.168.240.1/para ma-access mo ang mga opsyon sa configuration ng motherboard. Pagkatapos, kakailanganin mong pumunta sa menu Koneksyon Kakailanganin mong ilagay ang iyong Wi-Fi password at pagkatapos ay i-tap ang KONEKTO. - Sa wakas, Lalabas ang IP address ng Arduino.Samakatuwid, kakailanganin mong baguhin ang status mula sa panel ng mga setting patungo sa Lumipat sa STA MODESa ganitong paraan, makakakuha ka ng mas mahusay na koneksyon.
Listahan ng mga ideya sa proyekto na maaari mong bumuo gamit ang mga Arduino Primo board
Sa ibaba makikita mo ang isang listahan ng mga pinakamahusay na proyekto na maaari mong gawin mismo gamit ang isang Arduino Primo:
Monitor ng tibok ng puso
Magagawa mo lumikha gamit ang isang Arduino Primo boardisang sensor ng pulso para sa kumuha ng impormasyon sa tibok ng puso at ang mga kinakailangang kable para sa koneksyon. Ang unang bagay na dapat mong gawin ay ikonekta ang PWR ng sensor sa 3.3V; pagkatapos ay ang GND sa GND ng board at ang signal sa channel na A0.
Susunod, kakailanganin mong ilagay ang mga programming code na ito:
#isama #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("Aktibo ang Bluetooth device, naghihintay ng mga koneksyon..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Nakakonekta sa central: "); println(central.address()); //i-on ang BLE led digitalWrite(BLE_LED, HIGH); habang (central.connected()) { kung (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; kung (n == 300) { n = 0; findHeartRate(averageSample); } delay(1); } } print("Nakadiskonekta mula sa central: "); 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; para sa (int i = 0; i < 300; i++) { goOverThreshold = (sample[i] > (averageSample * setThreshold)); kung (goOverThreshold != trendState) { trendState = goOverThreshold; kung (goOverThreshold == false) { kung (count > 0) { totalTime = totalTime + (i - lastI); } count++; lastI = i; } } } heartRate = 6000 * (count - 1) / totalTime; const unsigned char heartRateCharray[2] = { 0, (char)heartRate}; setValue(heartRateCharArray, 2); //Serial.print("Ang heartRate ay: "); //Serial.println(heartRate); }
Kontrol ng mouse gamit ang mobile device sa isang multimedia player
Kakailanganin mo ng bateryang button cell na uri CR2032, isang plato Arduino Primo Core at isang cellphone na may Bluetooth isinaaktibo.
Kapag gumagamit ng IDE, hindi mo kakailanganin ang anumang circuit board, kaya kakailanganin mo lang direktang ilagay ang mga code na ito:
#isama #isama #isama #isama #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 - pag-clear ng data ng bond")); 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); kung (central) { print(F("Nakakonekta sa central: ")); println(central.address()); count = 0; while (central.connected()) { digitalWrite(LED_BUILTIN, HIGH); kung (tap) { tap = 0; uint8_t status = 0; getStatusSingleTapDetection(&status); kung (status) { kung (count % 2 == 0){ digitalWrite(12, HIGH); //i-on ang led press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t accelerometers[3] = {0}; getAccelerometer(accelerometers); kung (mga accelerometer[2] > 0 at (abs(mga accelerometer[0])>100||abs(mga accelerometer[1])>100) at(millis()>(chrono+200))) { int mappedX = map (mga accelerometer[0], -1023, 1023, -12, 12); int mappedY = map (mga accelerometer[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Kung gayon kailangan mo Ikonekta ang iyong mobile phone sa board gamit ang Bluetooth para simulang gamitin ang wireless mouse.
Sensor ng panahon
Medyo mas kumplikado ang proyektong ito kaysa sa mga nauna, dahil Kakailanganin mo ng dalawang Arduino board, isang Primo at isang Primo Core. Ang huli ay responsable sa pagpapadala ng signal sa una upang makapaghanap ka sa web para sa temperatura ng isang partikular na lungsod. Bukod sa dalawang panel, kakailanganin mo rin ng CR2032 at isang smartphone.
Kakailanganin mong ikonekta ang Arduino sa kani-kanilang mga pin at ipagpatuloy ang pagpasok ng mga code na ito sa IDE:
#isama #isama #isama 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(); kung (bleSerial at Serial) { int byte; kung ((byte = bleSerial.read()) > 0) { kung (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Hindi naitatag ang komunikasyon sa WiFi module."); } habang (status != WL_CONNECTED) { print("Sinusubukang kumonekta sa SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Nakakonekta sa wifi"); println("\nNagsisimula ang koneksyon sa server..."); kung (client.connect(server, 80)) { println("nakakonekta sa server"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Host: www.nytimes.com"); println("Koneksyon: malapit"); println(); } flag = totoo; } } habang (flag) { habang (client.available()) { char c = client.read(); kung (c == 176 && bilang < 2) { kung (bilang == 0) { fahrenheit[0] = memory[0]; fahrenheit[1] = memory[1]; fahrenheit[2] = memory[2]; } kung hindi { celsius[0] = memory[0]; celsius[1] = memory[1]; celsius[2] = memory[2]; } bilang++; } memorya[0] = memory[1]; memorya[1] = memory[2]; memorya[2] = memory[3]; memorya[3] = c; } kung (!client.connected()) { println(); println("nadidiskonekta mula sa server."); kung (fahrenheit[1] == 62){ fahrenheit[1] = 32; fahrenheit[0] = 32; } kung hindi kung (fahrenheit[0] == 62){ fahrenheit[0] = 32; } kung (celsius[1] == 40){ celsius[1] = 32; celsius[0] = 32; } kung hindi kung (celsius[0] == 40){ celsius[0] = 32; } print("Temperatura sa fahrenheit: "); print(fahrenheit); println("°"); print("Temperatura sa celsius: "); print(celsius); println("°"); stop(); write(celsius); flag = false; } } kung (bleSerial.status() == ADVERTISING) { digitalWrite(BLE_LED, LOW); delay(200); digitalWrite(BLE_LED, HIGH); delay(200); } kung hindi digitalWrite(BLE_LED, HIGH); }


















