loc4atnt gửi vào
- 13037 lượt xem
Xin chào mọi người! Sau đây mình xin giới thiệu với các bạn một board cực kì bá đạo cho các dự án xe robot. Đó là board Romeo BLE. Nó bá đạo về mọi mặt từ phần cấu hình đến phần lập trình và tất nhiên là cả giá @@.
Tổng quan
Romeo BLE là một board ba trong một. Nó là sự tích hợp của Arduino + BLE + module motor. Đây là một board được xây dựng dựa trên nền tảng mã nguồn mở Arduino, chính vì vậy bạn hoàn toàn có thể làm việc với nó như một board arduino thông thường. Với việc tích hợp trình điều khiển 2 kênh động cơ giúp cho bạn không cần phải lắp thêm module động cơ nhằm tiết kiệm diện tích. Nhưng tính năng chủ chốt chính là bộ giao tiếp không dây với các thiết bị qua sóng Blutooth 4.0 BLE giúp các bạn điều khiển chiếc xe, robot của mình qua các thiết bị ấy.
Thông số kỹ thuật
Cơ bản
- Vi điều khiển: ATmega328P
- Bootloader: UNO Arduino
- On-board BLE chip: TI CC2540
- 14 pin digital I / O
- 6 đầu ra PWM (Pin11, Pin10, Pin9, Pin6, Pin5, Pin3)
- 8 cổng đầu vào analog 10-bit
- 3 cổng I2C
- 5 bút nhấn
- Nguồn cung cấp: USB hoặc DC 2.1mm
- Nguồn công suất motor: 5-23V
- DC đầu ra: 5V / 3.3V
- Kích thước: 94mm x 80mm
Tính năng
- Tự động cảm biến / chuyển đổi điện áp đầu vào bên ngoài
- Phạm vi truyền: 70m trong không gian tự do
- Úp code từ xa cho board bằng blutooth
- Có thể giả lập Bluetooth HID (Như chuột hay bàn phím không dây)
- Cho phép sư dụng lệnh AT để cấu hình BLE
- Cho phép kết nối Serial không dây
- Dễ dàng chuyển đổi giữa master và salve
- Header cho arduino có 2 hàng đực và cái, có các header GND và 5V giống breakboard
- 2 mạch cầu H cho 2 kênh motor, chịu được dòng tối đa 2A
- Ổ cắm tích hợp cho APC220 RF Module
Sơ đồ pin
Một số dự án sử dụng Romeo BLE
- Dây phơi đồ điều khiển qua điện thoại, có thể cho thêm tính năng tự thu khi trời mưa.
- Làm xe robot thì quá đỉnh luôn (Vì khoảng cách điều khiển xa tới 70m trong môi trường không vật cản). Ngoài ra, còn có nhiều header giống một breadboard, tha hồ mà cắm.
Code mẫu
Sau đây là đoạn code nói về việc Serial không dây để điều khiển led 13, úp code không dây luôn nha. Nhưng để làm được điều này chúng ta sẽ cần kết nối máy tính với một thiết bị gọi là BLE-Link. Sau đó cài đặt BLE-Link là master và Romeo BLE là slave (Trên 2 board có nút chuyển đổi).
Code nè
int led = 13; char rcv_buf[10]; void setup() { pinMode(led, OUTPUT); Serial.begin(115200); } void loop() { int data_len=0; while(1) { while(Serial.available()) { rcv_buf[(data_len++)%10] =Serial.read(); } if(rcv_buf[data_len-2]== '\r' && rcv_buf[data_len-1]=='\n') // Stop reading the serial once getting the ending command. break; } if ((data_len==4)&&(!strncmp(rcv_buf,"ON",2))) // Open the light L when the command is "ON". { digitalWrite(led, HIGH); // Set D13 pin as high and openg the light L Serial.println("LIHGT ON"); }else if((data_len==5)&&(!strncmp(rcv_buf,"OFF",3))) // Close the light L when the command is "OFF". { digitalWrite(led, LOW); // Set D13 pin as low and the light L Serial.println("LIHGT OFF"); } }
Kết luận
Như vậy ta đã vừa tìm hiểu xong board Romeo BLE, một board cực kì bá đạo cho các dự án xe robot, chính vì cấu hình khá bá đạo nên giá cũng chát lắm (chát tê lưỡi luôn ý chứ @@ ), giá nó khoảng 58$ (Gần 1triệu2). Cảm ơn đã theo dõi.