DTMF-Decoder mit vierstelligem Zugangscode, Zustandsspeicherung bei
Versorgungsausfall und Verwendung von ARDUINO-Hardware
Stand: 9. April 2012

Nach bereits längerer Beschäftigung mit DTMF-Decoderanordnungen ( siehe:  [1],[2],[3] ) sollte es diesmal ein Decoder mit erweiterten Betriebsmöglichkeiten werden. Dazu gehörte neben der codierten und damit missbräuchliche Nutzung weitgehend verhindernden Zugriffsmöglichkeit, auch eine Speicherung des jeweils letzten gewählten Schaltzustandes bei   Versorgungsausfall. Der Aufbau sollte unter Verwendung eines universellen Microcontrollerboards "ARDUINO UNO" ( [5],[6] ) und eines zusätzlichen sog. Shields erfolgen, wobei Letzteres dabei als Trägerplatine für die gemäss Abb.1 benötigte Zusatzbeschaltung benutzt werden sollte.


Abb.1  Zusatzbeschaltung zum ARDUINO-Board

Vorgesehen sind vier Schaltkanäle mit Steuerung ihres AUS/EIN-Zustand über DTMF-Tonfolgen. Wurden noch keine anwenderspezifischen Zugangscodes im EEPROM-Bereich des Microcontroller festgelegt ( siehe dazu weiter unten ), so wird vorerst mit den aus Tabelle1 ersichtlichen "Default Codes" gearbeitet. Alle Eingaben haben dabei mit Betätigung der Raute-Taste zu beginnen. Ihre Eingabe definiert einen festen Ausgangspunkt und ist somit auch nach eventuellen späteren Fehleingaben zu benutzen. Mit dem nächsten, im Anschluss an den Zugangscode einzugebenen Wert wird der Schaltzustand des jeweiligen Kanals bestimmt. An dieser Stelle ist eine "0" für "AUS" oder eine "1" für "EIN" einzugeben. Wurde eine DTMF-Zeichenfolge empfangen, die mit einem der vier aktuellen Zugangscodes übereinstimmte und im Anschluss eine "0" oder "1" festgestellt, so wird daraufhin der zugehörige Kanal angesprochen und sein Schaltzustand ggf. wechseln, wobei sich das über die zugehörige LED ( LED1-4 ) kontrollieren lässt.

Schalt
kanal
Default
Code
Anzeige
via
Ch.1
#1234
LED1
Ch.2
#2345
LED2
Ch.3
#3456
LED3
Ch.4
#4567
LED4
Tabelle 1   Default- ( = Ursprungs- ) Zugangscodes

Es besteht auch die Möglichkeit zur Festlegung individueller vierstelliger Zugangscodes.  Dazu ist das ARDUINO-Board über seinen USB-Anschluss mit einem PC zu verbinden und hier ein Terminalprogramm zu starten. Bevor das aber geschehen kann, muss der zum Board passende USB-Treiber geladen sein. Für das ARDUINO UNO-Board ist das ein nicht so häufig verbreiteter, aber von der zugehörigen Homepage herunterladbarer ATMEL-Treiber. In der WINDOWS "SYSTEMSTEUERUNG" lässt sich unter "SYSTEM" der "GERÄTE-MANAGER" aufrufen und hier die Ordnungszahl des vom Board belegten virtuellen Com-Ports ermitteln. Bei Unklarheiten ist das USB-Kabel des ARDUINO-Boards ggf. kurzzeitig herauszuziehen und wieder hineinzustecken, wobei die angezeigte Belegungsliste zu beobachten ist.
Nach seiner Verbindung mit dem PC ist hier ein Terminalprogramm zu starten und der jeweilige Com-Port, sowie eine Baudrate von 9600bps einzustellen. Danach ist das ARDUINO-Board mit geschlossenem Schalter "S1" ( PD3 an Masse ) zu starten. Auf dem PC-Bildschirm sollte danach die Eingabemaske des Configurations-Modes erscheinen und zur Eingabe der ersten gewünschten Codezeichenfolge aufgerufen werden. Hier kann jetzt der erste aus vier DTMF-Zeichen bestehende Zugangscode eingegeben werden, wobei die Eingabe mit einem an fünfter Stelle folgendem Zeichen "+" abzuschliessen ist. Für Kontrollzwecke folgt anschliessend eine Auslesung der im EEPROM des Prozessors gespeicherten Werte. Der gleiche Eingabe- und Kontrollvorgang kann daraufhin auch für die Schaltkanäle 2-4 erfolgen. Nach eventuellen Fehleingaben ist der Prozessor neu zu starten und der Eingabevorgang wieder von Beginn an zu wiederholen. Nach Abschluss aller Eingaben ist der Schalter "S1" zu öffnen und die Verbindung zum PC zu trennen. Bei Neustart des ARDUINO-Boards wird es jetzt im "mormalen" Betriebsmodus starten und zukünftig die vorher im EEPROM-Bereich abgelegten Zugangscodes erwarten. 


Abb.2  Board ARDUINO-UNO  und Universal-Shield


Abb.3   Board ARDUINO-UNO und Universal-Shield ( Schrägansicht )

Nachbau

In Vorbereitung

Linkliste

[1]  http://www.kh-gps.de/dtmf_neu.htm
[2]  http://www.kh-gps.de/schalt.htm
[3]  http://www.kh-gps.de/schalt2.htm

[4]  http://www.kh-gps.de/d2a.htm
[5]  http://www.watterott.com/de/Arduino?x17283=10944eced33fc473d69dc5c88ab737ac
[6] 
http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

E-Mail contact via: