Projekt 2: Tischlampe
Beschreibung
Eine übliche Tischlampe verwendet LED-Leuchten und Tasten, mit denen das Licht durch Drücken der Taste ein- und ausgeschaltet werden kann.
Funktionsprinzip der Taste
Das Tastenmodul ist ein digitaler Sensor, der nur 0 oder 1 lesen kann. Wenn das Modul nicht gedrückt ist, befindet es sich im High-Zustand, also 1; beim Drücken ist es im Low-Zustand, also 0.

Pins der Taste
Taste 1 |
16 |
|---|---|
Taste 2 |
27 |
Projekt 2.1 Taste auslesen
Beschreibung
Wir werden den Statuswert der Taste auslesen und im seriellen Monitor anzeigen, um ihn anschaulich zu sehen.
Testcode
from machine import Pin
import time
button1 = Pin(16, Pin.IN, Pin.PULL_UP)
button2 = Pin(27, Pin.IN, Pin.PULL_UP)
while True:
btnVal1 = button1.value() # Reads the value of button 1
btnVal2 = button2.value()
print("button1 =",btnVal1) #Print it out in the shell
print("button2 =",btnVal2)
time.sleep(0.1) #delay 0.1s
Testergebnis
Klicken Sie auf die Run-Schaltfläche, dann sehen Sie die Statuswerte von button1 und button2 in der Konsole ausgegeben. Drücken Sie die Taste am Smart-Home-Modul, und Sie können die Änderung der Statuswerte beobachten.

Projekt 2.2: Tischlampe
Beschreibung
Bei einer einfachen Tischlampe: Drückt man die Taste, wird das Licht eingeschaltet; drückt man sie erneut, wird es ausgeschaltet.
Testcode
Zähle die Anzahl der Tastendrücke und bilde den Rest bei Division durch 2, so erhältst du die beiden Zustände 0 oder 1.
from machine import Pin
import time
button1 = Pin(16, Pin.IN, Pin.PULL_UP)
led = Pin(12, Pin.OUT)
count = 0
while True:
btnVal1 = button1.value() # Reads the value of button 1
#print("button1 =",btnVal1) #Print it out in the shell
if(btnVal1 == 0):
time.sleep(0.01)
while(btnVal1 == 0):
btnVal1 = button1.value()
if(btnVal1 == 1):
count = count + 1
print(count)
val = count % 2
if(val == 1):
led.value(1)
else:
led.value(0)
time.sleep(0.1) #delay 0.1s
Testergebnis
Die Konsole gibt die Anzahl der Tastendrücke aus. Drückt man die Taste einmal, leuchtet die LED; drückt man sie erneut, erlischt sie.
