🛠 Fonctionner sur batterie LiPo et économiser l'énergie

Arduino MKR WiFi 1010 · avance · Schéma : IMG-mkr-wifi-1010-avance-3-mkrwifi-batterie-sommeil.svg — MKR WiFi 1010 alimentée par une batterie LiPo mono-élément via le connecteur JST, circuit de charge BQ24195L, LED ON éteinte sur batterie, cycle réveil par interruption externe vers le SAMD21 en sommeil.

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

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

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels