Bác có nhận làm cho các xe khác không?Chùm chăn hết 1 tuần em đã thành công khiển vô lăng USB sử dụng bo mạch Arduino cho đầu android:
1. Chức năng chính:
Hãy tượng tượng khi đang lái xe, các cụ muốn hiện màn hình dẫn đường bấm một nút, khi đang ở đâu đó muốn về nhà - bấm một nút, khi đang dẫn đường muốn hiện màn hình xem video - bấm một nút nào đó... tất cả trên vô lăng thuận lợi và tiện dụng.
- Nhận tối đa 16 nút trên vô lăng;
- Mỗi nút cho phép gán từ 3 chức năng (đầu không root) đến 6 chức năng (đầu đã root): các chức năng có thể thực hiện như: next bài, lùi bài, tăng giảm âm lượng, mở ứng dụng (mở dẫn đường, xem phim, nghe nhạc, gọi khiển giọng nói...v.v.); Các chức năng này gán theo cách bấm: ví dụ (click - bấm đơn, longpress - giữ nút, double click - bấm đúp, double click press - bấm đúp và giữ nút, trible click - bấm 3 lần, trible click press - bấm 3 lần và giữ nút)
- Không can thiệp gì vào hệ thống điện của xe cũng như đầu android, lắp dây KEY1 và Key GND nguyên bản của xe vào mạch và chạy.
- Cần kết hợp phần mềm Remap Button trên CH Play với mạch này để gán chức năng các nút.
2. Mã nguồn nạp vào arduino:
Mã:const unsigned int APin = A0, DPin = 15; /**/ byte i; unsigned int value = 1023, b[8] = { 1,//Mute 2,//Mode 3,//Vol+ 4,//Vol- 5,//Seek+ 6,//Seek- 7,//Answer 8//Hangup }, cs[8] = { 0xE2,//Mute 0xCD,//Mode -> Play/Pause 0xE9,//Vol+ 0xEA,//Vol- 0xB5,//Seek+ 0xB6,//Seek- 0xB2,//Answer -> Record 0xB7//Hangup -> Stop }, delta[8]; void setup() { pinMode(DPin, INPUT); Consumer.begin(); for (byte i = 0; i < 8; i++) { delta[i] = 20;} } void loop() { if (value <= (900) || !digitalRead(DPin)) { for (i = 0; i < 8; i++) { if ((value >= (b[i] - delta[i])) && (value < (b[i] + delta[i]))) { press(cs[i]); } else { releaseAll(); } } } else { releaseAll(); } delay(50); }