Der Zähler zählt
Eine einfache Schaltung um den 4040 zu testen ist in Abbildung 1 dargestellt, wer Lust hat den Taster 4096mal zu drücken kann sehen wie der Zähler arbeitet. Aber auch ein Aufbau mit z.B. nur vier LEDs ist möglich und zeigt ebenfalls die Arbeitsweise dieser IS (ist keine Terrororganisation sondern bedeutet Integrierte Schaltung). Etwas komfortabler geht es im nächsten Beispiel zu. Es wurden die Komponenten SW1, R13 und C1 entfernt, an ihre stelle tritt nun ein Arduino. Der Arduino muss lediglich an einem Pin einen Takt erzeugen um den Zähler zählen zu lassen. In dem kleinen Beispiel wird aber auch die Steuerung der RESET-Leitung des 4040 vom Arduino übernommen. Die Abbildung 2 zeigt den Aufbau.
Das dazugehörige Programm für den Arduino sieht wie folgt aussehen
* Das Beispiel wurde mit einem Arduino Leonardo entwickelt
*
* Entwicklungsumgebung: 1.8.5
*
* Version: 0.0.1
* Autor : Frank A. Dullinger
* Kontakt: http://bollwerk-essen.bplaced.net/
*/
#define CD4040_Takt 12 // Takt-Signal für den 4040
#define CD4040_Reset 11 // Reset-Steuerleitung
#define PAUSE 50 // Taktfrequenz ca. 10 Hz
void setup() {
pinMode(CD4040_Takt, OUTPUT);
pinMode(CD4040_Reset, OUTPUT);
digitalWrite(CD4040_Reset, HIGH); // Zurücksetzen des 4040
delay(2000); // Warte 2 Sekunden
digitalWrite(CD4040_Reset, LOW); // Den 4040 aktivieren
delay(2000); // Warte 2 Sekunden
}
void loop() {
digitalWrite(CD4040_Takt, HIGH); // Takt-Pegel auf High
delay(PAUSE); // Warte 50mS
digitalWrite(CD4040_Takt, LOW); // Takt-Pegel auf Low
delay(PAUSE); // Warte 50mS
}
Programmbeschreibung
Die ersten drei Zeilen des Programms definieren Konstanten die im späteren Verlauf verwendet werden. Anschließend werden die Ausgabemodi für die verwendeten Arduino Pins eingestellt, in diesem Fall werden die Pins 11 und 12 des Arduino als Ausgänge definiert. Als nächstes wird die Reset-Leitung auf HIGH gesetzt, dies löscht die Daten des 4040, alle LEDs werden ausgeschaltet, dieser Zustand bleibt für 2 Sekunden erhalten. Im Anschluss wird die RESET-Leitung auf LOW gesetzt, ab jetzt kann der 4040 das Takt-Signal auswerten, es wird wieder 2 Sekunden gewartet bevor der Zählvorgang startet. In der Hauptschleife wird abwechselnd der Arduino Pin 11 auf HIGH / LOW gesetzt, zwischen jeder Signaländerung wird die in Pause angegebene Zeit gewartet (in diesem Beispiel 50 Millisekunden) die Frequenz beträgt also 50mS HIGH + 50mS LOW = 100mS = ca. 10 Hz. Wer es etwas genauer möchte hier noch einmal eine Formel zu diesem Thema
Links
Da die dargestellten Schaltungen und Programme nur dem Grundverständnis dienen sollen, kann ich für die Funktion keine Gewähr übernehmen.
Wie üblich kann ich für Schäden die durch die Verwendung der hier veröffentlichten Schaltungen und Programme entstehen keine Haftung übernehmen.
Alle genannten und durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer. Allein aufgrund der bloßen Nennung ist nicht der Schluss zu ziehen, dass Markenzeichen nicht durch Rechte Dritter geschützt sind!