Při práci s robotem, jako s každým interaktivním zařízením, se vyskytují chvíle, kdy je třeba člověka mezi židlí a klávesnicí upozornit, že se děje něco, na co by měl reagovat, protože program se po upozornění zastaví nebo ukončí. Mohou to být následující situace:
Kamil používá aktivní bzučák pro napájecí napětí: 3.3-5V s frekvencí 2.5kHz. Na rozdíl od pasivního bzučáku, jehož tón je dán frekvencí přivedeného signálu, aktivní bzučák má pevnou frekvenci, spouští se přivedením logické 1 na pin I/O a vypíná se logickou nulou.
Zapojení:
Vcc 3.3V
GND země
I/O k řídícímu výstupnímu GPIO pinu
import time
import RPi.GPIO as GPIO
GPIO_bzucak = 23 # číslo GPIO pinu, na který je připojen I/O pin bzučáku
GPIO.setmode(GPIO.BCM) # způsob přístupu ke GPIO Raspberry - BCM je podle číslování GPIO pinů,
# BOARD je číslování pinů podle pozice v konektoru
GPIO.setwarnings(False) # Při chybách I/O nebude vypisovat varovná hlášení
GPIO.setup(GPIO_bzucak, GPIO.OUT, initial=GPIO.LOW) # pin GPIO_bzucak je určen pro výstup dat
# a výchozím stavem je L0W
def bzikni(delka, kolikrat, pauza=0.1): # pokud poziční parametr "pauza" nebude ve volání
# procedury uveden, bude 0.1s.
for i in range(kolikrat):
GPIO.output(GPIO_bzucak, 1)
time.sleep(delka)
GPIO.output(GPIO_bzucak, 0)
time.sleep(pauza)
bzikni(0.3, 5, 0.8) # délka pípnutí 0.3s, pípne 5 krát, čas mezi pípáními je 0.8s
GPIO.cleanup() # uvolnění použitých GPIO pinů, zde pinu 23