Arduino Python Multi-Capteur 2.4Ghz

image principale Arduino Python Multi-Capteur 2.4Ghz

Difficulté:

Capteurs températures, pression, humidité sur un Arduino et envoyés par émetteur 2.4Ghz


– avec ce tutoriel vous apprendrez à utiliser Arduino et des capteurs (température, pression et humidité) plus émission/réception en 2.4Ghz. Et en plus la réception sur un Raspberry pi en Python
– L’idée m’est venue en voulant ajouter la pression et l’humidité à mon capteur de température extérieur.
https://www.blog-de-michel.fr

Matériel :

Budget : Non défini

  • Un Arduino uno : Arduino UNO
  • 2 émetteurs/récepteurs en 2.4Ghz : nrf24l01+
  • Un capteur pour la température extérieur : DS18B20 (Waterproof)
  • Un capteur d’humidité (il fait aussi température) : DHT22
  • Un capteur de pression (il faut aussi la température) : BMP180
  • Le matériel :Un Raspberry moi c’est un PI Model B. Le model 3 :  Raspberry PI 3

Etape 1 : Le montage



Un capteur de température intérieur, un capteur de température extérieur, un capteur d’humidité et un capteur de pression le tout connecté à un Arduino et les valeurs transférées par un émetteur en 2.4Ghz. Et pour la réception Raspberry, récepteur 2.4Ghz et du python. Voilà l’objet de ce petit tuto.

Pour le montage de l’émetteur voici le schéma. Rien de très compliqué mais il y y beaucoup de fil…

Bien penser aux résistances de 4.7K sur le récepteur de température et d’humidité. Et surtout attention l’émetteur 2.4Ghz fonctionne sous 3.3V.

Etape 2 : Programmation Arduino


Pour la programmation de l’Arduino il faut quelques biblio :

Le capteur de pression : Barometer, SPI et Wire  . Je vous ajoute tous les liens sur mon GitHup https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz.
Le capteur d’humidité : DHT22
Le capteur de température : DS18D20
L’émetteur 2.4Ghz : RF24

Pour le programme de l’Arduino je vais pas le mettre ici en intégral mais vous pouvez le trouver sur mon GitHub
Par contre quelques informations sur son fonctionnement. Les données à envoyer sont préparées avant l’envoie dans un tableau de char de cette façon :

On crée le char avec une valeur de départ :
char SendPayload[32] = “RS1 :”;

Ensuite on ajoute le valeurs. Chaque valeur est précédé et suivie d’une lettre permettant à la réception son repérage. Par exemple pour la température :
strcat(SendPayload, “T”);
dtostrf(txbuffer[0],2,2,tempstr);
strcat(SendPayload,tempstr);
strcat(SendPayload, “T”);

Et ensuite le char complet est envoyé :
bool ok = radio.write(&SendPayload,sizeof(SendPayload));

Mais comme il y a trop de donnée et que le nombre de caractère est au maximum de 32 il faut faire deux char envoyés à la suite. Chaque char sera repéré à la réception par son numéro “RS1” et “RS2”.

Etape 3 : La réception

"ext-link" href="https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz" rel="nofollow external" target="_blank">https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz
Et d’autre info sur mon blog : "text-decoration:underline;">Modifier mon Tutoriel

Sources :

https://www.blog-de-michel.fr/arduino-python-multi-capteur-2-4ghz-raspberry-pi-3/ https://netbusinessrating.com/fr/register?ref90629


Ces tutoriels devraient vous plaire

vignette Arduino et Porte automatique de poulailler
Arduino et Porte automatique de poulailler
vignette Connecter un  écran LCD en I2C
Connecter un écran LCD en I2C
vignette Arduino Uno - Capteur d'humidité au sol.
Arduino Uno - Capteur d'humidité au sol.

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers