ich habe einen TinyTX3 Funksensor aufgebaut. Hauptbestandteile sind ein Attiny84A-PU sowie ein Funkchip RFM12B-S1-433 Mhz.
Ich habe den Attiny mit folgendem Empfänger Skript bespielt.
Das Skript setzt PIN9 und PIN10 als Output. Sendet ein bestimmter Node (Node ID 1) ein Paket und ist der Wert entweder 100 oder 999 so wird jeweils ein PIN für 5 Sekunden auf HIGH gesetzt und fällt dann wieder auf LOW ab.
Am TinyTX3 habe ich zwei LEDs angeschlossen. Beide an einen entsprechenden Vorwiderstand an VCC sowie jeweils mit dem Minus Pol an PIN9 bzw. PIN10.
Mein Problem ist nun, das die beiden LEDs dauerhaft leuchten!
Ich habe das Skript oben (TinyTX_Water_RX.ino) dann so modifiziert, dass ich bei erfolgreichem Empfang des Funksingnals, einen der PINs kurz auf LOW setze. Nun sehe ich das die LED kurz ausgeht wenn ich das Funksignal sende, aber dann sofort wieder an.
Die LED scheinen aber ab dem Zeitpunkt wo ich pinMode(9, OUTPUT) setze dauerhaft auf HIGH zu stehen.
Also wenn der o.g. ORIGINAL Sketch von Nathan auf den Attiny geladen wird und ich dann eine Spannung am TinyTX3 anlege, gehen die beiden Pins 9 + 10 sofort auf HIGH mit knapp 3V. Das dürfte meiner Meinung nach nicht so sein. Ich habe es ohne LED mit einem Messgerät geprüft. Die anderen Pins bleiben auf 0V.
Attiny84A sind für sich genommen keine Arduino-kompatiblen Mikrocontroller, d.h. es gibt keine Arduino-Referenzdesigns für ein Board und es gibt insbesondere keine Arduino-Standard-Pinbelegung für diesen Controller.
Erst durch Installation zusätzlicher Core-Libraries kann dieser Controller in der Arduino-IDE genutzt werden. Und die Pinbelegung wird von der verwendeten Core-Library festgelegt. Da es diverse verschiedene Core-Libraries gibt, um Atttiny-Controller in der Arduino-IDE zu verwenden, und sich die Macher der diversen Core-Libraries offenbar nicht untereinander abgesprochen haben, gibt es nun diverse Attiny-Core-Libraries, die mit unterschiedlicher Pinnummerierung arbeiten.
Du mußt im Endeffekt dieselbe Attiny-Core-Library verwenden wie derjenige dessen Sketch Du kopierst, oder Pin-9 und Pin-10 sitzen womöglich bei Dir nicht dort, wo sie bei jemand anderem sitzen, der eine andere Attiny Core-Library verwendet.
Wo hast Du die von Dir verwendete Attiny-Core-Library heruntergeladen?
jurs:
Du mußt im Endeffekt dieselbe Attiny-Core-Library verwenden wie derjenige dessen Sketch Du kopierst, oder Pin-9 und Pin-10 sitzen womöglich bei Dir nicht dort, wo sie bei jemand anderem sitzen, der eine andere Attiny Core-Library verwendet.
Wo hast Du die von Dir verwendete Attiny-Core-Library heruntergeladen?
Hallo jurs,
ich bin dieser Anleitung gefolgt.
Es ist der erste Beitrag ziemlich in der Mitte. Dort wird beschrieben wie der Attiny vom Rapsberry Pi aus geflasht werden kann.
Ja, von der Seite stammt auch der Satz Attiny Core-Librarys, den derjenige verwendet, dessen Sketch Du kopiert hast.
Allerdings gibt es auch da nochmal zwei verschiedene Libraries:
Einmal für Arduino Versionen 1.0.x
Einmal für Arduino Versionen 1.5.x
Der von Dir genannte Link verweist auf die Libraries für Arduino Versionen 1.5.x.
Setzt Du diese Arduino-Version ein?
Wenn LEDs scheinbar genau entgegengesetzt angesteuert werden, kommt als Fehlerursache auch in Frage, dass die LEDs falsch an der Hardware angeschlossen sind. LEDs haben zwei verschiedene Anschlüsse "Anode" und "Kathode" und sie können unterschiedlich angeschlossen werden (jeweils mit Vorwiderstand in Reihe):
Anode an Arduino-Pin, Kathode an GND ==> HIGH= LED AN, LOW=LED AUS
Kathode an Arduino-Pin, Anode an +5V ==> LOW = LED AN, HIGH=LED AUS
Wenn die LED genau entgegengesetzt schaltet wie sie soll, also mal genau die Beschaltung der Hardware prüfen!
jurs:
Der von Dir genannte Link verweist auf die Libraries für Arduino Versionen 1.5.x.
Setzt Du diese Arduino-Version ein?
Hallo,
ich werde mal prüfen welche Library ich einsetze, danke!
Wenn ich die LED weg lasse und mit einem Voltmeter die PINs durchmesse, bekomme ich das gleiche verhalten nämlich das sie andauernd auf HIGH sind. Kann das sein?
Was macht denn der Blink Sketch, wenn du D9 oder D10 ansteuerst?
Auf der TinyTX Webseite wird auf eine Core-Library verwiesen, ebenso ist die dazu passende Pinbelegung dargestellt, damit hatte ich bisher keine Probleme.
danke euch Beiden für die Tipps!
Am Wochenende habe ich noch mal nachgeschaut und as Problem gelöst.
Es war ein Problem mit dem Anschluss der LED.
Ich hatte den Pluspol der LED zunächst am Pluspol des TinyTX und den Minus am Pin.
Das ist aber falsch. Der Pluspol der LED gehört an den PIN und der Minuspol der LED an den GND des TinyTx.
Problem gelöst, der Sketch arbeitet nun einwandfrei. Danke euch Beiden!
Wisst ihr zufällig noch wie ich von meinem RFM12Pi (bei OpenEnergyMonitor gekauft) einen Befehl an einen Node mit ID XY sende? Es gibt zwar eine Hilfe und dort steht auch wie es gemacht wird, jedoch hatte ich bisher keinen Erfolg damit.