скетч для покупного ик пульта
- Войдите на сайт для отправки комментариев
Сб, 27/02/2016 - 09:00
/* ИК датчик подключен на D2, т.к. на него прерывание 0 */ byte n = 0; word keycode = 0; unsigned long tm = 0; unsigned long last; char ch = ' '; void setup() { pinMode(2, INPUT); // ir recv Serial.begin(115000); attachInterrupt(0, irread, FALLING); } void keypressed(); { n = 0; switch (keycode) { case 0x1FE: ch = '1'; break; case 0xFE: ch = '2'; break; case 0x817E: ch = '3'; break; case 0x41BE: ch = '4'; break; case 0x40BE: ch = '5'; break; case 0xC13E: ch = '6'; break; case 0x21DE: ch = '7'; break; case 0x20DE: ch = '8'; break; case 0xA15E: ch = '9'; break; case 0x609E: ch = '0'; break; case 0x619E: ch = '*'; break; case 0xE11E: ch = '#'; break; case 0x51AE: ch = 'L'; break; case 0x10EE: ch = 'U'; break; case 0xD12E: ch = 'R'; break; case 0x30CE: ch = 'D'; break; case 0x50AE: ch = 'M'; break; default: ch=' '; // Serial.println(keycode,HEX); } // Serial.print(ch); } void loop() { if (n == 32) { keypressed(); } } void irread() { tm = micros() - last; last = micros(); n += 1; if (tm > 3000) { keycode = 0; n = 0; } if (n > 8) { if (tm > 1500) keycode += 1; keycode = keycode << 1; } }
не использую IRREMOTE.H = китайский пульт понимает через раз, хотя тайминги сигнала снимает четко
опять же много места занимало
реакцию на кнопки пишем в подпрограмме keypressed
цифры * # = и так ясно :)
L U R D M = кнопки лево верх право низ ОК
если пульт другой, убираем комментарии перед print и смотрим коды кнопок в мониторе последовательного порта, заменяем в подпрограмме keypressed
можно подключать почти любые пульты
надеюсь что поможет кому-то сэкономить нервы и время
exit status 1
expected unqualified-id before '{' token
в строке
019 void keypressed(); {
//Как победить?
Убрать лишний символ.
Который?
Попробуйте методом тыка, если не понимаете, как функция пишется. Раза с третьего должно получиться.
При любом изменении разные ошибки получаются
before '{' - точное указание места лишнего символа. Если его удаление даёт другую ошибку, то её надо хотя бы знать, что бы что то советовать.
Благодарю за советы, в 19 строке точка с запятой лишняя.
Благодарю за советы, в 19 строке точка с запятой лишняя.
виноват.
как в верхнем сообщении изменить не нашел
скопировал с изменениями