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


von Alex (Gast)


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.
1
#include "avr\io.h"
2
#include "avr\interrupt.h"
3
#include "inttypes.h"
4
#include "avr\eeprom.h"
5
6
7
uint16_t eeTest[32] EEMEM;
8
uint16_t Test[32];
9
10
int main() {
11
  //INIT
12
  MCUCR = (1 << ISC10);
13
  TIMSK = (1 << TOIE1);
14
  GICR |= (1 << INT1);
15
  Test[31] = 0x0000;
16
  sei();
17
  DDRD = (1 << PD6) | (1 << PD7);
18
  PORTD = (1 << PD7);
19
  DDRB |= (1 << PB0);
20
  while(1){
21
    if ( Test[31] ){
22
      for ( uint8_t i = 0; i<=31; i++){
23
        eeprom_write_word( &eeTest[i], Test[i] );
24
      }
25
    }
26
    
27
  }
28
  return 0;
29
  
30
}
31
32
ISR(INT1_vect){
33
  static uint8_t a = 0;
34
  TCCR1B = 0x00;
35
  PORTD ^= (1 << PD6);
36
  
37
  //eeprom_write_word( &eeTest[a], TCNT1 );
38
  Test[a] = TCNT1;
39
  a++;
40
  TCNT1 = 0x0000;
41
  TCCR1B = (1 << CS12) | (1 << CS10);
42
  if ( a == 31) GICR &= ~(1 << INT1);
43
}
44
//Schutz falls TIMER überläuft
45
ISR(TIMER1_OVF_vect){
46
  GICR &= ~(1 << INT1);
47
  PORTB = (1 << PB0);
48
}

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

von tcfkat (Gast)


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.

von Düsentrieb (Gast)


Lesenswert?

guck mal hier: yamaha ir protokolle...
http://lirc.sourceforge.net/remotes/yamaha/

von Annegret (Gast)


Lesenswert?

Ich wuerd's mal zuerst mit dem Scope verifizieren.

von Alex (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.