IR-Signal aufnahme- Kann das sein?

Gast #631895
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
Gast #632033
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren