From dcdfadbcbb9a5156fc2d0971b18ce97d14d2c997 Mon Sep 17 00:00:00 2001 From: Lukian Date: Fri, 20 Sep 2024 14:19:17 +0200 Subject: [PATCH] commit --- blink.lua | 46 ----------------------------------- main.lua | 2 +- out.lua | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 47 deletions(-) delete mode 100644 blink.lua create mode 100644 out.lua diff --git a/blink.lua b/blink.lua deleted file mode 100644 index d4ead7c..0000000 --- a/blink.lua +++ /dev/null @@ -1,46 +0,0 @@ --- écrit le 13/09/2024 par Lukian Leizour --- ce programme doit tourner sur un ESP32 sous LUARTOS - --- fonction permettant d'allumer la led bleu de l'ESP32 -function ledon () - pio.pin.setdir(pio.OUTPUT, pio.GPIO2) -- permet d'indiquer que la patte GPIO2 sert de sortie - pio.pin.sethigh(pio.GPIO2) -- permet de mettre la tension au max -end - --- fonction permettant d'eteindre la led bleu de l'ESP32 -function ledoff () - pio.pin.setdir(pio.OUTPUT, pio.GPIO2) -- permet d'indiquer que la patte GPIO2 sert de sortie - pio.pin.setlow(pio.GPIO2) -- permet de mettre la tension au minimum -end - --- fonction permettant d'allumer une led connectée sur la patte D18 de l'ESP32 -function ledon_18 () - pio.pin.setdir(pio.OUTPUT, pio.GPIO18) -- permet d'indiquer que la patte GPIO18 sert de sortie - pio.pin.sethigh(pio.GPIO18) -- permet de mettre la tension au max -end - --- fonction permettant d'eteindre une led connectée sur la patte D18 de l'ESP32 -function ledoff_18 () - pio.pin.setdir(pio.OUTPUT, pio.GPIO18) -- permet d'indiquer que la patte GPIO18 sert de sortie - pio.pin.setlow(pio.GPIO18) -- permet de mettre la tension au minimum -end - --- fonction permettant de faire clignoter la led de l'ESP32 -function blink (n) -- n : int, nombre d'itérations - for j=1,n do - ledon() -- appel de la fonction ledon - tmr.delayms(200) -- le programme attend 200ms - ledoff() -- appel de la fonctio ledoff - tmr.delayms(200) -- le programme attend 200ms - end -end - --- fonction permettant de faire clignoter une led connectée sur la patte D18 de l'ESP32 -function blink_18 (n) -- n : int, nombre d'itérations - for j=1,n do - ledon_18() -- appel de la fonction ledon - tmr.delayms(200) -- le programme attend 200ms - ledoff_18() -- appel de la fonctio ledoff - tmr.delayms(200) -- le programme attend 200ms - end -end diff --git a/main.lua b/main.lua index 3be2cb4..7f01ed0 100755 --- a/main.lua +++ b/main.lua @@ -1,5 +1,5 @@ -- charge les fonctions de la led de la carte -dofile("blink.lua") +dofile("out.lua") -- charge les foncitons diff --git a/out.lua b/out.lua new file mode 100644 index 0000000..7036adb --- /dev/null +++ b/out.lua @@ -0,0 +1,73 @@ +-- écrit le 13/09/2024 par Lukian Leizour +-- ce programme doit tourner sur un ESP32 sous LUARTOS + +-- fonction permettant d'allumer une led sur l'ESP32 sur une patte donnée +function pinon (pin) -- pin : la patte sur laquelle la led est branchée + pio.pin.setdir(pio.OUTPUT, pin) -- permet d'indiquer que la patte sert de sortie + pio.pin.sethigh(pin) -- permet de mettre la tension au max +end + +-- fonction permettant d'eteindre une led sur l'ESP32 sur une patte donnée +function pinoff (pin) -- pin : la patte sur laquelle la led est branchée + pio.pin.setdir(pio.OUTPUT, pin) -- permet d'indiquer que la patte GPIO2 sert de sortie + pio.pin.setlow(pin) -- permet de mettre la tension au minimum +end + +-- fonction permettant de faire clignoter la led de l'ESP32 +function blink (pin, n, delay) -- pin : la patte de sortie; n : int, nombre d'itérations; delay : le temps en ms que la led reste allumé et étteinte + for i=1,n do + pinon(pin) -- appel de la fonction ledon + tmr.delayms(delay) -- le programme attend en fonction du délai donné + pinoff(pin) -- appel de la fonctio ledoff + tmr.delayms(delay) -- le programme attend en fonction du délai donné + end +end + +-- 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 permettant de faire clignoter la led bleu du circuit de l'ESP32 +function blink_2(n) -- pin : la patte de sortie; n : int, nombre d'itérations + blink(pio.GPIO2, n, 200) -- appel de la fonciton blink en lui donnant la bonne patte en paramètre ainsi que le temps d'éclairage +end + +-- fonction permettant d'afficher successivement les clouleurs Rouge, Vert et Bleu en connectant la led RGB sur les pins D18, D19 et D21 +function triColors(n) -- n : nombre de fois qu'on réalise le paterne + for i=1,n do + blink(pio.GPIO21, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en rouge pendant 200ms + blink(pio.GPIO19, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en vert pendant 200ms + blink(pio.GPIO18, 1, 200) -- appel de la fonciton blink pour faire clignoter une fois la led en bleu pendant 200ms + end +end + +-- fonction qui envoie un signal SOS lumineux sur la led bleu du circuit de l'ESP32 +function sos_led(n) -- n : nombre de fois qu'on affiche le signal SOS + for i=1,n do + blink(pio.GPIO2, 3, 400) -- on clignotte 3 fois longuement + blink(pio.GPIO2, 3, 200) -- on clignotte 3 fois courtement + blink(pio.GPIO2, 3, 400) -- on clignotte 3 fois longuement + tmr.delayms(400) -- on fait une longue pause de 400ms + 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 + blink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement + blink_buzz(pio.GPIO18, 3, 200) -- on clignotte 3 fois courtement + blink_buzz(pio.GPIO18, 3, 400) -- on clignotte 3 fois longuement + tmr.delayms(400) -- on fait une longue pause de 400ms + end +end