Итак, я писал вот тут
http://www.lasertagforum.org/viewtopic. ... start=1845 откуда добрые люди меня направили сюда. Написали мы простенький клон майлс тага. В нем:
стартовый бит 2400, паузы - 600, нолики - 600, единички - 1200. Используем ТСОП-ы 31236 и 4836, модуляция соответственно 36 кгц Диоды пока 6200, скоро приедет куча 6100. Вопрос к программистам - при приеме сигнала, какие границы/допуски вы используете? например, стартовый бит от 2240 мкс до 2560, нолики, пауза от 480 до 720 мкс , единичка от от 1088 мкс до 1312 мкс. Мы заметили, что если сужать допуски, то при помехах (яркий солнечный свет) чувствительность резко падает, почти ничего корректно принять не можем. Стоит расширить до описаных выше значений - все в норме. Но слишком широкие границы также уменьшают помехо устойчивость, которая реализуется протоколом. И да, передаем всего 8 бит данных, больше нам не надо. Старшие 4 бита - номер передатчика, младшие - класс устройства передатчика. Старший бит идет первым. МК - атмега8, кварц 16 мгц. Прием - прерывание на INT0, передача - таймер2, режим CTC. На осциллографе все работает отлично, несущая не плывет, тайминги выдерживаются +-4 такта.
Максимальная длительность посылки (0b11111111) составляет:
2400мкс+600+(1200+600)*7+1200=16,8 мс.
Минимальная (0b00000000):
2400мкс+600+(600+600)*7+600=12 мс.
И да, на диод подаем 12 вольт, через резистор 10 ом. Транз - кт972. На резиторе при передаче напряжение 8.4 вольта, т.е. ток порядка 0,84 А