Code Arduino et vidéo pour un capteur numérique de température et d'humidité Aosong AM2320
Dans ce tutoriel, nous allons voir comment utiliser le capteur numérique de température et d'humidité Aosong AM2320 avec Arduino. Ce capteur communique via I2C et nous permet de lire la température en degrés Celsius ou Fahrenheit, ainsi que l'humidité en pourcentage. À la fin de ce tutoriel, vous serez en mesure de réaliser un projet simple qui affiche ces relevés sur le moniteur série.

Le capteur AM2320 est compact et fournit des données fiables pour la température et l'humidité. Il offre une résolution de 0.1°C pour la température et une plage d'humidité de 0-99%. Le processus d'installation consiste à câbler le capteur à l'Arduino et à écrire quelques lignes de code pour lire et afficher les valeurs du capteur. Ce tutoriel vidéo propose un guide pas à pas, incluant des exemples de câblage et de codage (dans la vidéo à 00:00).
Matériel expliqué
Le composant principal de ce projet est le capteur Aosong AM2320. Il fonctionne en utilisant la communication I2C, ce qui simplifie le processus de connexion car il ne nécessite que deux lignes de données (SDA et SCL) ainsi que l'alimentation et la masse. Le capteur mesure la température dans la plage de −40 °C à +80 °C avec une précision de ±0,5 °C et l'humidité de 0 % à 99 % avec une précision similaire. Le capteur est conçu pour une très faible consommation d'énergie, ce qui le rend adapté aux appareils alimentés par batterie.
De plus, le module AM2320 intègre des résistances de pull-up nécessaires à la communication I2C, ce qui aide à stabiliser les signaux sur les lignes SDA et SCL. Cette fonctionnalité simplifie le câblage, car vous n'aurez pas besoin d'ajouter des résistances de pull-up externes.
Détails de la fiche technique
| Fabricant | Aosong |
|---|---|
| Numéro de pièce | AM2320 |
| Tension logique/E/S | 3,1 à 5,5 V |
| Tension d'alimentation | 3,1 à 5,5 V |
| Plage de température | de -40 à +80 °C |
| Plage d'humidité | 0 à 99 % |
| Résolution (Température) | 0,1 °C |
| Résolution (Humidité) | 0,1 % |
| Précision (Température) | ±0,5 °C |
| Précision (Humidité) | ±3 % |
| Paquet | Module |
- Assurez-vous d'une tension d'alimentation correcte (3,1 à 5,5 V).
- Utilisez des résistances de pull-up (typiquement 4,7 kΩ) pour les lignes SDA et SCL.
- Maintenez la plage de température entre -40 °C et +80 °C pour éviter tout dommage.
- Les mesures d'humidité sont précises dans la plage de 0 % à 99 %.
- Surveillez les codes d'erreur lors des relevés (p. ex. : capteur hors ligne).
Instructions de câblage

Pour câbler le capteur AM2320 à l'Arduino, suivez ces étapes attentivement. Tout d'abord, connectez les broches d'alimentation : la broche la plus à gauche de l'AM2320 se connecte au 5V de l'Arduino (ou VCC), tandis que la broche GND se connecte au GND de l'Arduino. La deuxième broche en partant de la gauche (SDA) se connecte à la broche analogique A4 pour un Arduino Uno ou à A20 pour un Arduino Mega. La troisième broche (SCL) va sur A5 pour un Arduino Uno ou A21 pour un Arduino Mega.
De plus, vous devrez connecter une résistance de 4.7 kΩ entre la broche SDA et la ligne 5V et une autre résistance de 4.7 kΩ entre la broche SCL et la ligne 5V. Cela garantit une communication I2C correcte. Si vous utilisez d'autres modèles d'Arduino comme le Leonardo, les broches SDA et SCL seront également A4 et A5, respectivement.
Exemples de code et tutoriel
Jetons un coup d'œil à certaines parties clés du code Arduino utilisé dans ce projet. Tout d'abord, nous initialisons le capteur et configurons la communication série :
#include
AM2320 sensor;
void setup() {
Serial.begin(9600);
sensor.begin();
} Dans cet extrait, nous incluons la bibliothèque nécessaire avec#include <AM2320.h>et créez une instance du capteur. Lesetup()La fonction initialise la communication série à 9600 bauds et démarre le capteur.
Ensuite, nous avons la boucle principale qui lit la température et l'humidité :
if (sensor.measure()) {
Serial.print("Temperature: ");
Serial.print(temp('C'));
Serial.print(" C, Humidity: ");
Serial.print(sensor.getHumidity());
Serial.println("%");
}Ce code vérifie si la mesure du capteur a réussi. Le cas échéant, il affiche la température en degrés Celsius et le pourcentage d'humidité sur le moniteur série. Letemp('C')Cette fonction est appelée pour récupérer la température en degrés Celsius. Si vous voulez la température en degrés Fahrenheit, vous pouvez appelertemp('F').
Démonstration / À quoi s'attendre
Lorsque vous exécutez le programme, vous devriez voir les relevés de température et d'humidité se mettre à jour toutes les demi-secondes dans le moniteur série. Par exemple, la sortie pourrait afficher Température: 23.5 C, Humidité: 50%. Si vous appliquez de la chaleur au capteur, vous devriez observer une augmentation de la température et une diminution de l'humidité, démontrant sa réactivité (dans la vidéo à 11:15).
Horodatages vidéo
- 00:00- Introduction au capteur AM2320
- 01:30- Instructions de câblage
- 03:45- Présentation du code
- 05:15- Démonstration des relevés
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Fiche technique (pdf)
-
Manuel de l'utilisateur du capteur de température et d'humidité I2C Adafruit AM2320
adafruit-am2320-temperature-humidity-i2c-sensor.pdf1.27 MB
Fichier Fritzing
-
Capteur d'humidité et de température AM2320
AM2320 Humidity and Temperature Sensor.fzpz0.01 MB