🛠 Faire clignoter la LED embarquée et lire la batterie
Objectifs
Prendre en main l'Arduino MKR GSM 1400 sans utiliser le module cellulaire : faire clignoter la LED embarquée (broche D6, LED_BUILTIN) et lire la tension de la batterie LiPo via le canal analogique ADC_BATTERY (canal 32, ADC 12 bits). Ce tutoriel valide le port USB, le bootloader SAM-BA et la console série avant toute manipulation GSM, où les problèmes d'alimentation sont fréquents.
Matériel
- Carte Arduino MKR GSM 1400 (ATSAMD21G18A, Cortex-M0+ 48 MHz)
- Batterie LiPo 3,7 V d'au moins 1500 mAh sur les pads batterie (Arduino la déclare obligatoire dès que le module radio est sollicité ; ici elle est conseillée pour prendre le bon réflexe)
- Câble micro-USB de données (pas un simple câble de charge)
- Arduino IDE avec le core « Arduino SAMD Boards » et la carte « Arduino MKR GSM 1400 » sélectionnée
Code complet
// LED embarquée D6 + lecture brute de la batterie (module GSM inutilise)
void setup {
pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN = broche 6 (variant.h du core)
Serial.begin(9600); // Sur SAMD21, Serial == SerialUSB (CDC)
}
void loop {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // bascule a chaque tour
int raw = analogRead(ADC_BATTERY); // canal 32, ADC 12 bits
Serial.print("VBAT raw: ");
Serial.println(raw);
delay(500);
}
Vérification attendue
Après double-clic sur le bouton RST puis upload (outil bossac), la LED embarquée clignote toutes les 500 ms environ et la console USB (9600 bauds) affiche une valeur brute qui suit la charge de la batterie. Sans batterie, la lecture change ou tombe à une valeur fixe : c'est normal, le senseur de tension (ADC_BATTERY) dépend de l'alimentation réelle du bord.
Erreurs fréquentes
- Mauvaise carte sélectionnée dans l'IDE : il faut « Arduino MKR GSM 1400 », pas « MKR WiFi 1010 » ni « Zero ».
- Câble USB de charge seule : le port n'apparaît jamais ; essayer un autre câble et un autre port.
- Confondre la valeur brute et des volts : le diviseur VBAT avant l'ADC n'est pas documenté de façon fiable. >
- La LED Power reste allumée sur batterie : comportement connu et non résolu (ArduinoCore-samd #515), sans gravité.
Serialmuet : la carte est bien alimentée ? Le moniteur série est ouvert APRÈS l'upload, sur le bon port ?
Autres tutoriels pour cette carte
Exemples de code pour cette carte
gsm-connexion.inoArduinoenvoi-sms.inoArduinohttp-get.inoArduinohttp-post-capteur.inoArduinoheure-gsm.inoArduinoappels.inoArduino