hallo,
habe jetzt die ganze schaltung gezeichnet:

Anhang 26912
kann man hier auch pdf als bild (und nicht als anhang) hochladen?
ich habe auch ein paar fotos:


der zweiter USB-stecker war notwendig, weil beim neuen netzteil (zwei USB-ausgänge, weil ja auch die ladestation von dort versorgt werden soll) die orientierung des USB-steckers anders war, die dioden hätten gegen die wand gesendet 
das ganze funktioniert jetzt auf die entfernung von einem meter. Immer noch viel zu wenig und gefühlt mehr oder weniger vom zufall abhängig, ob der RP6 empfängt, oder nicht.
die blinkfrequenz kann ich "nach dem gefühl" auf ca. 2x/sec, 5x/sec und 10x/sec einstellen, das wäre jetzt erstmal genau genug, es geht mir ja hier nur darum, dass die IR-dioden ein bischen abkühlen können und ich den strom, der dort durchfließt erhöhen kann. Die vorwiderstände sind momentan 22 ohm und - da ich das schlecht messen kann - gefühlt ist die "lichtleistung" der blinkenden IR-dioden (in einer kamera beabachtet) dreimal so hoch, als mit den 47 ohm...
die abfrage (und die ausgabe im LCD display) des empfangs wird durch den aufruf dieser funktion in der main-schleife realisiert:
Code:
void read_IR_value(void)
{
I2CTWI_transmitByte(I2C_RP6_BASE_ADR, 30); // Start with register 30
I2CTWI_readBytes(I2C_RP6_BASE_ADR, ir_value, 1);
clearLCD();
setCursorPosLCD(0, 2);
writeStringLCD_P("pb2_value: ");
setCursorPosLCD(0, 13);
writeIntegerLengthLCD(ir_value[0], DEC, 4);
setCursorPosLCD(2, 1);
writeStringLCD_P("0000 = IR bake OK");
// setCursorPosLCD(2, 2);
// writeIntegerLengthLCD(ir_value[0], DEC, 4);
}
die ausgabe übers display ist m.e. nach viel zu langsam. Ich glaube auch, dass der sender und der RP6 sich gegenseitig austricksen, weil wenn der einer sendet, empfängt der andere gerade nicht und umgekehrt. Ich möchte folgenermassen vorgehen:
der IR- empfänger "füllt" ein array von der größe von 30-50 bytes(?) in seiner eigenen geschwindigkeit und überschreibt die werte wenn der platz voll ist. Die abfragefunktion sollte auf das array zugreifen und den inhalt auswerten. Das kann durchaus langsammer als das empfangen der IR-signale geschehen. Wenn die abfrage - das ist jetzt einfach nur eine hausnummer - 10 "ok" zeichen hintereinander als bestätigung eines IR-empfangs findet macht der RP6 irgendwas. Blebt stehen, piepst die ode an die freude oder was auch immer...
wie gehe ich das jetzt an? Mit arrays habe ich noch nichts gemacht
Lesezeichen