Forum des utilisateurs de Blockly(s)

Blockly@rduino AIO => HHEEELLLPPP !!! => Discussion démarrée par: etyo le Décembre 25, 2019, 05:39:56 PM

Titre: Comment éviter un temps de pause dans le programme ? Alternative à "Attendre"
Posté par: etyo le Décembre 25, 2019, 05:39:56 PM
Bonjour à tous,

Bonjour à tous, message d'un néophyte, pour une question peut-être déjà posée (mais j'ai pas trouvé sur le forum) :

j'essaie de préparer un programme permettant de faire varier les paramètres d'un son émis par un buzzer à l'aide de potentiomètres.

Est-il possible d'utiliser une autre fonction que "Attendre ..." pour la gestion des délais ?
J'ai lu qu'il existe une alternative, "Milli", sur Arduino. Cette fonction existe-t-elle dans Blockly@ ?

Cela me permettrait de faire varier les paramètres du son pendant son exécution.

Merci d'avance
Titre: Re : Comment éviter un temps de pause dans le programme ? Alternative à "Attendre"
Posté par: SebCanet le Décembre 31, 2019, 02:36:47 PM
Bonjour,
dans la catégorie Arduino -> temps & durée, il y a 2 blocs différents pour ça :
Image 1.png

Si besoin on peut créer d'autres blocs.

Bons tests.
Titre: Re : Comment éviter un temps de pause dans le programme ? Alternative à "Attendre"
Posté par: etyo le Janvier 02, 2020, 05:57:50 PM
Le bloc "Faire une temporisation de ..." inscrit "Delay" dans le code. Ce qui occasionne une pause dans le programme. A ce que je découvre sur les forums, il semble que la fonction "Millis" n'en fait pas, elle permet de prendre un repère temporel, tout en laissant le Loop se poursuivre.

L'origine de ma question : comment faire varier instantanément la luminosité d'une LED en fonction d'une photorésistance, tout en affichant la valeur de la photorésistance sur le port série tous les 500ms.

Au pire, je remplace "Delay" par "millis" dans le code, B@ m'ayant déjà permis d'en écrire la quasi-totalité.

Merci quand même pour cette réponse rapide.
Titre: Re : Comment éviter un temps de pause dans le programme ? Alternative à "Attendre"
Posté par: SebCanet le Janvier 03, 2020, 01:14:31 AM
Salut,
voilà de quoi aider je pense :
Image 1.png
La fonction millis() est utilisée mais il faut faire attention au typage de la variable 'timing' qui la stocke à la déclarer en nombre entier long si ça dure trop longtemps.

Bons test.