Hi
eHz-Reader
- LCD 2004 (4 Zeilen a 20 Zeichen, in meinem Fall I²C)
- Drehencoder (Alps, eBay)
- IR-LED eines TCRT5000L (CNY70 müsste auch gehen)
Per SoftwareSerial wird der Datenstrom eines eHz-Zähler aufgenommen.
Dieser wird im Display in den ersten zwei Zeilen angezeigt, obere Zeile als HEX, 2.te Zeile als ASCII (sofern nicht unter 0x21).
Weiter werden in der 2.ten Zeile die Bytes markiert, Die zur Berechnung herangezogen werden.
In der 3.ten Zeile kann man die Breite einstellen (8, 16, 24, 32 Bit),
in der 4.ten Zeile, ob Big- oder Little-Endian.
In der 4.ten Zeile wird neben der Zeichennummer des ersten angezeigten Zeichen auch die Telegramm-Länge angezeigt.
Auf meinem Schreibtisch 30 Byte.
Ganz Rechts steht der Wert des Test-'Byte' in DEZ - max 32 Bit, da Das vom Arduino selber noch berechnet wird - allerdings reichen 4 Byte Breite (=32 Bit) lauf den Informationen, Die ich im INet gefunden habe, für alle Werte, Die so ein Zähler ausspuckt.
Das ist mein erster Sketch in mehreren (ok, nur zwei) Tabs.
Leider bekomme ich beim Kompilieren Warnungen, Die mir nicht viel sagen - oha, mittlerweile bekomme ich auch Warnungen bei den 'constrain'-Zeilen, womit ich den Einstellbereich abgrenzen wollte (aber leider auch Krücken brauchte).
Auf einem NANO:
Der Sketch verwendet 7926 Bytes (25%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1167 Bytes (56%) des dynamischen Speichers, 881 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Die Bedienung ist, so denke ich, recht einfach.
Sobald der Encoder betätigt wird, schaltet der Cursor auf dem LCD auf Blinken.
2 Modi
Inaktiv: Die Zeile des Cursor kann geändert werden - hierbei blinkt der Cursor auf der ersten Stelle
Aktiv: Die Werte/Anzeige der Zeile kann geändert werden - hierbei blinkt der Cursor auf der zweiten Stelle der Zeile
Im inaktivem Modus verlischt der Cursor nach 2 Sekunden ohne Betätigung.
Im aktivem Mode bleibt der Cursor an.
Umschalten mittels Button im Encoder
So richtig fluffig läuft der Sketch nicht, denke die SoftwareSerial und das Pollen des Drehencoder vertragen sich nicht so sonderlich - für meinen Versuch, die Obis-Kennzahl für meinen aktuellen Verbrauch (bzw. Einspeisung) auszulesen, sollte Das aber ausreichend sein.
(Die im INet gefundenen Obis-Kennzahlen, z.B. für aktuellen Verbrauch, scheint mein Zähler nicht auszugeben - deshalb dieser Sketch).
Stichwort Sketch: Im nächsten Post sollte sich Dieser wiederfinden - noch nicht ganz sicher, ob ich mit der Zeichenbegrenzung hinkomme ... gebt mir bitte ein paar Minuten Zeit
MfG