
Nếu bạn đang tìm kiếm một Bo mạch Arduino kết nối với Internet qua WiFi, sử dụng công nghệ của Bluetooth và NFC, sau đó là mô hình Primo Sản phẩm này rất lý tưởng cho các dự án của bạn.
Điều này là nhờ khả năng kết nối chất lượng cao và các thành phần khác giúp cải thiện đáng kể khả năng vận hành của thiết bị.Một trong những yếu tố đó là tập hợp các MCU Chúng được sử dụng để duy trì kết nối tốt.
Nếu bạn muốn biết cách làm việc với một Bo mạch Arduino PrimoBạn sẽ phải tiếp tục đọc. Chúng tôi sẽ giới thiệu cho bạn danh sách những ý tưởng hay nhất. Bạn có thể tự làm điều đó.
Bo mạch Arduino Primo là gì và những bo mạch phần cứng mã nguồn mở này được sử dụng để làm gì?
La Bo mạch Arduino Primo Đây là một mẫu xe được phát triển tại Hoa Kỳ và ra mắt vào năm 2016. Nó có kiến trúc 32-bit trong bộ điều khiển, 14 chân cho đầu vào và đầu ra kỹ thuật số, và 6 chân cho đầu vào tương tự..
Nó có thể tạo ra nhiều dự án đa dạng, đặc biệt là những loại có kèm pin.Nó bao gồm bộ thu và phát hồng ngoại cùng bộ sạc pin. Ngoài ra, nó còn có một bo mạch mạng. WiFi và BluetoothDo đó, điều đó là có thể làm việc trong lĩnh vực IoT.
Bo mạch phát triển Arduino Primo có những tính năng đặc biệt nào?
Những tính năng nổi bật nhất mà bạn sẽ tìm thấy trên bo mạch Arduino Primo bao gồm:
- Chiếc đĩa này có kích thước là 7,62 x 5,08 cm. và nặng 85 gram.
- Nó có thể kết nối với WiFi, xuyên qua Bluetooth và thông qua công nghệ giao tiếp trường gần NFC.
- Nó có 3 vi điều khiển.Các vi điều khiển nRF52832, STM32f103 và ESP8266 lần lượt đóng vai trò là vi điều khiển chính của bo mạch, dùng để gỡ lỗi chương trình và kết nối WiFi.
- Sở hữu 14 chân kỹ thuật số các chân đầu vào và đầu ra, trong đó 12 chân có thể được sử dụng làm bộ đánh dấu xung hoặc PWM. Nó cũng có 6 chân đầu vào tương tự.
- Nó có một đầu nối MicroUSB, với một ăng-ten cho NFC, một cái còi báo động, các nút khởi động lại và nút nguồn.
- Cũng có bộ sạc pin với bộ cộng hưởng 64 MHz.
- Điện áp hoạt động của nó là 3VDo đó, người ta phải cẩn thận Đừng đốt cháy các linh kiện.
- Làm việc với một Giao thức WiFi 11bgn en 2.4 GHz tần số.
Khả năng kết nối được cải thiện: Làm thế nào để tận dụng tối đa tính năng này của Arduino Primo?
Để tận dụng tốt hơn khả năng kết nối mà bo mạch Arduino Primo cung cấp. Bạn cần thêm bo mạch Arduino NRF52 Core vào IDE..
Bạn có thể thực hiện việc này bằng cách vào Công cụ, sau đó chọn Bảng, và cuối cùng chọn Trình quản lý bảng:
- Một cửa sổ mới sẽ mở ra, trong đó... Bạn cần chọn lõi NRF52..
- Bạn nên nhớ rằng nếu bạn đang làm việc trên máy tính có hệ điều hành Dù bạn dùng Windows hay MacOS, bạn đều không cần cài đặt trình điều khiển.Tuy nhiên, nếu bạn sử dụng Linux bạn sẽ phải chạy kịch bản Bạn sẽ tìm thấy nó trên trang web chính thức của Arduino.
https://www.arduino.cc/en/Sh/Txt - Sau đó, bạn sẽ phải thêm cổng nối tiếpĐể làm điều đó, bạn cần đăng nhập vào IDE và bấm vào Công cụ và sau đó trong Menu cổng nối tiếp, nơi bạn sẽ tìm thấy tên của cổng mà bo mạch của bạn được kết nối.
- Sau khi tải lên môi trường (bằng cách nhấp vào) Chương trình và sau đó trong Tải lên), bạn sẽ cần Kết nối Internet qua WiFiBạn có thể thực hiện việc này bằng cách bật bộ chuyển đổi mạng và sau đó truy cập vào menu Mạng trên máy tính của mình. Bạn sẽ dễ dàng tìm thấy nó. SSID, vì nó mang tên đó Arduino Cousin.
- Trong trình duyệt của bạn, bạn cần nhập địa chỉ.
http://192.168.240.1/Như vậy bạn có thể truy cập vào các tùy chọn cấu hình của bo mạch chủ. Sau đó, bạn cần vào menu. Conexión Bạn cần nhập mật khẩu Wi-Fi của mình rồi nhấn vào. KẾT NỐI. - Cuối cùng, Địa chỉ IP của Arduino sẽ hiển thị.Do đó, bạn cần thay đổi trạng thái từ bảng cài đặt thành CHUYỂN SANG CHẾ ĐỘ STABằng cách này, bạn có thể có được khả năng kết nối tốt hơn.
Danh sách các ý tưởng dự án bạn có thể phát triển bằng bo mạch Arduino Primo.
Dưới đây là danh sách những dự án hay nhất bạn có thể tự thực hiện với Arduino Primo:
máy theo dõi nhịp tim
Bạn sẽ có thể Tạo bằng bo mạch Arduino Primomột cảm biến xung cho thu thập thông tin nhịp tim và các dây cáp cần thiết để kết nối. Việc đầu tiên bạn nên làm là kết nối chân PWR của cảm biến với nguồn 3.3V; sau đó kết nối chân GND với chân GND của bo mạch và chân tín hiệu với kênh A0.
Tiếp theo, bạn cần nhập các mã lập trình sau:
#bao gồm #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("Thiết bị Bluetooth đang hoạt động, đang chờ kết nối..."); } void loop() { BLECentral central = blePeripheral.central(); if (central) { print("Đã kết nối với central: "); println(central.address()); } // Bật đèn LED BLE 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("Ngắt kết nối với trung tâm: "); 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(heartRateCharArray, 2); //Serial.print("Nhịp tim là: "); //Serial.println(heartRate); }
Điều khiển chuột thông qua thiết bị di động trong trình phát đa phương tiện
Bạn sẽ cần một viên pin cúc áo loại CR2032, một tấm Lõi Arduino Primo và một chiếc điện thoại di động với Bluetooth đã được kích hoạt.
Khi làm việc với IDE, bạn sẽ không cần đến bất kỳ bảng mạch nào, vì vậy bạn chỉ cần nhập trực tiếp các đoạn mã này:
#bao gồm #bao gồm #bao gồm #bao gồm #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("Đã kết nối với trung tâm: ")); 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); //bật đèn LED press(); count++; } else { digitalWrite(12, LOW); release(); count++; } } } int32_t accelerometers[3] = {0}; getAccelerometer(accelerometers); if (accelerometers[2] > 0 && (abs(accelerometers[0])>100||abs(accelerometers[1])>100) && (millis()>(chrono+200))) { int mappedX = map (accelerometers[0], -1023, 1023, -12, 12); int mappedY = map (accelerometers[1], -1023, 1023, -12, 12); int x = -1 * mappedX; int y = mappedY; move(x, y); }
Vậy thì bạn phải Kết nối điện thoại di động của bạn với bo mạch thông qua Bluetooth. Để bắt đầu sử dụng chuột không dây.
Cảm biến thời tiết
Dự án này phức tạp hơn một chút so với các dự án trước, bởi vì Bạn sẽ cần hai bo mạch Arduino, một bo mạch Primo và một bo mạch Primo Core. Thiết bị thứ hai chịu trách nhiệm gửi tín hiệu đến thiết bị thứ nhất để bạn có thể tìm kiếm nhiệt độ của một thành phố cụ thể trên web. Ngoài hai tấm pin năng lượng mặt trời, bạn sẽ cần thêm một số thiết bị khác. CR2032 và một chiếc điện thoại thông minh.
Bạn cần kết nối Arduino với các chân tương ứng và tiếp tục nhập các đoạn mã này vào IDE:
#bao gồm #bao gồm #bao gồm 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; if ((byte = bleSerial.read()) > 0) { if (WiFi.status() == WL_NO_WIFI_MODULE_COMM) { println("Không thiết lập được kết nối với module WiFi."); } while (status != WL_CONNECTED) { print("Đang cố gắng kết nối với SSID: "); println(ssid); status = WiFi.begin(ssid, pass); delay(10000); } println("Đã kết nối với wifi"); println("\nBắt đầu kết nối với máy chủ..."); if (client.connect(server, 80)) { println("Đã kết nối với máy chủ"); println("GET /gst/weather.html?detail=Cagliari--IY HTTP/1.1"); println("Máy chủ: www.nytimes.com"); println("Kết nối: đóng"); 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("đang ngắt kết nối khỏi máy chủ."); 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("Nhiệt độ tính bằng độ F: "); print(fahrenheit); println("°"); print("Nhiệt độ tính bằng độ C: "); 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); }


















