Capteur de température avec XOD - Version avancée

Bouton d'éclairage

Branchements

Programmation

Créons un bloc « button » et un « text-lcd-i2c-16×2 » :

Configurons le port du bouton sur 25, et relions la sortie « PRS » à l’entrée « BL » du LCD :

Téléversons et observons le fonctionnement.

Nous voyons que l’écran s’illumine quand nous appuyons sur le bouton, et s’éteint quand nous relâchons.

 

Nous allons maintenant faire en sorte que l’écran reste allumé lors du relâchement, et s’éteigne lors d’un second appui.

Pour cela utilisons le bloc flip-flop, et relions-le entre le bouton et l’écran :

 

Après téléversement, nous pouvons voir que le bouton fonctionne comme voulu.

Nous allons maintenant commencer à organiser nos blocs pour la suite.

D’abord, espaçons notre bloc LCD :

Puis sélectionnons le lien et appuyons sur la touche B pour le transformer en flèches :

Et renommons-les « lumiere » :

Nous pouvons à nouveau téléverser le code et constater que tout fonctionne correctement.

Bouton de changement d'unité

Branchements

Programmation

Ajoutons maintenant le « dht11-hygrometer » avec le port sur 14, et une « clock » avec l’intervalle sur 2 :

Puis relions la température à la ligne 1 du LCD et l’humidité à la ligne 2 :

Et transformons les liens en flèches que nous renommerons « Temp » et « Hum » :

Ensuite ajoutons le bloc « c-to-f » pour convertir les degrés Celsius en Fahrenheit :

Nous pouvons tester en téléversant, nous remarquons que la température est bien affichée en Fahrenheit.

 

Maintenant ajoutons un bloc conditionnel « if-else » (si-sinon) qui nous permettra de choisir de convertir ou non :

Comme vu précédemment ajoutons un deuxième bouton avec le port 26 :

Puis relions le bouton à notre bloc « if-else », et renommons les flèches « unite » :

Téléversons et observons le fonctionnement des boutons.

 

Il ne reste maintenant plus qu’à mettre en forme les données pour l’affichage

Commençons par passer l’humidité en pourcents à l’aide du bloc « map » réglé en 0,1,0,100 :

Puis enlevons les chiffres après la virgule avec le bloc « format-number » paramétré sur 0 :

Ajoutons « Humidite: » et « % » sur l’affichage avec le bloc « concat » :

De même ajoutons « Temperature » :

Puis avec un bloc « if-else » ajoutons « C » ou « F » en fonction de l’unité :

Enfin nous n’avons plus qu’à ajouter une flèche « from-bus » reliée à « unite » :

Nous pouvons désormais téléverser et tester notre programme !