IRMP: Unterschied zwischen den Versionen
(→Konfiguration) |
(→Konfiguration) |
||
Zeile 28: | Zeile 28: | ||
== Konfiguration == | == Konfiguration == | ||
− | │ │ | + | Jedes unterstützte IR-Protokoll "verbrät" Speicher an Code. Deshalb sollte man nur die benötigten Protokolle auswählen. Eine detailierte Übersicht über die Protokolle gibt der [http://www.mikrocontroller.net/articles/IRMP#Die_IR-Protokolle_im_Detail Artikel im Mikrocontroller Forum]. |
− | │ │ | + | |
− | │ │ | + | │ │ Load a Default Configuration ---> |
− | │ │ | + | │ │ General Setup ---> |
+ | │ │ Network ---> | ||
+ | │ │ I/O ---> | ||
... | ... | ||
− | │ │ | + | │ │ [*] IR Receivers ---> |
... | ... | ||
− | │ │ | + | │ │ [*] IRMP IR ---> |
... | ... | ||
│ │ [*] Send IRMP IR-codes | │ │ [*] Send IRMP IR-codes |
Version vom 16. Oktober 2010, 15:17 Uhr
IRMP ist eine Portierung des Infrarot-Multiprotokoll-Decoders nach Ethersex.
Inhaltsverzeichnis
Anschluss
Der Empfang der IR-Signale erfolgt durch einen Empfänger vom Typ TSOP1736 (oder ähnlich). Dieser kann an einen beliebigen Pin angeschlossen werden. Die Abfrage des Pins und die Dekodierung des IR-Protokolls erfolgt in einer ISR, die einen 8-Bit-Timer des ATMEGAs belegt.
Beim Senden wird das Signal mit der Trägerfrequenz des jeweiligen IR-Protokolls über PWM moduliert. Dazu wird ein weiterer 8-Bit Timer ATMEGAs (OC0/OC2) belegt.
Beispiel für m32 aus: pinning/hardware/pollin_evalboard.m4
ifdef(`conf_IRMP', `dnl pin(IRMP_RX, PD2) #define IRMP_USE_TIMER0 #define IRMP_RX_LOW_ACTIVE #undef IRMP_RX_LED_LOW_ACTIVE pin(IRMP_TX, PD7) dnl OC2 ')
Bedeutung:
- IRMP_RX - Pin an dem der IR-Empfänger angeschlossen ist
- IRMP_USE_TIMER0 - benutzer Timer0 für den Empfang, Timer2 für das Senden (undef = umgekehrt)
- IRMP_RX_LOW_ACTIVE - der IR-Empfänger ist Low-Akriv (undef = High-aktiv)
- IRMP_RX_LED_LOW_ACTIVE - die Kontroll-LED des Empfängers ist gegen USS geschaltet (undef = gegen GND geschaltet)
- IRMP_TX - Pin an dem der IR-Sender angschlossen is (=Ausgang des Timer0 oder Timer2, vgl. IRMP_USE_TIMER0)
Konfiguration
Jedes unterstützte IR-Protokoll "verbrät" Speicher an Code. Deshalb sollte man nur die benötigten Protokolle auswählen. Eine detailierte Übersicht über die Protokolle gibt der Artikel im Mikrocontroller Forum.
│ │ Load a Default Configuration ---> │ │ General Setup ---> │ │ Network ---> │ │ I/O ---> ... │ │ [*] IR Receivers ---> ... │ │ [*] IRMP IR ---> ... │ │ [*] Send IRMP IR-codes │ │ [*] IRMP ecmd │ │ --- Protocols │ │ [ ] SIRCS │ │ [*] NEC │ │ [ ] JVC │ │ [ ] SAMSUNG │ │ [ ] MATSUSHITA │ │ [ ] KASEIKYO │ │ [*] DENON │ │ [ ] RECS80 │ │ [ ] RECS80EXT │ │ [*] RC5(X) │ │ [ ] RC6 │ │ [ ] NUBERT │ │ [*] BANG&OLUFSEN │ │ [*] GRUNDIG │ │ [ ] NOKIA │ │ [*] SIEMENS │ │ [ ] FDC │ │ [ ] RCCAR │ │ --- Debugging Flags │ │ [ ] IRMP Debug