Skip to content

Digitale Ausgabe

Rechnerarchitektur

Bei der digitalen Ausgabe wird ein binärer Wert in eine entsprechende Spannung an einem Anschluss umgesetzt. Der Wert 0 entspricht einer Spannung von 0 Volt, der Wert 1 einer Spannung von 3.3 Volt.

Positive Logik (active high)

Bei diesem Ansatz übernimmt der programmierbare Anschluss die Rolle des positiven Pols. Das bedeutet, dass die gesteuerte Leuchtdiode leuchtet, wenn am Anschluss der binäre Wert 1 ausgegeben wird.

Steuerung einer Leuchtdiode mit positiver Logik
binärer WertSpannung an AnschlussLeuchtdiode
00 Voltaus
13.3 Voltein

Anschluss mit micro:bit steuern

Um microbit-Befehle zu verwenden, muss zuerst immer die microbit-Bibliothek importiert werden:

python
from microbit import *

pin.write_digital(value) schaltet den Pin ein oder aus. Der Pin wird eingeschaltet, wenn value den Wert 1 hat und ausgeschaltet, wenn value den Wert 0 hat.

Um auf den Anschluss 1 des micro:bit zuzugreifen, verwendet man die Variable pin1. Das gilt analog für alle anderen Anschlüsse. Mit

python
pin1.write_digital(True)

wird die Spannung am Anschluss 1 auf 3.3 Volt gesetzt, mit

python
pin1.write_digital(False)

wird die Spannung auf 0 Volt gesetzt.

Verfügbare Anschlüsse

Auf dem micro:bit sind die folgenden Anschlüsse verfügbar.

Variablezusätzliche Funktion
pin0
pin1
pin2
pin3Display
pin4Display
pin6Display
pin7Display
pin8
pin9Display
pin10Display
pin12
pin13
pin14
pin15
pin16
pin19
pin20

Warnung: Achtung

Die Anschlüsse 5 und 11 sind fix mit den Tasten A und B verbunden. Sie dürfen nur verwendet werden, um eine externe Taste anzuschliessen.

Die Anschlüsse 3, 4, 6, 7, 9 und 10 werden für das Display verwendet. Damit sie «normal» verwendet werden können, muss erst das Display ausgeschaltet werden:

python
display.off()

Endlose Wiederholung

Um wiederholende Befehle auf dem micro:bit auszuführen, definieren wir ein Unterprogramm update(). Im Gegensatz zu Pygame Zero müssen wir aber das Unterprogramm selbst immer wieder aufrufen. Dazu definieren wir mit while eine endlose Schleife:

python
def update():
    ...

while True:
    update()

Aufgabe: Blinkende Leuchtdiode

  1. Erstelle die oben stehende Schaltung auf der Steckplatine, indem du die Anode der Leuchtdiode via Widerstand mit dem Pin 1 des Micobits verbindest
  2. Schreibe ein Programm, welches die Leuchtdiode im Sekundentakt blinken lässt. Die Leuchtdiode soll also jeweils eine halbe Sekunde leuchten, dann eine halbe Sekunde nicht leuchten.

Zustatzaufgabe: Erweitere die Schaltung um eine zweite Leuchtdiode. Erweitere das Programm, sodass die beiden Leuchtdioden abwechslungsweise blinken.

Segmentanzeige

Um eine Ziffer darzustellen werden mehrere Leuchtdioden zu einer Segmentanzeige zusammengefasst:

Segmentanzeige
Schaltplan einer Segmentanzeige

Die runde Leuchtdiode in der Ecke unten rechts (p) kann verwendet werden, um einen Dezimalpunkt darzustellen. Wir verwenden sie nicht.

Verbindung Segmentanzeige – micro:bit

Am besten werden die Anschlüsse der Segmentanzeige wie folgt mit dem micro:bit verbunden:

Anschluss SegmentanzeigeAnschluss micro:bit
GND (mit Widerstand > 80 Ohm)GND
a0
b1
c2
d8
e12
f13
g14

Es können auch andere Anschlüsse verwendet werden. Dabei muss beachtet werden, dass die Anschlüsse der micro:bit nicht anderweitig belegt sind.

Aufgabe: Segmentanzeige

  1. Realisiere die oben abgebildtete Schaltung.
  2. Schreibe ein Programm für den micro:bit, welches die Ziffern 0 bis 9 nacheinander auf der Siebensegmentanzeige anzeigt.

Aufgabe: Würfel

Ändere das Programm, sodass eine zufällige Zahl zwischen 1 und 6 angezeigt wird.
Beim Drücken der Taste A soll folgendes geschehen:

  • Anzeige kurz ganz ausschalten.
  • Eine neue zufällige Zahl anzeigen.

Mit button_a.was_pressed() wird überprüft, ob die Taste A seit dem letzten Aufruf gedrückt wurde:

python
if button_a.was_pressed():
    # do something

Gymnasium Kirchenfeld, fts, lem & ros