27 lines
1.3 KiB
Lua
27 lines
1.3 KiB
Lua
-- écrit le 23/10/2024 par Lukian Leizour
|
|
-- ce programme doit tourner sur un ESP32 sous LUARTOS
|
|
|
|
-- fonction permettant d'allumer un buzzer pendant un temps donné
|
|
function buzz(pin, delay) -- pin : la patte sur laquelle le buzzer est connecté; delay : le temps pendant lequel le buzzer reste allumé
|
|
pinon(pin) -- on allume le buzzer
|
|
tmr.delayms(delay) -- on attend pendand le temps désiré
|
|
pinoff(pin) -- on étteint le buzzer une fois la durée atteinte
|
|
end
|
|
|
|
-- fonction permettant de faire "clignoter" un buzzer sur un pin donné pour une durée donnée et un nombre d'itérations donné
|
|
function blink_buzz(pin, n, delay) -- pin : la patte du buzzer; n : le nombre d'itérations; delay : le délai en ms
|
|
for i=1,n do
|
|
buzz(pin, delay) -- on allume le buzzer pendant la durée désirée
|
|
tmr.delayms(delay) -- on attend avant de passer à la suite
|
|
end
|
|
end
|
|
|
|
-- fonction qui envoie un signal SOS sonore sur un buzzer branché sur la patte D18 de l'ESP32
|
|
function sos_buzz(n) -- n : nombre de fois qu'on fait le signal SOS
|
|
for i=1,n do
|
|
pinblink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement
|
|
pinblink_buzz(pio.GPIO18, 3, 200) -- on clignotte 3 fois courtement
|
|
pinblink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement
|
|
tmr.delayms(400) -- on fait une longue pause de 400ms
|
|
end
|
|
end
|