Ich verwende ein Arduino Mega2560 mit Ethernet shield und möchte damit per Ethernet, Funksteckdosen schalten.
Das Senden funktioniert, aber das Receive nicht.
Was ich getestet habe:
An Pin2 ist habe ich zu Testzwecken direkt den Sender angeschlossen.=> TTL-Pegel mit Oszi überprüft. Okay.
Das Programm Basics\DigitalReadSerial getestet. => Signale gehen auf das richtige Pin und werden im Serial Monitor angezeigt.
Das Programm RCswitch\ReceiveDemo_Simple getestet. => keine Anzeige am Serial Monitor.
Im if (mySwitch.available()) ein else mit Serial.print(“not availaible“) eingefügt. => Der springt nie in das if ???
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 0) {
Serial.print("Unknown encoding");
} else {
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.print("Protocol: ");
Serial.println( mySwitch.getReceivedProtocol() );
}
mySwitch.resetAvailable();
}
else { Serial.print(“not availaible“); }
}
Mit der Library RCswitch kenne ich mich nicht aus. Wann liefert die die Daten ?
Wie kann ich jetzt den Fehler weiter eingrenzen ?
Was für eine IDE verwendet Ihr ?
IDE: Arduino 0023 und Arduino 1.0.4 getestet. RCswitch: RCswitch_2.51.zip