🛠 Fonctionner sur batterie LiPo et économiser l'énergie
Objetivos
Alimentar la MKR WiFi 1010 con una batería LiPo de un solo elemento de 3,7 V (conector JST, se recomiendan ≥1024 mAh) con cargador integrado — el PMIC es el TI BQ24195L (flag core -DUSE_BQ24195L_PMIC) — y construir un ciclo eficiente: medir, transmitir una ráfaga WiFi, dormir (__WFI) hasta una interrupción externa. Recordatorios críticos: el LED ON permanece apagado con batería (riel de 5 V) y VIN solo acepta 5–6 V regulados, no los 6–12 V brutos de los Arduino AVR.
Material
- 1 × Arduino MKR WiFi 1010
- 1 × batería LiPo de una sola celda de 3,7 V (JST PH de 2 pines, respetar la polaridad +/−)
- Botón en un pin con interrupción externa (p. ej. A1, pin 16) para el despertar
- Multímetro para el presupuesto de energía
- >
Código completo
#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), reveil, FALLING);
}
void reveil { /* 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);
}
Verificación esperada
Con batería, la placa funciona correctamente aunque el LED ON esté apagado (comportamiento normal, FAQ oficial). El botón despierta la placa: el monitor (si el USB está conectado para la prueba) muestra una nueva medición. Al desconectar el USB, la corriente medible cae después de WiFi.end — la radio es el primer elemento de consumo.
Errores frecuentes
- Entrar en pánico al ver el LED ON apagado con batería: está conectado al riel de 5 V, no a la batería — es intencional.
- Inyectar 9 V o voltaje no regulado en VIN: entrada de 5–6 V regulados únicamente, por encima de eso daña el regulador.
- Olvidar
WiFi.endantes de dormir: el módulo NINA consume mucho mientras la radio sigue activa. - El despertar no funciona: no todos los pines soportan interrupciones externas (lista: 0, 1, 4, 5, 6, 7, 8, 9, 16/A1, 17/A2) y hay que rearmar
attachInterruptdespués de ciertas rutas de despertar. - >
- Batería almacenada descargada por debajo del umbral de recarga del PMIC: la placa no se enciende, recargarla en banco.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
scan-wifi.inoArduinoconnexion-wpa2.inoArduinohttp-get.inoArduinoserveur-web-led.inoArduinohorloge-ntp.inoArduinoudp-diffusion.inoArduino