Station Météo Arduino Portable à 10$ – Nano, DHT22, BMP180 et LCD
Composants et fournitures
| Composant | Quantité | Coût approx. |
|---|---|---|
| Arduino Nano R3 | 1 | 1,89 $ |
| Capteur température/humidité DHT22 | 1 | 3,00 $ |
| Capteur pression BMP180 | 1 | 2,00 $ |
| Écran LCD 16x2 avec interface I2C | 1 | 3,00 $ |
| Plaque d'essai (veroboard), connecteurs, fils | 1 | ~1 $ |
Total : ~10 $
Outils nécessaires
- Fer à souder
- Pince à bec long
- Fils de connexion
Logiciels
- Arduino IDE
À propos du projet




Pour une exposition scientifique au collège, j'ai dû réaliser un projet en deux jours. Avec des températures locales de 34-40°C, une station météo portable s'imposait.
Qu'est-ce qu'une station météo ?
Un appareil qui collecte des données environnementales via divers capteurs : vent, humidité, pluie, température, pression, altitude.
Objectif : station portable mesurant température, humidité, pression et altitude.
Étape 1 : Choix des composants

Initialement sur Uno, je suis passé au Nano pour la compacité. Un Micro aurait été encore plus petit.
Étape 2 : Capteur DHT22 (Température & Humidité)

Le DHT22 (AM2302) fournit un signal numérique calibré. Comparatif :
| Capteur | Avantages | Inconvénients |
|---|---|---|
| DHT11 | Pas de soudure, pas cher, portée 20m | Précision ±2°C / ±5% RH, plage 0-50°C |
| DHT22 | Pas de soudure, meilleure précision, plage -40 à 80°C, portée 20m | Plus sensible, suivi température lent |
| SHT1x | Très stable, faible conso, sommeil auto | Deux interfaces numériques, plage limitée |
Connexion DHT22 : VCC → 5V/3.3V, GND → GND, DATA → Pin 2 Arduino (+ résistance 10k vers GND).
Étape 3 : Capteur BMP180 (Pression & Altitude)

Capteur pression barométrique avec interface I2C. La pression absolue varie avec météo et altitude.
- Pression qui baisse → temps humide/orages (basse pression)
- Pression qui monte → temps clair (haute pression)
L'altitude se calcule : alti = 44330 * [1 - (p/p0)^(1/5.255)] avec p0 = 1013.25 hPa (niveau mer).
Connexion I2C (Nano/Uno) : SDA → A4, SCL → A5, VCC → 3.3V, GND → GND.
Précautions : accès à l'air ambiant (évent), protégé du vent, au frais, au sec, à l'abri de la lumière.
Étape 4 : Réalisation du circuit

Headers femelles découpés et limés pour le Nano, résistance 10k pour DHT22, bus I2C partagé BMP180 + LCD I2C. (Un emplacement libre prévu pour futur module RTC.)
Étape 5 : Code

Bibliothèques requises :
- BMP180 : SparkFun BMP180 Library
- DHT22 : Adafruit DHT Library
- LiquidCrystal_I2C (incluse dans Arduino IDE récent)
Testé sur Arduino IDE 1.6.5.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#include <SFE_BMP180.h>
SFE_BMP180 pressure;
#define ALTITUDE 20.56 // Votre altitude en mètres
#define I2C_ADDR 0x27 // Adresse LCD I2C
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(I2C_ADDR, 16, 2);
float t1, t2;
void setup() {
Serial.begin(9600);
lcd.init(); lcd.backlight();
lcd.print("Weather Station"); delay(5000);
dht.begin(); pressure.begin();
}
void loop() {
char status; double T, P, p0, a;
// Température BMP180
status = pressure.startTemperature();
if(status) { delay(status); status = pressure.getTemperature(T); }
if(status) {
lcd.clear(); lcd.print("Baro Temp:"); lcd.setCursor(0,1); lcd.print(T,2); lcd.print(" C"); t1=T; delay(3000);
// Pression
status = pressure.startPressure(3);
if(status) { delay(status); status = pressure.getPressure(P,T); }
if(status) {
lcd.clear(); lcd.print("Pressure:"); lcd.setCursor(0,1); lcd.print(P,2); lcd.print(" mb"); delay(3000);
p0 = pressure.sealevel(P, ALTITUDE);
a = pressure.altitude(P, p0);
lcd.clear(); lcd.print("Altitude:"); lcd.setCursor(0,1); lcd.print(a,0); lcd.print(" m"); delay(3000);
}
}
// DHT22
float h = dht.readHumidity();
float t = dht.readTemperature(); t2 = t;
lcd.clear(); lcd.print("Humidity:"); lcd.setCursor(0,1); lcd.print(h); lcd.print(" %"); delay(3000);
lcd.clear(); lcd.print("DHT Temp:"); lcd.setCursor(0,1); lcd.print(t); lcd.print(" C"); delay(3000);
lcd.clear(); lcd.print("Mean Temp:"); lcd.setCursor(0,1); lcd.print((t1+t2)/2); lcd.print(" C"); delay(3000);
}
Schéma

Processus de fabrication
- Construction d'une station météo extérieure avec Raspberry Pi 2 et ADS‑WS1
- Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
- Station météo avancée v2.0 : Surveillance en temps réel de température, pression, humidité et altitude
- Construire une Centrale DCC Numérique pour Modélisme Ferroviaire avec Arduino – Application Android Gratuite Incluse
- Station de Mixage Automatique 6-Shooter Pilotée par Arduino – Construisez Votre Propre Robot Barman
- Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
- Construire un piano tactile capacitif portable avec Arduino – Guide étape par étape
- Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
- Détecteur de distance portable – Kit DIY Arduino Nano avec HC-SR04, alimentation 18650 et boîtier imprimé 3D