Страница 28 из 35 ПерваяПервая ... 1822232425262728293031323334 ... ПоследняяПоследняя
Показано с 271 по 280 из 344
  1. #271
    Новичок
    Регистрация
    21.09.2011
    Возраст
    36
    Сообщений
    2
    Вес репутации
    0

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    спасибо, но помоему дело не в размере,на сколько я смог понять с прерываниями



    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::mark(int)':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:258: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:258: error: 'COM2B1' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::space(int)':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:267: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:267: error: 'COM2B1' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::enableIROut(int)':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:286: error: 'TIMSK2' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:295: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:296: error: 'TCCR2B' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:296: error: 'WGM22' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:299: error: 'OCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:300: error: 'OCR2B' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::enableIRIn()':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:314: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:319: error: 'TCCR2B' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:324: error: 'TIMSK2' was not declared in this scope

  2. #272
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    200

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    У меня приемник будет находится от Ардуино на расстоянии 2м. Где лучше размещать фильтр питания? Непосредственно возле приемника, или возле ардуино?

  3. #273
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Непосредственно возле приемника

  4. #274
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Цитата Сообщение от SilverRain Посмотреть сообщение
    спасибо, но помоему дело не в размере,на сколько я смог понять с прерываниями



    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::mark(int)':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:258: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:258: error: 'COM2B1' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::space(int)':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:267: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:267: error: 'COM2B1' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::enableIROut(int)':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:286: error: 'TIMSK2' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:295: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:296: error: 'TCCR2B' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:296: error: 'WGM22' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:299: error: 'OCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:300: error: 'OCR2B' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::enableIRIn()':
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:314: error: 'TCCR2A' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:319: error: 'TCCR2B' was not declared in this scope
    C:\Robo\arduino-0022\arduino-0022\libraries\IRremote\IRremote.cpp:324: error: 'TIMSK2' was not declared in this scope
    Похоже что несовместимость с таймером Timer2
    Последний раз редактировалось Chip; 26.09.2011 в 17:12.

  5. #275
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    200

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Еще вопрос...

    У меня на выводах 3 и 11 подключены светодиоды, которые при определенных собитиях плавно вкл. и откл.. Но после подключения этой библиотеки, ШИМ на этих выводах почему-то отключился... и они резко акл. и откл. Что может быть?

    P.S. в коде естественно сделал int RECV_PIN = 12;

  6. #276
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Подключи светодиоды на 5 ,6 выводы они тоже могут выдавать хардверный ШИМ на другом таймере

    Pins 5 and 6: controlled by Timer 0
    Pins 9 and 10: controlled by timer 1
    Pins 11 and 3: controlled by timer 2

  7. #277
    Местный
    Регистрация
    20.06.2011
    Возраст
    40
    Сообщений
    170
    Вес репутации
    200

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Цитата Сообщение от Chip Посмотреть сообщение
    Подключи светодиоды на 5 ,6 выводы они тоже могут выдавать хардверный ШИМ на другом таймере

    Pins 5 and 6: controlled by Timer 0
    Pins 9 and 10: controlled by timer 1
    Pins 11 and 3: controlled by timer 2
    на выводах 5,6,9 и 10 естественно тоже подключены светодиоды... но каких-либо ньюансов в их работе не заметил...

    т.э. получается не выйдет использовать шим на выводах 11 и 3 при подключеной этой библиотеки?

  8. #278
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Выводы 11 и 3 используют таймер2, этот же таймер используется для читалки пульта

  9. #279
    Пользователь
    Регистрация
    11.02.2010
    Возраст
    40
    Сообщений
    28
    Вес репутации
    187

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Переделал скетч, чтобы удержание кнопки на пульте давало другой код. Пока нашел этому 2 применения: кнопка "положить трубку" при удержании закрывает активное окно (в Girder на это событие нужно включить антиповтор, чтобы все окна разом не закрыть)), а кнопки "вперед" / "назад" при удержании включают перемотку в AIMP. Очень удобно!

    Пульт от пионера, при нажатии кнопок телефона, всегда сначала шлет код 0xB54AE916, а потом код клавиши. Это было учтено в алгоритме.

    Скетч затачивался под Girder33, поэтому для использования в других программах нужно будет изменить код функции printIR.

    PHP код:
    #include <IRremote.h>

    //вход ИК приемника
    #define RECV_PIN  11

    // Задержка на повтор клавиши
    #define REPEAT_DELAY 500

    // Время ожидания повторения
    #define REPEAT_WAIT 100

    //----------------------------
     
    IRrecv irrecv(RECV_PIN);
    decode_results result;
    unsigned long IR_old;     // предыдущий принятый код
    unsigned long pressTime// время, когда впервые нажалась кнопка пульта
    unsigned long rcTime;
    boolean IR_received;
     
    void setup()
    {
        
    Serial.begin(115200);
        
    IR_old 0;
        
    irrecv.enableIRIn(); // включить приемник
    }
     
    void loop() {
        
    IR_received false;
        if (
    irrecv.decode(&result)) {
            if (
    result.value 0) {
                
    // Код годится.
                
    if (IR_old == result.value || result.value == 0xB54AE916) {
                    
    // Получили тот же код, что в последний раз
                    
    if ((millis() - pressTime) > REPEAT_DELAY && result.value != 0xB54AE916) {
                        
    // Шлем код удержания
                        
    printIR(result.valuetrue);
                    }
                } else {
                    if (
    result.value != 0xB54AE916) {
                        
    IR_old result.value;
                    }
                    
    pressTime millis();
                }
                
    IR_received true;
                
    rcTime millis();
            }
            
    irrecv.resume();
        }
        
        if (!
    IR_received && IR_old 0) {
            
    // Если в течении определенного времени никакой код не пришел, отсылаем последний из кеша  
            
    if ((millis() - rcTime) > REPEAT_WAIT) {
                if ((
    millis() - pressTime) <= REPEAT_DELAY) {
                    
    printIR(IR_oldfalse);
                }
                
    IR_old 0;              
            }      
        }
    }

    void printIR(unsigned long codeboolean repeat) {
        
    Serial.print("IR:");
        
    Serial.print(repeat "R" "N");
        
    Serial.print(codeHEX);
        
    Serial.print(13BYTE);


  10. #280
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Управление компьютером, любым ИК пультом.

    Заново переписанная программа, скетч из шапки, настройки аналогичны Joystick

    Возможности программы:
    1-Программа при запуске прячется в трей и если устройство не подключено то перечеркивает иконку в трее красными линиями.
    2-Программа запустится даже без подключенного устройства, после подключения устройства программа начнет автоматически работать.
    3-Программа работает только с устройством Joystik и не конфликтует с другими устройствами программами работающих с драйвером FTDI
    Тоесть Вы можете подключить еще Carduino,Pultik и другие устройства параллельно.
    4-Программа имеет всего один *.exe фаил, настройки горячих клавиш осуществляются в программе.
    5-Программа автоматически переключает раскладку клавиатуры в (EN) при получении команды нажатия горячих клавиш.
    6-Программа автоматически прописывается(удаляется) в автозагрузку нажатием 1 кнопки.
    7-Программа имеет кнопку отключения звукового сопровождения
    8-При потере сигнала от USB к которому подключено устройство, программа прячется в трей и ждет когда устройство появится то есть его подключат к ПК, после появления устройства в системе программа автоматически подхватит его и продолжит работу.
    9-Программа при выходе из сна производит переподключение устройства к USB порту. Для гарантированной работы устройства
    10-Программа стала универсальной и имеет возможность работать с большим количеством устройств(буду выкладывать прошивки по мере возможности)
    Вложения Вложения
    • Тип файла: rar IRKey.rar (1.15 Мб, Просмотров: 504)
    Последний раз редактировалось Chip; 16.11.2011 в 02:13.

Страница 28 из 35 ПерваяПервая ... 1822232425262728293031323334 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •