Réalisez ce projet de station météo simple pour les maisons et les bureaux

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons construire un projet intéressant de mini station météo basé sur Arduino, qui peut vous montrer la température ambiante, l'humidité, la pression, la qualité de l'air et bien plus de données de votre environnement, qui peuvent être utilisées pour prédire la météo de la maison.



Si vous êtes intéressé par la météorologie, ce projet peut être utile pour étudier les conditions météorologiques locales et les changements à court terme. Le projet proposé est une conception à semi-conducteurs, ce qui signifie qu'aucune pièce mobile n'existe.

Ce projet peut être placé dans des conditions intérieures ou semi-intérieures, où le circuit est à l'abri de la lumière directe du soleil ou des vents violents ou de l'humidité qui peuvent détériorer les capteurs embarqués.



La conception:

Le projet de circuit de mini station météo proposé est construit autour d'Arduino, qui est le cerveau de la station météo qui collecte beaucoup de données à partir de divers capteurs, les traite et les affiche sur un écran LCD 16x2.

Vous pouvez choisir votre carte arduino préférée pour ce projet. Le circuit se compose de trois capteurs MQ-135, BMP180 et DHT11. Voyons en détail ce que fait chaque capteur.

Capteur MQ-135:

Le MQ-135 est un capteur de mesure de la qualité de l'air, qui peut détecter le dioxyde de carbone, l'alcool, le benzène, la fumée, le butane, le propane, etc. Si la concentration chimique de ces gaz est élevée dans l'air, alors nous pouvons dire que l'air est pollué.

Le capteur peut détecter un changement de concentration de polluants dans l'air et émet un niveau de tension approprié. La tension de sortie du capteur est directement proportionnelle au niveau de concentration chimique dans l’air.

La variation de tension du capteur est transmise à Arduino, nous avons des niveaux de seuil prédéterminés dans le programme. Lorsqu'il franchit le seuil, le microcontrôleur nous indique si l'air est sûr ou non.

Schéma

Interface capteur MQ135 avec circuit de station météo

Le schéma ci-dessus montre le schéma de câblage. Ce capteur a besoin d'une alimentation externe de 5 V car il a un élément chauffant à l'intérieur du capteur qui consomme environ 1 Watt. L'alimentation de la broche d'alimentation d'arduino ne peut pas fournir un courant plus élevé.

L'élément chauffant maintient le capteur au chaud et aide à prélever une quantité appropriée de concentration chimique dans l'air. Le capteur prend environ quelques minutes pour atteindre la température optimale.

Capteur DHT11:

Le capteur DHT11 est communément appelé capteur de température et d'humidité. Il peut mesurer la température et l'humidité de l'environnement comme son nom l'indique.

Il s'agit d'un appareil à 4 broches mais seuls 3 d'entre eux sont utilisés. Cela peut ressembler à un composant très simple, mais il possède un microcontrôleur à l'intérieur du capteur qui transmet les données sous forme numérique à la carte arduino.

Il envoie des données 8 bits toutes les secondes à arduino, pour décoder le signal reçu, nous devons inclure la bibliothèque dans le code qui est conçu pour le gérer. Le lien vers la bibliothèque est donné plus loin dans l'article.

Schéma:

interface DH11 avec arduino

La connexion du circuit du capteur à l'arduino est très simple. La sortie du capteur est connectée à la broche A1 de l'arduino. L'alimentation Vcc et GND sont connectées aux broches d'alimentation d'arduino.

Remarque: veuillez vous assurer que votre capteur a une résistance de rappel vers le haut intégrée, s'il n'en a pas, connectez une résistance de rappel de 4,7K à la broche de sortie du capteur DHT11.

Capteur BMP180:

Le BMP180 est un capteur barométrique, il peut mesurer la pression atmosphérique, l'altitude et la température. La mesure de la température de ce capteur est négligée car nous avons un capteur dédié pour mesurer la température ambiante.

Le capteur mesure l'altitude de l'installation à partir du niveau de la mer, c'est aussi l'un des paramètres utilisés en météorologie.

Schéma:

interfacer BM180 avec Arduino
Il utilise le protocole de communication I2C, la broche SDA va à A4 d'arduino et SCL va à A5 d'arduino. Le Vcc et GND sont connectés aux broches d'alimentation d'arduino.

Connexion LCD:

capteur d


L'écran LCD affiche toutes les données des capteurs. La connexion entre l'écran LCD et arduino est standard, nous pouvons trouver une connexion similaire sur de nombreux autres projets LCD. Ajustez le potentiomètre 10K pour une visibilité optimale depuis l'écran LCD.

Prototype de l’auteur:

Image prototype de station météo

Voici le prototype de l'auteur d'un mini circuit de surveillance météorologique où tous les capteurs représentés sur les schémas sont connectés à la carte arduino.

Remarque: la connexion de circuit de chaque capteur et écran LCD doit être connectée à une seule carte Arduino. Nous avons donné une connexion de capteur discrète sur chaque schéma pour éviter toute confusion lors de la duplication du circuit.

Téléchargez les fichiers de la bibliothèque avant de télécharger le code:

Bibliothèque DHT11: https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Bibliothèque BMP180: github.com/adafruit/Adafruit_BMP085_Unified.git

Code de programme:

#include
#include
#include
#include
#define DHTxxPIN A1
LiquidCrystal lcd(12,11,5,4,3,2)
dht DHT
Adafruit_BMP085 bmp
int ack
int input = A0
unsigned long A = 1000L
unsigned long B = A * 60
unsigned long C = B * 2
int low = 300
int med = 500
int high = 700
int x = 4000
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('Sensors are')
lcd.setCursor(0,1)
lcd.print('getting ready')
delay(C)
}
void loop()
{
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Temp(*C)= ')
lcd.print(DHT.temperature)
lcd.setCursor(0,1)
lcd.print('Humidity(%) = ')
lcd.print(DHT.humidity)
delay(x)
}
if(ack==1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('NO DATA')
lcd.setCursor(0,1)
lcd.print('Check Sensor')
delay(x)
}
if (!bmp.begin())
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('BMP180 sensor')
lcd.setCursor(0,1)
lcd.print('not found')
while (1) {}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Pressure---- ')
lcd.setCursor(0,1)
lcd.print(bmp.readPressure())
lcd.print(' Pascal')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Altitude----')
lcd.setCursor(0,1)
lcd.print(bmp.readAltitude(101500))
lcd.print(' meter')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' Air Quality:')
if(analogRead(input)==0)
{
lcd.setCursor(0,1)
lcd.print(' Sensor Error')
delay(x)
}
if(analogRead(input)0)
{
lcd.setCursor(0,1)
lcd.print(' GOOD')
delay(x)
}
if(analogRead(input)>low && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' GETTING BAD')
delay(x)
}
if(analogRead(input)>=med && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' VERY POOR')
delay(x)
}
if(analogRead(input)>=high)
{
lcd.setCursor(0,1)
lcd.print(' WORST')
delay(x)
}
}

REMARQUE:

Le circuit de la mini station météo expliqué prend 2 minutes pour afficher les lectures du capteur, jusqu'à ce qu'il affiche «Les capteurs se préparent». En effet, le capteur MQ-135 met 2 minutes pour atteindre la température de fonctionnement optimale.




Une paire de: Comment construire un sèche-linge simple pour la saison des pluies Un article: Circuit de voiture jouet à clap