Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )
Я предыдущий пример привел для простого кода который ты выложил на mtbs3d. Попытаюсь рожжевать на пальцах. Что такое период 8000 мкс это примерно 1/120 Гц = 8333 мкс – время за которое телик показывает 4 фрейма (2 пары), в начале каждого периода 8333 мкс нужно посылать синхро (но очки запоминают синхро и могут немного проработать на автомате).
Теперь про код который посылается ИК-передатчиком
17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс
это импульс 114,4 мкс промодулированный несущей частотой 20,576 КГц (1/(17,2 мкс + 31,4 мкс)).
Плохо, что у вас нет осциллографа или какого нибудь анализатора, тогда бы вы смогли снять сигнал с выхода фотоприемника очков (впрочем нечто подобное можно сделать на базе звуковой карты, резисторный делитель + софт) и увидели, что на выходе фотоприемника будет только импульс
114,4 мкс,
а не
17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс
тоесть несущую фотоприемник убирает.
Теперь перейдем к коду что тебе отсылать используя IRremote.h
Я просмотрел код заполнение модуляции там 33% это немного не соответствует оригиналу но проблем не будет.
Считаем паузу 8333 мкс - 114,4 мкс = 8218,6 мкс
Тоесть надо отправить 114, 8219
Код будет примерно такой
Я предыдущий пример привел для простого кода который ты выложил на mtbs3d. Попытаюсь рожжевать на пальцах. Что такое период 8000 мкс это примерно 1/120 Гц = 8333 мкс – время за которое телик показывает 4 фрейма (2 пары), в начале каждого периода 8333 мкс нужно посылать синхро (но очки запоминают синхро и могут немного проработать на автомате).
Теперь про код который посылается ИК-передатчиком
17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс
это импульс 114,4 мкс промодулированный несущей частотой 20,576 КГц (1/(17,2 мкс + 31,4 мкс)).
Плохо, что у вас нет осциллографа или какого нибудь анализатора, тогда бы вы смогли снять сигнал с выхода фотоприемника очков (впрочем нечто подобное можно сделать на базе звуковой карты, резисторный делитель + софт) и увидели, что на выходе фотоприемника будет только импульс
114,4 мкс,
а не
17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс, пауза 31,4 мкс, импульс 17,2 мкс
тоесть несущую фотоприемник убирает.
Теперь перейдем к коду что тебе отсылать используя IRremote.h
Я просмотрел код заполнение модуляции там 33% это немного не соответствует оригиналу но проблем не будет.
Считаем паузу 8333 мкс - 114,4 мкс = 8218,6 мкс
Тоесть надо отправить 114, 8219
Код будет примерно такой
Код:
#include <IRremote.h> IRsend irsend; unsigned int sams[2] ={114,8219}; void setup() { Serial.begin(9600); } void loop() { irsend.sendRaw(sam, 2, 21); }
Комментарий