TLScript Encoder-Programmierung

von Martin Müller 

Elektronik-Labor  Projekte  Mikrocontroller  TLScript  


Wie beim ersten TPS-Versuch mit nur einer Taste geht es darum, den Controller auch ohne den PC zu programmieren. Mit einer erweiterten Firmware habe ich es geschafft, das EEPROM mit Rotaryencoder und 7-Segment-Anzeige auszulesen und neu zu beschreiben.  Mit einem kurzen Tastendruck gelangt man vom Hauptprogramm in den Programmiermodus. Durch Drehen des Encoders kann dann die Adresse eingestellt werden. Hier als Beispiel die Programmadresse 0x04.


Zum Inhalt der Adresse gelangt man durch Tastendruck auf den Encoder. Der Befehlsteil (0xE6) kann durch Drehen geändert werden, wenn der Dezimalpunkt neben der 6 leuchtet.


Ein erneuter Tastendruck lässt den Dezimalpunkt neben der 5 leuchten. Nun kann durch Drehen auch der Datenteil geändert werden. Ein erneuter kurzer Tastendruck führt zur nächsten Programmadresse.


Hält man den Taster länger gedrückt, erlischt die Anzeige, und nur die vier Dezimalpunkte leuchten. Nach ca. 4 Sekunde erlöschen die auch, die geänderten Daten werden im EEPROM gespeichert. Nach Loslassen des Tasters ist man dann wieder im Hauptprogramm.


Die Schaltung entspricht den TLScript-Vorgaben: Es werden nur die 7-Segmentanzeige (mit gemeinsamer Kathode) und der Rotaryencoder verwendet. Weitere Bauteile sind nicht erforderlich. GPIO 8 und GPIO 9 mit PWM4A und PWM4B bleiben ebenso wie ADC0, ADC1 und ADC2 jederzeit verfügbar. Läuft das Hauptprogramm sind GPIO 10 bis 13 (für die Kathoden) hochohmig. Digitale Ein- und Ausgaben sollten so auch bei angeschlossenem Display funktionieren.


Hier ein alternativer Aufbau für ein bestehendes System mit angeschlossenen LEDs.


In einem zweiten Schritt wurde zusätzlich eine Steuerung über drei Tasten eingebaut.  Der weiße Taster entspricht dem Taster des Encoders. Mit den beiden anderen werden die Werte incrementiert oder decrementiert. Das Programm erkennt eigenständig ob die Eingabe vom Encoder oder den Tastern kommt und setzt sie korrekt um.



Die beiden linken Taster verwenden eine besondere Auswertung zum schnellen Durchlaufen großer Zahlenbereiche. Wenn man nur kuz drückt, ändert sich die Zahl in Einerschritten. Ein Dauerdruck führt jedoch zu einer Änderung in 16er-Schritten, d.h. das High-Nibble ändert sich kontinuierlich.

Im Projekt-Archiv TestLab41.zip findet man die passende Firmware für den Pico im Verzeichnis Firmware unter TLScriptPico23TPS1006. 


Elektronik-Labor  Projekte  Mikrocontroller  TLScript