RASP-SENSE-HAT-ASTRO-PI-Humidite
Senseur de température
Le Sense HAT met en oeuvre de nombreux senseurs, l'un d'eux est le senseur d'humidité qui mesure la quantité d'humidité dans l'air.
La source anglaise de cette traduction se trouve ici https://www.raspberrypi.org/learning/astro-pi-guide/sensors/humidity.md
Qu'est ce que l'humidité?
Voici quelques fait intéressant sur l'humidité
- L'humidité est la quantité de vapeur d'eau dans l'air.
- La vapeur d'eau est l'état gazeux de l'eau.
- La quantité de vapeur d'eau en suspension dans l'air dépend de la température.
- Plus la température est élevée et plus il y peut y avoir de vapeur d'eau en suspension dans l'air
- Moins la température est élevée et moins de vapeur d'eau peut rester en suspend dans l'air.
Hygrométrie et température. Sous licence CC BY-SA 3.0 via Wikimedia Commons
Lorsque vous sortez une bouteille ou une canette du frigo, vous voyez rapidement apparaître de l'eau à la surface de celle-ci. Cela arrive parce que l'air est refroidit autour de la bouteille/canette. Comme l'air refroidit, il devient moins capable de retenir de la vapeur d'eau en suspension. De fait, la vapeur d'eau qui ne peut plus rester en suspension se transforme en eau liquide. Cela s'appelle la condensation.
Cette information connue, nous devons maintenant comprendre qu'il y a deux façons de mesurer l'humidité:
- L'humidité Absolue est la masse totale de vapeur d'eau en suspension dans un volume d'air donné. La température n'est pas prise en considération. L'humidité absolue est exprimée en gramme d'eau par mètre cube d'air.
- L'humidité Relative, elle, est exprimée en pourcentage. Pour une température donnée de l'air, il y a une quantité maximum de vapeur d'eau que l'air "contenir" en suspension. L'humidité relative est le pourcentage actuel de vapeur d'eau présente par rapport à la quantité maximum que l'air peut contenir (pour cette température).</nowiki>
D'une quantité de vapeur d'eau résultera différentes lectures d'humidité relative, en fonction de la température de l'air (et la capacité de l'air d'accepter de l'eau en suspension). Par conséquent un air à basse température peut donner une lecture d'humidité relative élevée parce que l'air ne peut pas accepter plus de vapeur d'eau (à cette température). Augmenter la température de l'air en maintenant à l'identique la quantité d'eau en suspension provoquera une chute des lectures d'humidité relative (parce que la quantité acceptable de vapeur d'eau en suspension à augmenté).
Le Sense Hat vous offre la mesure de l'humidité relative. C'est la raison pour laquelle le senseur d'humidité embarque également un senseur de température.
Quel est le taux d'humidité
1. Ouvrez Python 3 repuis une fenêtre terminal en utilisant sudo. Tapez la commande suivante:
sudo idle3 &
2. Sélectionnez File > New Window (Fichier > Nouvelle fenêtre) et saisissez le code suivant:
from sense_hat import SenseHat sense = SenseHat() sense.clear() humidity = sense.get_humidity() print(humidity)
3. Sélectionnez File > Save (Fichier > Sauver) et choisissez un nom pour votre programme.
4. Selectionnez Run > Run module (Exécuter > Exécuter module).
5. Si vous voyez le message d'erreur Humidity Init Failed, please run as root / use sudo sur le dernière ligne rouge alors cela signifie que vous n'avez pas suivit les instructions ci-dessus. Fermez tout et recommencez au point 1.
Le message signifie Initialisation d'humidité échouée, exécutez comme root / utiliser sudo.
6. Vous devriez voir quelque-chose comme ceci:
Humidity sensor Init Succeeded 34.6234588623
La première ligne du message signifiant Senseur d'humidité initialisé avec succès.
7. Ajoutez la ligne suivante juste avant la ligne print(humidity):
humidity = round(humidity, 1)
8. Vous devriez maintenant voir quelque-chose comme ceci, sans tous ces nombres derrière le point décimal:
Humidity sensor Init Succeeded 34.6
Surveiller l'évolution de l'humidité
1. Ce serait intéressant de surveiller les changements d'humidité. Nous allons mettre notre code dans une boucle while et l'exécuter à nouveau:
while True: humidity = sense.get_humidity() humidity = round(humidity, 1) print(humidity)
2. Expirez doucement sur le senseur. La vapeur d'eau contenue dans votre haleine devrait faire provoquer l'augmentation des lectures.
3. Gardez un oeil sur les valeurs, elles devraient revenir doucement à la valeur correspondant à l'humidité de la pièce.
4. Pressez Ctrl + C pour arrêter le programme.
Afficher l'humidité sur la matrice LED
Pensez à la façon d'utiliser l'affichage de la matrice.
Une approche est de diviser 64 (le nombre de LEDs de la matrice) par 100 (la valeur MAX du senseur d'humidité) PUIS de multiplier ce rapport par le pourcentage d'humidité relative lue sur le senseur. Cette opération donne le nombre de LEDs à allumer sur la matrice.
Par exemple, les 64 LEDs sont allumées pour 100%.
Pour réaliser cela vous aurez besoin de construire une liste de Pixels avec le nombre correct de pixel à allumé et du nombre de pixel éteint. Ensuite, nous pourrons appeler la fonction set_pixels.
from sense_hat import SenseHat sense = SenseHat() sense.clear() on_pixel = [255, 0, 0] # Pixel/Point allumé off_pixel = [0, 0, 0] # Pixel/Point éteint while True: humidity = sense.get_humidity() humidity = round(humidity, 1) if humidity > 100: humidity = 100.0 pixels = [] # Nombre de pixels allumés on_count = int((64 / 100.0) * humidity) # Nombre de pixels éteint off_count = 64 - on_count # ajouter X fois le Pixel allumé dans la liste pixels.extend([on_pixel] * on_count) # puis Y fois le Pixel éteint dans la liste pixels.extend([off_pixel] * off_count) # Appliquer la liste des pixels éteint/allumés sur la matrice sense.set_pixels(pixels)
Notez qu'il est possible d'obtenir une valeur supérieur à 100 depuis le senseur d'humidité. C'est la raison pour laquelle la valeur lue est rogné à 100.0. |
Source: Getting Started with Astro PI et Astro-Pi Guide proposé par Raspberry Pi Learning Resource (www.raspberrypi.org)
Licence Creative Commons - CC-BY-SA
The learning resource is provided for free by the Raspberry Pi Foundation under a Creative Commons licence.
Find more at raspberrypi.org/resources and github.com/raspberrypilearning.
Crédit de traduction: Toute référence, mention ou extrait de cette traduction doit également être explicitement accompagné du crédit de traduction suivant : « Traduction par MCHobby (shop.MCHobby.be) » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.