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.
Baue jetzt die Schaltung auf. Du siehst, warum wir neben der LED Platz gelassen haben.
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.
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.