Station météo STM32
InformatiqueTechnologieSTM32 IoT NodeCapteurs intégrés (T, P, H)AnémomètreÉcran OLED SSD1306MakeCode
| Projet | Durée | Difficulté | Âge |
|---|---|---|---|
| The Dexter Lab | 1-2 heures | Avancé | 13-18 ans |
Matériel
- 1 carte programmable "STM32 IoT Node Board"
- 1 anémomètre (imprimable 3D)
- 1 écran OLED SSD1306
- 1 breadboard + câbles
- 1 câble USB - micro B
De quoi parle-t-on ?
Cette fiche technique accompagne la ressource Solution météo. Elle réunit tous les programmes MakeCode nécessaires pour construire une mini-station météo : température, pression, humidité, vitesse du vent, puis l'affichage synthétique sur un écran OLED.





Objectifs d'apprentissage
- Utiliser les capteurs internes de la STM32 (température, pression, humidité)
- Programmer un anémomètre externe et calculer une vitesse
- Combiner plusieurs mesures dans un même programme
- Afficher une station météo complète sur un écran OLED
Étape 1 : Mesure de la température
Serial.attachToConsole()
forever(function () {
Serial.writeValue("temperature", input.temperature(TemperatureUnit.Celsius))
pause(500)
})
Étape 2 : Mesure de la pression atmosphérique
Serial.attachToConsole()
forever(function () {
Serial.writeValue("pression", input.pressure(PressureUnit.HectoPascal))
pause(500)
})
Étape 3 : Mesure de l'humidité relative
Serial.attachToConsole()
forever(function () {
Serial.writeValue("humidity", input.humidity())
pause(500)
})
Étape 4 : Mesure de la vitesse du vent
let period = 3
let armLength = 0.1
let speed = 0
Serial.attachToConsole()
forever(function () {
speed = 2 * Math.PI * armLength * input.getAnemometerRotationPerUnit(pins.A0, AnemometerUnit.RPS, period) * 3.6
Serial.writeValue("speed", speed)
})
Étape 5 : Station météo complète sur écran OLED
Câblage anémomètre :
- Broche '-' de l'anémomètre → bande '-' de la breadboard
- GND de la carte → bande '-' de la breadboard
- Broche '+' de l'anémomètre → bande '+' de la breadboard
- 3.3V de la carte → bande '+' de la breadboard
- Broche Signal de l'anémomètre → A0 de la carte
Câblage écran OLED I2C : GND, VCC, SDA (D14), SCL (D15).
Installez les extensions anemometer et oled.
let wind = 0
function getAnemometerSpeed (armLength: number, period: number) {
return 2 * Math.PI * armLength * input.getAnemometerRotationPerUnit(pins.A0, AnemometerUnit.RPS, period) * 3.6
}
forever(function () {
wind = getAnemometerSpeed(0.1, 1)
oled.clear()
oled.showValue("temperature", input.temperature(TemperatureUnit.Celsius), 1)
oled.showValue("pressure", input.pressure(PressureUnit.HectoPascal), 2)
oled.showValue("humidity", input.humidity(), 3)
oled.showValue("wind speed", wind, 4)
pause(1000)
})
Cette fiche fait partie du projet The Dexter Lab, financé par le programme Erasmus+. Contenu sous licence CC BY-SA 4.0.