Объявление

Свернуть
Пока нет объявлений.

Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • #31
    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

    Код будет примерно такой
    Код:
    #include <IRremote.h>
    
    IRsend irsend;
    unsigned int sams[2] ={114,8219}; 
    
    void setup()
    {
     Serial.begin(9600);
    }
    
    void loop() {
       irsend.sendRaw(sam, 2, 21);
    }

    Комментарий


    • #32
      Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

      спасибки , стало еще чуток пояцнее.
      тоесть мне не обязательно посылать куски из 17микросекунд, а можно сразу послать блок.
      твою картинку видел и про то, как реагирует приемник на импульсы я понял.

      вопрос в том, что я при помощи этого класса считывал данные
      получалось
      -8100 250 -8000 200 -8050 200 -8000 250 -8050 200 -8000 200 -8050 250 -8000 200 -8050 250 -8050 200
      это, где минус это пауза.
      вроде как всё сходится ну а 8000 + 200 это и есть полный период (8333)

      значит блоки 200 и 250 и есть эти самые состоящие из 17мкс импульсов.

      правильно мыслю?

      откуда взялась частота 21?
      может мне проще работать с темиже настройками, с которыми я считывал и посылать сигналы также, тогда наверное всё сойдется?
      irsend.sendRaw(sam, 2, 21);
      это импульс 114,4 мкс промодулированный несущей частотой 20,576 КГц (1/(17,2 мкс + 31,4 мкс)).
      может если у меня частота 38, то тогда импуль становится 200?

      думаю проблема у меня еще в том, что луп у ардуино запускает два импульса в одну миллисекунду, изза этого у меня кавардак.
      нужно проштудировать эту тему
      Обсуждение всех нюансов развода в Германии. www.razvod.net

      Комментарий


      • #33
        Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

        Да, ширина импульса и несущая в оригинале могут отличаться так как этот протокол снимался со сторонього эмиттера, а не телика, плюс всякие задержки твоего регистратора на Меге. Было бы классно если бы ты смог найти осциллограф (или замутил приставку на звуковуху) и записал сигнал непосредственно с фотоприемника очков (я так понял ты их разобрал), с включение 3Д режима и т. д.

        Комментарий


        • #34
          Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

          вроде у дядьки есть осоциллограф, можно попытаться.
          только что это даст, ведь со стороны фотоприемника мы увидем только целые блоки. или тут речь идет о длинне блока?
          и почему именно приемник в очках? другой принимает по другому?
          может приемник очков к борду подрубить?

          может мне проще на борде софт поковырять и считать им еще разок с другой частотой?
          Обсуждение всех нюансов развода в Германии. www.razvod.net

          Комментарий


          • #35
            Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

            Почему на очках, чтобы отбросить возможные проблемы. Почему осциллограф, потому что этот вариант исключит всякие задержки связанные с обработкой, прерываниями и прочими задержками.
            Да мы увидим блоки, модуляция не столь важна, просто чтобы увидеть сигнал посылаемый теликом нужно сделать аналоговый приемник на фотодиоде и быстром операционном усилителе.
            Можешь попробовать подрубить очки к борде. Там будет два проводка общий и сигнал, не забудь убрать всю обвязку от старого приемника, сигнал подавай непосредственно на вход Меги, можно через резистор.

            Относительно дальности, есть еще очень важные параметры это длина волны ИК-излучения, у разных светодиодов она разная, поэтому твои очки могут запускаться только с 20 см. Я перебрал кучу китайского хлама пока нашел подходящие. У меня излучатель был на 4 диодах и давал пару метров. Но только не вздумай повесить столько на выход меги, тока порта не хватит, нужна раскачка на полевике, схему можеш глянуть на схеме эмиттера Петруса на mtbs3d.

            Комментарий


            • #36
              Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

              ясно, будем пробовать. сначало софтом настроить активацию, если не поможет то железом.
              не думаю что оссоцилограф может чтото, что не сможет воспринять борд, который программируется как душе угодно.
              но и это дело нужно будет проверить. лучше всего конечно в телик залезть и сигналы посчитывать идущие на передатчик, но это уже перебор.
              моя цель на данный момент понять и настроить самсунг очки, чтобы этот опыт применить к очкам сони.

              самый жесткач это запустить очки от сони не имея 3д монитора сони и синхронизация блюту->ир

              пс. хорошо, когда есть спец знающий это дело, ато в инете инфы маловато.
              Обсуждение всех нюансов развода в Германии. www.razvod.net

              Комментарий


              • #37
                Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                кстати по поводу асоцилофрафа через звуковуху, как это реализовать?
                тупо приемник запитать и ногу с сигналом подать на микрофон?
                http://www.lirc.org/ir-audio.html
                Suppose your IR-audio module is connected to the CD-IN input
                http://www.lirc.org/html/audio-alsa.html
                Обсуждение всех нюансов развода в Германии. www.razvod.net

                Комментарий


                • #38
                  Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                  Железо типа http://www.carhelp.info/forums/showt...l=1#post737486 стабилитроны можете не ставить если не будет сигналов больше 9-12 В. Это защита от превышения напр. обычно встроена в звуковуху. Я делал тупо 2 резистора.

                  Софт Virtins Multi-Instrument 3.1

                  Комментарий


                  • #39
                    Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                    ясненько, только вот у меня вроде в ноутбуках нет аналогового входа, а мак мини хз чем оснащен. бум думать.
                    жалко на амазоне ничего не нашел подходящего, так бы померял и отправил назад.

                    ну да ладно, для начала вечером дядьке звякну.

                    потом сюда посмотрю.
                    http://www.modellbauvideos.de/board/...va-oszi-joszi/
                    подобная звукавая усб карта имеется
                    Обсуждение всех нюансов развода в Германии. www.razvod.net

                    Комментарий


                    • #40
                      Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                      Ну если промерять и отправить то на Амазоне много продвинутых вещей есть, поиск по фразе usb oscilloscope

                      Комментарий


                      • #41
                        Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                        ну мне нужно на немецком и от самого амазон, с ними проблем меньше.
                        так вот такого к сожалению нет


                        OCR2B = OCR2A / 3; // 33% duty cycle

                        кстати что вот это такое? 33% от частоты
                        и почему нам нужно 21, а пашет с 34?
                        или если оригинал пашет с 21, то его без проблем читает любой приемник, просто 21 не так часто и сигнал яснее?
                        Обсуждение всех нюансов развода в Германии. www.razvod.net

                        Комментарий


                        • #42
                          Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                          33% это заполнение, русские используют обратную величину - скважность (глянь картинки в вики). Это длительность импульса / период импульсов * 100%. Тоесть 33% от периода занимает импульс и 67% от периода пауза.

                          21КГц (округлил 20,576 КГц) у меня получилось исходя из расчетов. частота=1/ период, период = 17,2 мкс + 31,4 мкс.

                          Несущую можно любую брать, которую сможет обработать приемник очков

                          Комментарий


                          • #43
                            Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                            нда, параюсь тут и ничего понять не могу
                            1.вроде как положение моей головы над уровнем передатчика играет роль
                            сижу как балбес бошкой мотаю. а порой не важно куда смотрю бац и очки активын....
                            2.твой код не пашет {114,8000} ему этого наверное мало
                            3.обрал одну пару в конце {150,8000,17,15,17,14,120}; вот таквот синхронит тудасюда без передышки
                            4.если в конце убрать последний импульс типо 120, то всё кердык, ничё не пашет.
                            5.={150,8000,17,15,17,14,130}; так 7 секунд синхронит как бешаный и потом отрубает очки, через секунду по новой

                            пс. глаза уже болят. немного перепишу код, чтобы менять частоту и тп не подружая класс и буду играться дальше
                            Обсуждение всех нюансов развода в Германии. www.razvod.net

                            Комментарий


                            • #44
                              Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                              вытащил код, чтобы можно было без библиотеки работать

                              Код:
                              // Provides ISR
                              #include <avr/interrupt.h>
                              
                              unsigned int samsung[] ={150,8000,17,15,17,14,120,8000,100}; 
                              unsigned int sams[2] ={114,8219}; 
                              
                              void setup(void) {
                               enableIROut(34);
                               Serial.begin(115200);
                               Serial.println("Ready");
                              }
                              
                              void loop(void) {
                               sendRaw(samsung, 9); 
                               //sendRaw(sams, 2); 
                              }
                              
                              void sendRaw(unsigned int buf[], int len)
                              {
                               
                               for (int i = 0; i < len; i++) {
                                Serial.println(i);
                                if (i & 1) {
                                 space(buf[i]);
                                } 
                                else {
                                 mark(buf[i]);
                                }
                               }
                               space(0); // Just to be sure
                              }
                              
                              void enableIROut(int khz) {
                               Serial.println("enableIROut");
                               TIMSK2 &= ~_BV(TOIE2); //Timer2 Overflow Interrupt
                               pinMode(3, OUTPUT);
                               digitalWrite(3, LOW); // When not sending PWM, we want it low
                               TCCR2A = _BV(WGM20);
                               TCCR2B = _BV(WGM22) | _BV(CS20);
                               // The top value for the timer. The modulation frequency will be SYSCLOCK / 2 / OCR2A.
                               OCR2A = 16000000 / 2 / khz / 1000;
                               OCR2B = OCR2A / 3; // 33% duty cycle
                              }
                              
                              void mark(int time) {
                               TCCR2A |= _BV(COM2B1); // Enable pin 3 PWM output
                               delayMicroseconds(time);
                              }
                              
                              void space(int time) {
                               TCCR2A &= ~(_BV(COM2B1)); // Disable pin 3 PWM output
                               delayMicroseconds(time);
                              }
                              уже запутался, как пашет это дело, но вроде по другому.
                              думал, если я из класса всё вытащу что мне нужно то займется в борде меньсеh памяти, не тутто было.
                              ну зато можно менять переменные не ковыряясь в классе.

                              знаю что врубал при сетапе enableIROut(34); и при посыле RAW.
                              с этой фунцией тоже какието замарочки.

                              осцил приедет с дядькой в субботу и если я до тех пор не добью тему, то меня инетересует больше не то, что посылает телик, а то и каким хером посылает борд. как по мне то посылает он чтото не ладное и "17,15,17,14" активирует очки, чего не делает врубление передатчика на 150мкс
                              Обсуждение всех нюансов развода в Германии. www.razvod.net

                              Комментарий


                              • #45
                                Re: Active 3D Glasses Sync (Part1: IR Sync with Arduino Board )

                                пока на работе изучаю тему осцилоскопов
                                кучу всяких приложений нашел и под андроид и под что угодно.
                                до субботы буду проверять
                                http://sui77.wordpress.com/2011/05/1...skop-fur-arme/

                                нашел такую тему для ардуино.
                                вот там вижу на картинках, что сигналы и помельче считываются.
                                попробую этой софтиной считать сигнал с телика, ну и еще и готовым классом, только 50мкс периуд уменьшу, тогда наверное у меня будут циферки поточнее
                                8100,250,8000,200,8050,250,7950,250,8050,200,8000, 250,8000,250,8000,200,8050,200,8050,250

                                явно здесь проблема, тк циклы /50 что очки наверное не в состоянии вкурить тк это неправильные данные

                                пс. сонивские очки уже пришли, надо коды для других очков поискать, тк очки сони подходят почти ко всем теликам с ир синхронизацией
                                Обсуждение всех нюансов развода в Германии. www.razvod.net

                                Комментарий

                                Обработка...
                                X