ich (Anfänger) bin gerade dabei eine Funkverbindung mithilfe der 433MHz-Frequenz und einem Magnetschalter eine LED zu schalten. Als Sender nutze ich einen ProMini, als Empfänger einen Uno.
Mein Ziel: sobald der Magnetschalter am Sender geöffnet ist, soll die LED am Empfänger leuchten. Wenn der Kontakt wieder geschlossen wird, soll die LED aufhören.
Problem: wenn der Schalter geschlossen ist, ist alles gut. Ich erhalte dann im Seriellen Monitor nur den richtigen Wert (in meinem Fall 2).
Doch wenn ich den Schalter öffne, "blinkt" die LED, und das in einem unregelmäßigen Takt.
Am Magnetschalter kann's nicht liegen, denn ohne Funkmodule funktioniert er (auch schon ausgetauscht). Die Funkmodule habe ich auch schon ausgewechselt.
Wo ist der Funk-Empfänger angeschlossen?
Wenn D0, könnte die serielle Ausgabe der Arduino Dir einen Streich spielen.
Selber spiele ich gerade mit NRF24L01-Modulen, bin Da aber auch noch komplett am Anfang - hier muß man sich selber nicht darum kümmern, ob das Empfangene 'richtig' ist, auch 'schwätzen' die Module miteinander oder senden die Nachricht öfter (Das ist allerdings nur WWW-Nachgeplapper )
Davex81:
Falls du den Eingangspin des Schalters meinst - habe versucht einen Widerstand (5k) zu verwenden, hat jedoch nichts verändert.
Da du nur einen Eingangspin verwendest, kann nur der gemeint sein.
Und du musst es nicht nur versuchen, sondern du musst ihn def. verwenden.
Der wird zwingend gebraucht.
Aber deine Schaltung ist falsch, oder der Sketch.
Wenn du auf HIGH abfragst, musst du den Pin auch gegen HIGH schalten, oder deine Logik ändern.
Dann brauchst du einen Pulldown-Widerstand.
Bei deiner Schaltung musst du auf LOW abfragen und brauchst einen Pullup-Widerstand.
Dein nächstes Problem ist, dein Sender sendet ständig. Damit handelst du dir u.U. großen Ärger ein.
Mit den Nachbarn oder mit den Behörden.
Ein Sender im ISM-Band darf sollte nur kurz senden, um andere nicht zu stören.
wapjoe:
Hier ginge auch der interner Pullup des Arduino, so hab ich zumindest an meinem Tacho so gemacht und es funktioniert hervorragend.
Natürlich geht der auch, nur der TO muss sich erst mal klar darüber werden, worauf er abfragt und wie er den Kontakt beschaltet.
Im Moment ist es nur Gebastel ohne zu Wissen was da läuft.
Hat sich erledigt.
Ich frage nun nach LOW ab, benutze den 5k Widerstand und habe zusätzlich was an der Verkablung verändert.
Natürlich ziemlich einfach - wenn man's kann. :
Danke für die Hilfe!
Na prima....ist doch gut, wenn es jetzt funktioniert.
Danke für die Rückmeldung.
Ist jedoch merkwürdig, dass du nach Low abfragst und einen Pulldown-Widerstand verwendest. Der geht ja auch auf GND.
Also da ist noch etwas nicht ganz sauber.
Üblich ist ein Pullup-Widerstand, wenn nach Low abgefragt wird.
Dann musst du nur die Logik umdrehen.
Davex81:
Hat sich erledigt.
Ich frage nun nach LOW ab, benutze den 5k Widerstand und habe zusätzlich was an der Verkablung verändert.
Natürlich ziemlich einfach - wenn man's kann. :
Danke für die Hilfe!
Du hättest du Verkabelung wie zuvor lassen können und den internen Pullup des Uno einschalten können:
Im Setup pinMode(9, INPUT); ändern auf pinMode(9, INPUT_PULLUP);
HotSystems:
Ist jedoch merkwürdig, dass du nach Low abfragst und einen Pulldown-Widerstand verwendest. Der geht ja auch auf GND.
Also da ist noch etwas nicht ganz sauber.
Üblich ist ein Pullup-Widerstand, wenn nach Low abgefragt wird.
Dann musst du nur die Logik umdrehen.
Wenn ich nach Pullup umbauen will, muss ich doch den Widerstand an VCC, und am anderen Ende des Widerstands dann den Schalter, richtig?
Und zum Schluss nochmal der Tipp von mir, baue deinen Sketch so um, dass der Sender nur kurz sendet.
Zum Ein- bzw. Ausschalten.
Du ersparst dir viel Ärger.
HotSystems:
Und zum Schluss nochmal der Tipp von mir, baue deinen Sketch so um, dass der Sender nur kurz sendet.
Zum Ein- bzw. Ausschalten.
Du ersparst dir viel Ärger.
Zum Verständnis, hat 433 MHz nicht nur eine sehr geringe Reichweite, solange man keine passende Antenne installiert hat? Ich hab mal was von einer Antennengröße von 17,4 cm gelesen, sonst wäre die Reichweite nur auf wenige cm oder m geschränkt?!