FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

5 Astuces Experts pour Économiser l'Énergie sur Arduino et Prolonger l'Autonomie des Jours

Les cartes Arduino ont révolutionné les projets de technologie DIY. Par exemple, créer un feu de signalisation miniature avec Arduino est idéal pour initier les débutants à l'électronique et à la programmation.

Les Arduino excellent dans les projets domestiques et sont parfaits pour une utilisation nomade avec une batterie. Cependant, même la plus grande batterie s'épuise rapidement avec une carte Arduino standard.

Pour une autonomie prolongée, appliquez ces ajustements et modifications éprouvés.

1. Bibliothèques logicielles pour une basse consommation Arduino

Plusieurs bibliothèques optimisent la consommation d'énergie en plaçant l'Arduino en veille profonde entre les opérations. Idéal pour les capteurs en zones isolées comme les stations météo ou la détection de sous-circuits.

La bibliothèque Low-Power de Rocket Scream (utilisateur GitHub) est simple et efficace. Voici un exemple de code :

#include "LowPower.h"

void setup() {
  // Configurez vos capteurs/LED ici
}

void loop() {
  // Met l'Arduino en veille 8 secondes
  // ADC_OFF : conversion analogique-numérique désactivée
  // BOD_OFF : détection de baisse de tension désactivée
  LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);

  // Après réveil : lisez un capteur et envoyez les données
}

Ce code réduit la consommation en désactivant l'ADC (coûteux même inactif) et le BOD (qui stoppe l'exécution si tension faible). Une base solide pour l'optimisation !

2. Fonctions de veille intégrées à Arduino

Le langage Arduino inclut une fonction sleep couplée aux interruptions pour réveiller la carte.

Configurez une broche d'interruption (pins 2 ou 3 sur Uno) :

#define interruptPin 2

void setup() {
  pinMode(interruptPin, INPUT_PULLUP);
}

Créez ces fonctions pour la veille :

void sendToSleep() {
  sleep_enable();
  attachInterrupt(digitalPinToInterrupt(interruptPin), wakeUp, LOW);
  sleep_cpu();
  Serial.println("Réveil !");
}

void wakeUp() {
  sleep_disable();
  detachInterrupt(digitalPinToInterrupt(interruptPin));
}

Connectez la pin 2 à GND pour réveiller. Sur Uno : de 11 mA à quasi zéro ; sur Pro Mini : de 25 mA à 0,57 mA. Consultez The Kurks pour approfondir les interruptions.

3. Réduire la vitesse d'horloge Arduino

Les Arduino tournent à 8-16 MHz (Teensy jusqu'à 180 MHz). Réduisez-la via logiciel pour économiser, mais attention : risque de brickage si mal fait.

Le guide de Pieter P offre des outils IDE pour ajuster la fréquence dynamiquement.

4. Remplacer les composants gourmands en énergie

L'Uno est polyvalent mais énergivore (régulateur de tension principal coupable). Remplacez-le par un convertisseur DC-DC abaisseur : Patrick Fenner (DefProc Engineering) a divisé par deux la consommation.

5. Concevez votre propre Arduino

Créez un circuit sur mesure : contrôle total, consommation en veille à 15,15 mA ou 0,36 mA (Nick Gammon). Son forum détaille tout.

Arduino : Grandes Idées, Faible Empreinte Énergétique

Pour les débutants, l'énergie n'est pas prioritaire. Mais pour projets ambitieux, ces techniques transforment vos créations en appareils autonomes et innovants. Bonne bricole !

[]