Chủ đề tương tự
Ngày đăng:
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);
}
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); }