7.3 Alarmanlagenlampe¶
Polizeilichter sind oft im wirklichen Leben (oder in Filmen) zu sehen. In der Regel werden sie zur Verkehrsregelung, als Warnmittel und als wichtiges Sicherheitszubehör für Polizeibeamte, Rettungsfahrzeuge, Feuerwehrautos und Baufahrzeuge eingesetzt. Wenn Sie ihre Lichter sehen oder ihre Sirene hören, sollten Sie vorsichtig sein, denn das bedeutet, dass Sie (oder die Menschen in Ihrer Umgebung) möglicherweise in Gefahr sind.
In diesem Projekt nutzen wir eine LED und einen Summer, um ein kleines Warnlicht zu schaffen, das über einen Schiebeschalter aktiviert wird.
Benötigte Komponenten
Für dieses Projekt werden folgende Komponenten benötigt.
Es ist definitiv praktisch, ein komplettes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
---|---|---|
Kepler Kit |
450+ |
Sie können die Teile auch einzeln über die untenstehenden Links erwerben.
SN |
KOMPONENTE |
MENGE |
LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
||
6 |
1(S8050) |
||
7 |
3(1KΩ, 220Ω, 10KΩ) |
||
8 |
Passiver Summer |
1 |
|
9 |
1(104) |
||
10 |
1 |
Schaltplan
GP17 ist mit dem mittleren Pin des Schiebeschalters verbunden, parallel dazu sind ein 10K-Widerstand und ein Kondensator (Filter) an GND angeschlossen. Dies ermöglicht dem Schiebeschalter, ein konstant hohes oder niedriges Signal auszugeben, wenn er nach links oder rechts bewegt wird.
Sobald GP15 hoch ist, leitet der NPN-Transistor und der passive Summer beginnt zu tönen. Dieser Summer wird programmiert, um in der Frequenz allmählich anzusteigen und so einen Sirenenton zu erzeugen.
An GP16 ist eine LED angeschlossen, die so programmiert ist, dass ihre Helligkeit periodisch wechselt, um eine Sirene zu simulieren.
Verdrahtung
Code
Bemerkung
Öffnen Sie die Datei
7.3_alarm_siren_lamp.py
im Verzeichniskepler-kit-main/micropython
oder kopieren Sie diesen Code in Thonny. Klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie einfach F5.Vergessen Sie nicht, im unteren rechten Bereich auf den „MicroPython (Raspberry Pi Pico)“-Interpreter zu klicken.
Für ausführliche Anleitungen beziehen Sie sich bitte auf Code direkt öffnen und ausführen.
import machine
import time
buzzer = machine.PWM(machine.Pin(15))
led = machine.PWM(machine.Pin(16))
led.freq(1000)
switch = machine.Pin(17,machine.Pin.IN)
def noTone(pin):
pin.duty_u16(0)
def tone(pin,frequency):
pin.freq(frequency)
pin.duty_u16(30000)
def interval_mapping(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
def toggle(pin):
global bell_flag
bell_flag = not bell_flag
print(bell_flag)
if bell_flag:
switch.irq(trigger=machine.Pin.IRQ_FALLING, handler=toggle)
else:
switch.irq(trigger=machine.Pin.IRQ_RISING, handler=toggle)
bell_flag = False
switch.irq(trigger=machine.Pin.IRQ_RISING, handler=toggle)
while True:
if bell_flag == True:
for i in range(0,100,2):
led.duty_u16(int(interval_mapping(i,0,100,0,65535)))
tone(buzzer,int(interval_mapping(i,0,100,130,800)))
time.sleep_ms(10)
else:
noTone(buzzer)
led.duty_u16(0)
Sobald das Programm läuft, verschieben Sie den Schiebeschalter nach links (bei Ihnen kann es auch rechts sein, je nachdem, wie Ihr Schiebeschalter verdrahtet ist). Der Summer gibt dann einen aufsteigenden Warnton ab und die LED ändert entsprechend ihre Helligkeit; verschieben Sie den Schiebeschalter nach rechts und der Summer und die LED hören auf zu arbeiten.