🛠 Fonctionner sur batterie LiPo et économiser l'énergie
Objectifs
Alimenter la MKR WiFi 1010 sur LiPo mono-élément 3,7 V (connecteur JST, ≥1024 mAh conseillés) avec chargeur embarqué — le PMIC est le TI BQ24195L (flag core -DUSE_BQ24195L_PMIC) — et bâtir un cycle économe : mesurer, transmettre une rafale WiFi, dormir (__WFI) jusqu'à une interruption externe. Rappels critiques : la LED ON reste éteinte sur batterie (rail 5 V) et VIN n'accepte que 5–6 V régulés, pas le 6–12 V brut des Arduino AVR.
Matériel
- 1 × Arduino MKR WiFi 1010
- 1 × batterie LiPo simple cellule 3,7 V (JST PH 2 broches, respect du sens +/−)
- Bouton sur une broche à interruption externe (ex. A1, pin 16) pour le réveil
- Multimètre pour le budget d'énergie
- >
Code complet
#include <WiFiNINA.h>
const uint8_t PIN_WAKE = A1; // pin 16, interruption externe possible
void setup {
Serial.begin(115200);
pinMode(PIN_WAKE, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(PIN_WAKE), réveil, FALLING);
}
void réveil { /* reveille le SAMD21 via __WFI */ }
void loop {
// 1) Rafale : lecture capteur + envoi rapide
Serial.println("mesure...");
// ... lecture ADC, connexion WiFi, envoi, WiFi.end ...
WiFi.disconnect;
WiFi.end; // coupe la radio NINA, gros gain
// 2) Sommeil : le CPU attend l'interruption (broche 0,1,4,5,6,7,8,9,
// 16/A1, 17/A2 supportent les interruptions externes).
noInterrupts;
if (digitalRead(PIN_WAKE) == HIGH) { // pas d'appui deja en cours
__WFI;
}
interrupts;
delay(100);
}
Vérification attendue
Sur batterie, la carte fonctionne bien que la LED ON soit éteinte (comportement normal, FAQ officielle). Le bouton réveille la carte : le moniteur (si USB branché pour le test) affiche une nouvelle mesure. En débranchant l'USB, le courant mesurable chute après WiFi.end — la radio est le premier poste de consommation.
Erreurs fréquentes
- Paniquer voir la LED ON éteinte sur batterie : elle est câblée sur le 5 V, pas sur la batterie — c'est voulu.
- Injecter 9 V ou du non régulé sur VIN : entrée 5–6 V régulés uniquement, au-delà vous endommagez le régulateur.
- Oublier
WiFi.endavant de dormir : le NINA consomme énormément tant que la radio reste active. - Réveil qui ne marche pas : toutes les broches ne supportent pas les interruptions externes (liste : 0, 1, 4, 5, 6, 7, 8, 9, 16/A1, 17/A2) et il faut ré-armer
attachInterruptaprès certains chemins de réveil. - >
- Batterie stockée déchargée sous le seuil de recharge du PMIC : la carte ne se rallume pas, recharger au banc.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
scan-wifi.inoArduinoconnexion-wpa2.inoArduinohttp-get.inoArduinoserveur-web-led.inoArduinohorloge-ntp.inoArduinoudp-diffusion.inoArduino