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