www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik IR-Signal aufnahme- Kann das sein?


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

versuche mich gerade im Aufnehmen von IR Signalen und wollte mal eure 
einschätzung haben, ob das so sein kann(oder ob ich gegen alle Regeln 
der Messtechnik verstoße).

Ziel: Wecker mit AVR, der Anlage einschaltet, Radio auswählt,... . Dazu 
will ich die Tasten einteachen.
#include "avr\io.h"
#include "avr\interrupt.h"
#include "inttypes.h"
#include "avr\eeprom.h"


uint16_t eeTest[32] EEMEM;
uint16_t Test[32];

int main() {
  //INIT
  MCUCR = (1 << ISC10);
  TIMSK = (1 << TOIE1);
  GICR |= (1 << INT1);
  Test[31] = 0x0000;
  sei();
  DDRD = (1 << PD6) | (1 << PD7);
  PORTD = (1 << PD7);
  DDRB |= (1 << PB0);
  while(1){
    if ( Test[31] ){
      for ( uint8_t i = 0; i<=31; i++){
        eeprom_write_word( &eeTest[i], Test[i] );
      }
    }
    
  }
  return 0;
  
}

ISR(INT1_vect){
  static uint8_t a = 0;
  TCCR1B = 0x00;
  PORTD ^= (1 << PD6);
  
  //eeprom_write_word( &eeTest[a], TCNT1 );
  Test[a] = TCNT1;
  a++;
  TCNT1 = 0x0000;
  TCCR1B = (1 << CS12) | (1 << CS10);
  if ( a == 31) GICR &= ~(1 << INT1);
}
//Schutz falls TIMER überläuft
ISR(TIMER1_OVF_vect){
  GICR &= ~(1 << INT1);
  PORTB = (1 << PB0);
}

IM EEPROM steht dann:

:020000020000FC
:100000000000470011000500FD0247001000060037
:10001000FC02480010000600FC0247001100050029
:10002000FD02470011000500FD0247001000060018
:10003000FC02480010000600FC0247001100050009
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:00000001FF


Als IR-Empfänger verwende ich einen TSOP , der mit PULLup an INT1 hängt.
Takt 8MHz. Fernbedienung für meine Yamaha Stereoanlage.

Ich komme mit diesem Aufbau an zeiten zwischen 2ms und 9ms.

0xFD02 wird wohl die PAUSE zwischen den Signalen sein, da ich die TASTE 
ständig gedrückt hatte. Habe leider kein OSZI mitdem ich das 
verifizieren könnte, mir kommen die Impulse nur ein bischen wenig vor.

mfg Alex

Autor: tcfkat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorsicht, die TSOPs haben interne Bandpässe, die an das verwendete IR- 
Protokoll angepasst sind. Welches IR-Protokoll verwendet Deine FB? Die 
Protokolle sind im Netz zu finden, muss man nicht reverse-engineeren... 
üblich ist z.B. RC5 bei Philips.

Autor: Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guck mal hier: yamaha ir protokolle...
http://lirc.sourceforge.net/remotes/yamaha/

Autor: Annegret (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wuerd's mal zuerst mit dem Scope verifizieren.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hätte,

da nen Link von Yamaha, leider is er tot. Weiß jemand wie man da noch 
hinkommt???

http://www.yamaha.com/yec/customer/ir_codes.htm

mfg Alex

P.S. Muss jetzt Arbeiten - Studiengebühren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.