Home Navigationspfeil Elektronik Navigationspfeil Asynchronzähler CD4040 - Teil 2

Der Zähler zählt

Abbildung 1: Einfache Testschaltung

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.

Abbildung 2: Zählen mit Arduino Unterstützung

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
}

 
CD4040 mit Arduino takten

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

`f = 1 / {t_H + t_L}`

Formel 1

`f = 1 / {2 cdot 50mS} = 10Hz`

Formel 1

 

Links

CD4040 Datenblatt

 

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!