Guten Abend leute,
bräuchte Hilfe bei meinem Projekt, wobei ich mit Hilfe eines arduino nanos und einer IR-Diode meine Stereoanlage steuern will. Ich will das Signal zum an/ausschalten der Stereoanlage senden, wenn es eine Signaländerung an Port 6 gibt, da ich dort einen schalter positionieren will, den man drückt und auf High bleibt oder auf LOW bleibt, und wenn dass das Signal von an zu aus wechselt oder von aus zu an soll es einmal das signal senden, nicht die ganze Zeit. Wenn ich den Code kompilieren will, dann kommt zwar keine Fehlermeldung, aber wenn ich ein Signal an Port 6 anliegen habe und es sich stetig ändert, passiert trotzdem nichts. Habe aber alles richtig angeschlossen.Hier mein Code:
# define stereo 6 // nehmen wir mal an, Pin 6
boolean switchstereoChanged() {
static int oldState = LOW; // oder auch HIGH, je nachdem
int currentState = digitalRead(stereo);
if(currentState == oldState) //wenn low dann= low
return false;
oldState = currentState;
return true;
}
#include <IRremote.h>
IRsend irsend;
void setup()
{
}
void loop()
{
if (switchstereoChanged()) {
unsigned int rawData[99] = {3350,1600, 400,450, 400,450, 350,1300, 400,450, 350,1300, 400,400, 400,1300, 350,450, 400,450, 400,1250, 400,450, 400,400, 400,1300, 350,1300, 400,450, 350,450, 400,450, 350,450, 400,450, 350,500, 350,1300, 400,400, 400,1300, 350,450, 400,1300, 350,450, 400,450, 350,450, 400,1300, 350,1300, 400,450, 350,450, 400,450, 400,400, 400,450, 400,450, 350,450, 350,500, 400,1250, 400,450, 400,1250, 400,450, 350,450, 350,500, 400,450, 350,1300, 350,450, 400,450, 400}; // NEC 4B36D32C
irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), 38);
}
}
Wäre schön wenn mir jemand schnell antworten könnt.
Wünsche euch noch einen schönen Abend ![]()
Gruß
Lukas