🛠 Station météo connectée simple avec le ToughC5
Objectifs
Ce tutoriel vise à créer une station météo de bureau autonome. Vous apprendrez à initialiser l'écran tactile ILI9342C, à lire l'horloge temps réel (RTC RX8130CE) pour afficher l'heure, et à simuler ou lire une température pour l'afficher. C'est une introduction idéale aux interfaces utilisateur et à la gestion de l'énergie sur le M5Stack ToughC5.
Matériel nécessaire
- Carte M5Stack ToughC5 IoT Dev Kit
- Câble USB Type-C pour l'alimentation et le flash
- Ordinateur avec Arduino IDE installé
- Bibliothèque M5GFX et M5Unified (via le gestionnaire de bibliothèques)
Étapes
- Configuration de l'environnement : Ouvrez Arduino IDE. Allez dans
Outils>Gestionnaire de bibliothèques. Recherchez et installezM5UnifiedetM5GFX. Ces bibliothèques simplifient grandement le contrôle de l'écran et du tactile.
- Sélection du port : Connectez le ToughC5 via USB. Dans
Outils>Port, sélectionnez le port série correspondant à votre appareil.
- Code de base : Créez un nouveau croquis. Copiez le code suivant qui initialise l'affichage et le RTC :
#include <M5Unified.h>
void setup() {
auto cfg = M5.config();
M5.begin(cfg);
M5.Display.setTextSize(2);
M5.Display.setTextColor(WHITE, BLACK);
M5.Display.fillScreen(BLACK);
M5.Display.setCursor(10, 10);
M5.Display.println("ToughC5 IoT");
}
void loop() {
M5.update();
// Récupération de l'heure du RTC
auto rtc = M5.Rtc.getDateTime();
M5.Display.fillRect(0, 50, 320, 100, BLACK);
M5.Display.setCursor(10, 60);
M5.Display.printf("Heure: %02d:%02d:%02d\\n", rtc.hour, rtc.minute, rtc.second);
M5.Display.setCursor(10, 90);
M5.Display.println("Temp: 22.5 C"); // Simulation
delay(1000);
}
- Téléversement : Cliquez sur le bouton 'Téléverser'. Attendez la fin de la compilation et du flash.
- Test tactile : Une fois l'appareil démarré, l'écran affiche l'heure. Vous pouvez ajouter du code dans
loop()pour réagir aux touches avecM5.Touch.getDetail().
Vérification
L'écran doit s'allumer avec un fond noir. Le texte "ToughC5 IoT" apparaît en haut. En dessous, l'heure doit s'incrémenter chaque seconde, prouvant que le RTC RX8130CE fonctionne. La température simulée reste fixe. Si l'écran est éteint, vérifiez que le câble USB fournit bien 5V.
Pour aller plus loin
Remplacez la température simulée par une lecture réelle via un capteur DS18B20 connecté sur les ports HY2.0-4P (GPIO). Configurez le buzzer passif pour émettre un bip sonore à chaque changement d'heure.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
toughc5_gpio_button_buzzer.inoC++ (Arduino)toughc5_wifi6_scanner.inoC++ (Arduino)toughc5_rtc_battery_log.inoC++ (Arduino)toughc5_ili9342c_touch_ui.inoC++ (Arduino)toughc5_rs485_modbus_master.inoC++ (Arduino)toughc5-rs485-modbus-master.inoArduino C++