French Simple horloge Arduino

Marc DANIEL

Active Member
Licensed User
Ce programme très simple consiste simplement à lancer une horloge ARDUINO qui fonctionne seule une fois le programme installé. Trois boutons permettent le réglage (H pour les heures, M pour les minutes et GO pour mettre l'horloge en marche. Le bouton RESET de la carte ARDUINO UNO permet de revenir au réglage.

FritzingHorloge.png


Matériel: Une carte ARDUINO UNO, 3 boutons, un écran LCD (2 lignes de 16 caractères) et son interface I2C
Bibliothèque: rLiquidCrystal_I2C

Vue1.jpg
Vue2.jpg


Vue3.jpg


Vue4.jpg


Vue.jpg
 

Attachments

  • Horloge.zip
    1.5 KB · Views: 111

Marc DANIEL

Active Member
Licensed User
Programme amélioré avec un bouton de moins et affichage du calendrier au dessus de l'heure: Sélection des valeurs avec le bouton de droite (BtnChoix) et validation avec le bouton de gauche (BtnEnter).

CalendrierHorloge2boutons.jpg
 

Attachments

  • Horloge2.zip
    1.6 KB · Views: 94

Marc DANIEL

Active Member
Licensed User
Avec un écran LCD de 4 lignes de 20 caractères, il suffit de modifier les paramètres d'affichage. Cet écran plus grand s'utilise avec la même interface I2C (et aussi avec la même bibliothèque rLiquidCrystal_I2C)
Vue-20x4.jpg
 

Attachments

  • Horloge4x20.zip
    1.9 KB · Views: 97
  • Horloge20x4.pdf
    163.2 KB · Views: 112

scarabe

Member
Programme horloge 1: exactement ce que je cherchais pour afficher l'heure avec un "pendule perpétuel" qui bat la seconde et pour tester différents matériaux pour le battant. Mais où faut-il entrer le signal 1 Hz dans le programme?
 

Marc DANIEL

Active Member
Licensed User
Bonjour,
Je ne comprends pas ta question. Il n'y a pas de signal 1 Hz à entrer dans le programme. Les secondes sont émises par la ligne "Delay (1000)"
1000 millisecondes = 1 seconde
Cordialement,
Marc DANIEL
 
Last edited:

scarabe

Member
Il s'agit d'un montage expérimental: j'ai réalisé un pendule (type pendule perpétuel) de longueur 1m environ et de période 2s. Une barrière IR placée à chaque extrémité me donne un signal 1 Hz. Mon idée est de tester différentes matières pour le pendule ( alu, bois, laiton) pour mesurer la précision de l'oscillation. Ton programme "horloge 1 " me semble donc parfaitement approprié pour afficher le résultat. Donc comment brancher mon signal TTL 1 Hz sur ton montage? Par avance, merci
 

Marc DANIEL

Active Member
Licensed User
OK, je comprends mieux ta question. Mais je pense qu'il faut revoir mon programme qui n'est pas prévu dans l'état actuel pour gérer une barrière IR. Il me semble qu'il faut utiliser 2 bornes digitales de la carte Arduino pour capter soit le signal reçu, soit le non signal mais je ne suis pas un spécialiste de ce matériel. Je reviendrai ici si je trouve des réponses technologiques plus appropriées.
Déjà, il serait utile que tu me donnes le modèle exact de barrière IR que tu utilises et le détail de ses broches de sortie (GND, VCC, etc...)
Sur certains composants, la broche 1 donne le signal "OUT" de sortie, la broche 2 est reliée à la masse (GND) et la broche 3 à l'alimentation (VCC) mais il faut être précis et renseigné, certaines LEDs IR ont besoin d'une protection par résistance.
Cordialement,
Marc DANIEL
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Tu devrais jeter un coup d'oeil sur le projet PulseWidthMeter dans le livret B4R Example projects.
Ce programme mesure la durée d'une impulsion qui correspond à la durée pendent laquelle un bouton est pressé.
Dans ton cas, ça correspond à ton signal 1 Hz, qui doit être appliqué à la borne A5.
Les livrets se trouvent ICI, tu peux télécharger tous les livrets, en format pdf, avec leur code source ou seulement les codes source depuis ce lien: SourceCode qui est le même que celui sur la troisième ligne de la page du lien ICI ci-dessus.
 

Marc DANIEL

Active Member
Licensed User
Exemple des connexions d'un Capteur de détection d'obstacles Infra Rouge :

IR.jpg
CapteurDetectionObstacles.png


IR-Fritzing.png


Dans cet exemple, ce composant a 3 broches de connexions: Valeurs captées (DO), GND et VCC comme je l'indiquais plus haut
Ce capteur est un dispositif qui sert à détecter les obstacles. Il s'agit d'un appareil polyvalent qui peut être utilisé dans de nombreuses applications pour la détection d'objets, la détection de collision, l'évitement des bords, la détection de couleur, la détection d'incendie, la détection de ligne et comme encodeur pour le comptage d'objets.

Le module peut faire partie d'autres appareils tels que des robots, des machines, des systèmes de sécurité, etc.

Le capteur de détection d'obstacles est un appareil qui émet et détecte de la lumière infrarouge afin de détecter les changements qui se produisent dans l'environnement.
Il détecte la lumière dans les longueurs d'onde comprises entre 0,75 et 1000 μm.

Le module se compose d'une LED (diode électroluminescente) comme émetteur, d'une photodiode comme récepteur et d'un amplificateur opérationnel qui agit comme un comparateur de tension.

Il mesure le seuil de tension de la photodiode en série avec une résistance.

Lorsque la tension descend en dessous, la sortie de seuil de l'amplificateur opérationnel sera HAUTE et la LED de signalisation s'allumera, ce qui indique que l'objet est détecté.

Le signal de sortie est numérique et la broche de sortie peut être dans deux états comme HIGH ou LOW. Lorsque la broche de sortie est à l'état HIGH, la tension sera au maximum et lorsqu'elle est à l'état LOW, la tension sera à 0 V.
 

scarabe

Member
OK, je comprends mieux ta question. Mais je pense qu'il faut revoir mon programme qui n'est pas prévu dans l'état actuel pour gérer une barrière IR. Il me semble qu'il faut utiliser 2 bornes digitales de la carte Arduino pour capter soit le signal reçu, soit le non signal mais je ne suis pas un spécialiste de ce matériel. Je reviendrai ici si je trouve des réponses technologiques plus appropriées.
Déjà, il serait utile que tu me donnes le modèle exact de barrière IR que tu utilises et le détail de ses broches de sortie (GND, VCC, etc...)
Sur certains composants, la broche 1 donne le signal "OUT" de sortie, la broche 2 est reliée à la masse (GND) et la broche 3 à l'alimentation (VCC) mais il faut être précis et renseigné, certaines LEDs IR ont besoin d'une protection par résistance.
Cordialement,
Marc DANIEL
J'utilise des petits modules "barrière réfexe pour arduino" provenance Banggood.com, réf: id72965 . Sortie signal TTL 5 volts positif, 0,1 sec. Déjà un grand merci. Cordiales salutations, Rémy
 

Marc DANIEL

Active Member
Licensed User
OK, mais je ne trouve pas l'objet ni sur Banggood.com (site non sécurisé hélas) ni sur Ali-Express ...

Ceci étant dit, mon programme étant une simple pendule digitale, comment souhaiterais-tu intervenir (dans le programme) pour prendre en compte les signaux positifs ou négatifs en provenance de ton module connecté sur une broche digitale disponible en utilisant (ou non) la bibliothèque IRremote, plus précisément que souhaiterais-tu obtenir au niveau de l'affichage digital ?

Cordialement, Marc
 

scarabe

Member
Exemple des connexions d'un Capteur de détection d'obstacles Infra Rouge :

View attachment 129463 View attachment 129464

View attachment 129465

Dans cet exemple, ce composant a 3 broches de connexions: Valeurs captées (DO), GND et VCC comme je l'indiquais plus haut
Ce capteur est un dispositif qui sert à détecter les obstacles. Il s'agit d'un appareil polyvalent qui peut être utilisé dans de nombreuses applications pour la détection d'objets, la détection de collision, l'évitement des bords, la détection de couleur, la détection d'incendie, la détection de ligne et comme encodeur pour le comptage d'objets.

Le module peut faire partie d'autres appareils tels que des robots, des machines, des systèmes de sécurité, etc.

Le capteur de détection d'obstacles est un appareil qui émet et détecte de la lumière infrarouge afin de détecter les changements qui se produisent dans l'environnement.
Il détecte la lumière dans les longueurs d'onde comprises entre 0,75 et 1000 μm.

Le module se compose d'une LED (diode électroluminescente) comme émetteur, d'une photodiode comme récepteur et d'un amplificateur opérationnel qui agit comme un comparateur de tension.

Il mesure le seuil de tension de la photodiode en série avec une résistance.

Lorsque la tension descend en dessous, la sortie de seuil de l'amplificateur opérationnel sera HAUTE et la LED de signalisation s'allumera, ce qui indique que l'objet est détecté.

Le signal de sortie est numérique et la broche de sortie peut être dans deux états comme HIGH ou LOW. Lorsque la broche de sortie est à l'état HIGH, la tension sera au maximum et lorsqu'elle est à l'état LOW, la tension sera à 0 V.
C'est exactement les modules ci-dessus que j'utilise. Le 1e serait branché en D2 comme l'exemple, le 2e en D3. Placés aux extrémités du balancier, ils reçoivent alternativement une impulsion positive de 5 volts de 0,1 seconde. Je cherche donc à relier les 2 entrées par une porte logique "ou" et faire ainsi avancer ton horloge de 1 seconde. Bien sûr, la mesure de la période du balancier me semble logique, mais l'observation de la dérive d'une horloge sur une ou plusieurs semaines (comparaison avec une horloge radiocommandée) me semblerait plus élégante et beaucoup plus précise. Je maitrise cette fonction sur arduino IDE mais pas du tout sur B4R. Avec mes remerciements, Rémy
 

Marc DANIEL

Active Member
Licensed User
Rémy, j'ai modifié mon programme B4R "Horloge" en y ajoutant le composant IR et les subs nécessaires ainsi que la bibliothèque adéquate. Il te reste à agir sur le comportement du programme en le modifiant afin d'obtenir l'affichage souhaité en fonction des actions émises par ta barrière IR sans doute en utilisant la variable m transmise par IR (irsend). Je ne peux rien tester ne disposant pas encore de ce type de matériel.

Capture.JPG


Horloge_IR_Fritzing.jpg

 

Attachments

  • Horloge4x20_IR.zip
    2.2 KB · Views: 1
Last edited:

Marc DANIEL

Active Member
Licensed User
C'est exactement les modules ci-dessus que j'utilise. Le 1e serait branché en D2 comme l'exemple, le 2e en D3. Placés aux extrémités du balancier, ils reçoivent alternativement une impulsion positive de 5 volts de 0,1 seconde. Je cherche donc à relier les 2 entrées par une porte logique "ou" et faire ainsi avancer ton horloge de 1 seconde. Bien sûr, la mesure de la période du balancier me semble logique, mais l'observation de la dérive d'une horloge sur une ou plusieurs semaines (comparaison avec une horloge radiocommandée) me semblerait plus élégante et beaucoup plus précise. Je maitrise cette fonction sur arduino IDE mais pas du tout sur B4R. Avec mes remerciements, Rém4y
OK, c tu
C'est exactement les modules ci-dessus que j'utilise. Le 1e serait branché en D2 comme l'exemple, le 2e en D3. Placés aux extrémités du balancier, ils reçoivent alternativement une impulsion positive de 5 volts de 0,1 seconde. Je cherche donc à relier les 2 entrées par une porte logique "ou" et faire ainsi avancer ton horloge de 1 seconde. Bien sûr, la mesure de la période du balancier me semble logique, mais l'observation de la dérive d'une horloge sur une ou plusieurs semaines (comparaison avec une horloge radiocommandée) me semblerait plus élégante et beaucoup plus précise. Je maitrise cette fonction sur arduino IDE mais pas du tout sur B4R. Avec mes remerciements, Rémy
OK, cette fois, je comprends bien ton dispositif. Il faut donc rajouter le 2eme composant.
Par contre, si tu as écrit le schéma Arduino, je veux bien le voir si tu peux joindre un fichier zip...
Cordialement,
Marc
 
Top