LED Mux für Arduino #02 Das T-Flip-Flop als Speicherzelle

Einleitung

Da wir nun jede LED einzeln mittels des Ringzähler ICs 4017 ansprechen können, müssen wir jetzt den Zustand einer LED auch speichern, damit wir uns weiter zum fertigen LED Mux vorarbeiten können.

Bauteile

Wir benötigen:

Aufbau

Symbol for a D-type Flip-flop

Symbol für einen D-Flip-flop (Photo credit: Wikipedia)

Tipp: Baut erst auf und fügt danach den Strom hinzu!!! Die ICs können durch falsche Polung leicht kaputt gehen!

Das IC verbindet man an Pin 14 mit 5V und an Pin 7 mit GND (0V). Pin 1 (Clear) und Pin 4 (Preset) werden mit 5V verbunden. Da wir nun aber ein D-Flip-Flop und kein T-Flip-Flop haben, müssen wir Pin 2 (Data) und Pin 6 (Inventiert Q) mit einander verbinden. Dadurch wird Pin 3 (Clock) zum Signal-Eingang unseres T-Flip-Flops. Jedes mal, wenn man nun Pin 3 auf HIGH (5V) setzt ändert Q seinen Zustand. Wenn man Pin 3 wieder auf LOW (0V) setzt bleibt der Zustand an Q erhalten. Nun schließt man an Pin 5 (Ausgang Q) den 180Ohm Widerstand und dann die Anode (lange Seite) der LED an den Widerstand und die Kathode (kurze Seite) an 0V. Der Zustand des Flip-Flops kann entweder durch den Arduino geändert werden, wenn man Pin 3 des ICs mit Pin 13 des Arduino verbindet, oder durch einen Taster, wenn man Pin 3 über einen Taster mit 5V verbindet.

Hinweis: Der T-Flip-Flop im Elektronik Kompendium.

Steckplatine

Steckplatine erstellt mit Fritzing

Aufbau (leicht anders)

Aufbau (leicht anders)

Programmierung

Das Arduino Programm ist sehr einfach gehalten. Zuerst initialisiert es Port 13 als Ausgang, dann sendet es jede Sekunde ein Signal. Obwohl der Ausgang nur kurzzeitig HIGH ist sollte die LED immer 1000 ms leuchten und 1000 ms aus seihen, weil der T-Flip-Flop den Zustand bis zum nächsten Schaltsignal hält. Und dies erfolgt alle 1000 ms.

Wenn man einen Taster nutzt sollte sich der Zustand der LED sich auch bei jedem Drücken ändern.

void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // start Signal
digitalWrite(13, LOW); // stop Signal
delay(1000); // wait for a second
}

Abschließende Worte

Als nächstes verbinden wir ein UND-Gatter mit dem Ringzähler IC und dem Wechsel-Signal. Das UND-Gatter verbinden wir dann mit dem T-Flip-Flop und können dann die testen, ob alles klappt, wie erhofft😉

3 Gedanken zu „LED Mux für Arduino #02 Das T-Flip-Flop als Speicherzelle

  1. Pingback: LED Mux für Arduino #03 Erster Test mit mehreren LEDs | backsite

  2. Pingback: LED Mux für Arduino #05 Rückblick und Fazit | backsite

  3. Ich habe folgendes Problem:
    Die LED leuchtet dauerhaft, ein betätigen des Tasters schaltet die LED aus, aber nur so lange wie der Taster betätigt wird. Lasse ich ihn los leuchtet die LED wieder.

    Halte ich den Taster gedrückt und aktiviere dann die Stromversorgung brennt die LED auch. Lasse ich den Taster dann los brennt die LED dann weiter.
    Woran kann das liegen? Ist das rising edge Signal meines Taster zu ungenau? Ich habe auch schon ein „tasten“ durch das reine Schließen eines Sromkreises probiert – auch ohne Erfolg?

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s