Техника

Как реализовать ввод параметров в МК AVR через фотодиод?

Так как в каждом телефоне сейчас устанавливается ИК дистанционка, то удобно было бы её использовать для ввода информации в МК.
Есть программатор
"AVR USB AVRISP XPII (AVRISP mkII), внутрисхемный AVR/XMEGA программатор с поддержкой ISP и PDI интерфейсов".
https://www.chipdip.ru/product/usb-avrisp-xpii-avrisp-mkii
Микросхема у меня "ATtiny2313-20PU, Микроконтроллер 8-Бит, AVR, 20МГц, 2КБ Flash [DIP-20]".
https://www.chipdip.ru/product/attiny2313-20pu
И фотодиод "BPW34, PIN фотодиод 430...1010нм".
https://www.chipdip.ru/product/bpw34
Как уже сказали, фотоприёмник лучше взять интегральный (TSOP), туда сразу встроен полосовой фильтр. Ну а дальше изучай ИК-протоколы и пиши программу для МК.
Можешь протоколы и примеры программ для avr вот тут посмотреть:
http://radiohlam.ru/nec/ - протокол пультов nec
http://radiohlam.ru/rc-5/ - philips
http://radiohlam.ru/sirc/ - sony
ТЮ
Третьяк Юрий
6 836
Лучший ответ
Тафкиль Фаизов Спасибо.
Протоколы пультов чем то похожи на штрихкоды.
Тафкиль Фаизов Я ПРОСТО подцепил ФД-256, без резисторов и мудрений, и Attiny2313 реагирует с пульта от телека на расстоянии сантиметров до 10.
Это всё же лучше кнопки!
Только фотодиод между минусом и входом надо цеплять, в определённую сторону его электропроводности.
Надо ещё попробовать BPW34, они дешевле и проку в них больше.
Тафкиль Фаизов Цепляю фд256 к attiny2313 обратной проводимостью к gnd и (rxd либо txd) и настраиваю на вход логическую единицу, реагирует глуповато, но всё же реагирует.
Фотодиоду высокочувствительный усилитель нужен, что бывает не всегда просто. Лучше наверное взять какой нибудь готовый TSOP
Женёк .
Женёк .
62 761
Тафкиль Фаизов Незнаю, скорее всего, но этот фотодиод тянет наушники.
Тафкиль Фаизов Я ПРОСТО подцепил ФД-256, без резисторов и мудрений, и Attiny2313 реагирует с пульта от телека на расстоянии сантиметров до 10.
Это всё же лучше кнопки!
Только фотодиод между минусом и входом надо цеплять, в определённую сторону его электропроводности.
Надо ещё попробовать BPW34, они дешевле и проку в них больше.
Тафкиль Фаизов Цепляю фд256 к attiny2313 обратной проводимостью к gnd и (rxd либо txd) и настраиваю на вход логическую единицу, реагирует глуповато, но всё же реагирует.
Сама идея трагична... нет сто процентной гарантии нормальной работы - вам наплевать что в микропроцессор зальете ?
Виктор Лян
Виктор Лян
71 963
Тафкиль Фаизов Я ПРОСТО подцепил ФД-256, без резисторов и мудрений, и Attiny2313 реагирует с пульта от телека на расстоянии сантиметров до 10.
Это всё же лучше кнопки!
Только фотодиод между минусом и входом надо цеплять, в определённую сторону его электропроводности.
Надо ещё попробовать BPW34, они дешевле и проку в них больше.
Тафкиль Фаизов Цепляю фд256 к attiny2313 обратной проводимостью к gnd и (rxd либо txd) и настраиваю на вход логическую единицу, реагирует глуповато, но всё же реагирует.
к сожалению, у самого лежит пульт и ик-приёмник, но не разбирался ещё как это всё соорудить, да и задачи ещё не стояло такой, чтобы что-то собирать. Что делает фотодиод? насколько я знаю, он меняет своё сопротивление если на него посветить. Тогда просто подсоедини его к ножке микроконтроллера, а сам фотодиод на землю посади, а ножку микроконтроллера подтяни к плюсу питания, чтобы на нём всегда единичка была. Когда свет будет попадать на фотодиод, фотодиод будет сажать ножку на 0 и ты в программе будешь это отслеживать. А там уже смотри что в программе делать. Более вероятно тебе в программе надо будет просто реализовать какой-то из протоколов. Протокол производителя твоего пульта или с чего ты там будешь слать сигналы. Могу подсказать как проще реализовать программу. В этом случае более удобнее будет применить режим захвата таймера. У attiny2313 он есть у таймера 1,я точно знаю. Но тебе наверное это уже подсказали. Если не подсказали, то подскажу. Настраиваешь таймер на режим захвата, ждёшь когда на ноге появится первый ноль или единица (в зависимости от того, какой протокол, потому что насколько я знаю, есть протоколы где линия обычно находится в единице, а всё кодируется нулём, а бывает наоборот), и таймер сразу начинает считать время до момента, когда произойдёт следующий импульс. Когда импульс происходит, то таймер резко закидывает время в свой регистр и ты можешь так знать сколько прошло времени и дальше делать с ним что хочешь, а таймер можно снова настроить на подсчёт. Самое главное нужно запомнить, что в режиме захвата фотодиод нужно будет подключить к какому-то конкретному порту контроллера, потому что такие режимы привязаны. Не знаю, помог ли, но у самого руки ещё до работы с протоколами не дошли. Раньше читал только про них.
Адемi____ ___Jan
Адемi____ ___Jan
26 399
Тафкиль Фаизов Я ПРОСТО подцепил ФД-256, без резисторов и мудрений, и Attiny2313 реагирует с пульта от телека на расстоянии сантиметров до 10.
Это всё же лучше кнопки!
Только фотодиод между минусом и входом надо цеплять, в определённую сторону его электропроводности.
Надо ещё попробовать BPW34, они дешевле и проку в них больше.
Тафкиль Фаизов Цепляю фд256 к attiny2313 обратной проводимостью к gnd и (rxd либо txd) и настраиваю на вход логическую единицу, реагирует глуповато, но всё же реагирует.