Springe zum Inhalt oder Footer
SerloDie freie Lernplattform

6Taster anschließen

In vorigen Kapitel hast du den kleinen Taster auf dem Feather Board abgefragt. Wir wollen jetzt einen externen Taster an das Board anschließen und im Anschluss versuchen wir den Programmcode zu verstehen. Vorweg solltest du mit einer Zange die vier Beinchen der Taster um 90° drehen, damit sie in das Steckbrett passen. Hier ist ein Foto, wie es aussehen sollte.

Bild

Baue jetzt die Schaltung auf. Du siehst, warum wir neben der LED Platz gelassen haben.

Schaltung mit Taster und LED

Um den Taster abzufragen, musst du nur zwei Änderungen am vorigen Programm machen.

1import board
2import digitalio
3import time
4
5button = digitalio.DigitalInOut(board.D13)
6button.switch_to_input(pull=digitalio.Pull.DOWN)
7
8
9while True:
10    if button.value:
11        print('pressed')
12    else:
13        print('not pressed')
14    time.sleep(0.5)
15

Der Code unterscheidet sich bei genauem Betrachten nur an wenigen Stellen vom Code auf der vorherigen Seite. Du hast die Stelle sicher schon gefunden?

Es werde Licht

Ein Taster und eine RGB-Leuchtdiode. Das passt gut zusammen. Lass die grüne LED leuchten, wenn der Taster gedrückt wird.

Kopiere die Zeilen 5 bis 10 und ändere die Zeilen 18 und 20 ab.

1import board
2import digitalio
3import time
4
5led_red   = digitalio.DigitalInOut(board.D10)
6led_green = digitalio.DigitalInOut(board.D11)
7led_blue  = digitalio.DigitalInOut(board.D12)
8led_red.direction   = digitalio.Direction.OUTPUT
9led_green.direction = digitalio.Direction.OUTPUT
10led_blue.direction  = digitalio.Direction.OUTPUT
11
12button = digitalio.DigitalInOut(board.D13)
13button.switch_to_input(pull=digitalio.Pull.DOWN)
14
15
16while True:
17    if button.value:
18        led_green.value = True
19    else:
20        led_green.value = False
21

Aufgabe

Es ist wieder an Zeit zu Experimentieren.

Die blaue LED soll immer leuchten wenn der Taster nicht gedrückt wird und die rote soll leuchten wenn der Taster gedrückt wird. Viel Spaß bei der Aufgabe.

Der Magnetkontaktschalter

Ein Magnetkontaktschalter funktioniert im Prinzip wie ein Taster. Bringt man die Hälfte mit dem Magneten (das Teil ohne Kabel) in die Nähe des Reedschalters (das ist das weiße Teil mit den beiden Kabeln), so wird der Kontakt geschlossen.

Bild

In diesem Programm werden beide "Taster" verwendet, um zwei der drei LEDs zu schalten.

Kopiere die beiden neuen Teile in die Datei.

1import board
2import digitalio
3import time
4
5led_red   = digitalio.DigitalInOut(board.D10)
6led_green = digitalio.DigitalInOut(board.D11)
7led_blue  = digitalio.DigitalInOut(board.D12)
8led_red.direction   = digitalio.Direction.OUTPUT
9led_green.direction = digitalio.Direction.OUTPUT
10led_blue.direction  = digitalio.Direction.OUTPUT
11
12button = digitalio.DigitalInOut(board.D13)
13button.switch_to_input(pull=digitalio.Pull.DOWN)
14door = digitalio.DigitalInOut(board.D9)
15door.switch_to_input(pull=digitalio.Pull.UP)
16
17
18while True:
19    if button.value:
20        led_green.value = True
21    else:
22        led_green.value = False
23
24    if door.value:
25        led_red.value = True
26    else:
27        led_red.value = False
28

Teste nun zuerst das Programm und überlege dir, warum der Programmcode das tut, was er tut. Wenn du glaubst das Programm verstanden zu haben, versuche das Programm abzuändern. Fahre anschließend auf der nächsten Seite fort.


Dieses Werk steht unter der freien Lizenz
CC BY-SA 4.0Was bedeutet das?