Stap 11: POWER optimalisatie door SLAAPSTAND met behulp van
De weergegevens niet vaak worden gewijzigd. Zo kunnen we lezen met een tussenpoos van 5mins. Als wij lezingen op gezette tijden nemen, is het een fantastische manier om te besparen veel macht. Een systeem met passende slaap schema's aankan maandenlang op slechts twee AA batterijen. We zijn zo gelukkig dat Arduino verschillende slaap zedig die kunnen worden gebruikt heeft om het energieverbruik verlagen.
Dit is vooral handig voor elke sensornetwerken. U kunt deze trucs gebruiken in om het even welk van uw stand-alone sensor project.
Na zoeken via het internet voor het gebruik van de slaap zedig, vond ik een eenvoudige maar krachtige bibliotheek door
Raket Scream is een lichtgewicht Low Power bibliotheek ondersteunt alle AVR uitzetten in de modi. Elke modus heeft een bijbehorende mediawisselaar methode waarmee u controle van slaap duur met behulp van de watchdog-timer. Voor een beginnende programmeur als ik is het zeer eenvoudig en makkelijk te gebruiken.
Het gebruik van de LowPower bibliotheek:
1. download de bibliotheek van GitHub
2. extract het zip-bestand aan de bibliotheek van de arduino op uw computer.
3. importeren de bibliotheek in uw code.
4. de volgende één regel programmacode schrijven voor energiebesparing.
"LowPower.powerDown (SLEEP_1S, ADC_OFF, BOD_OFF);"
U kunt ook verschillende argumenten voor dicht vandoor individuele randapparatuur doorgeven. Raadpleeg de tabel geboden door Lichtgewicht Low Power Arduino bibliotheekvoor verschillende argument en slaap tijd.
voorbeeldcode:
#include "LowPower.h"
VOID Setup
{
Geen installatie is vereist voor deze bibliotheek
}
void loop
{
Slapen voor 8 s met ADC-module en BZV module uit
LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF);
Iets hier doen
Voorbeeld: lezen van sensor, gegevens vastleggen, gegevens doorgeven
}
Kunt gebruiken in het Knipoogje gedragscode van de arduino IDE voorbeeld
"LowPower bibliotheek" toepassen in Blink-code
#include "LowPower.h" / / de lowpoer-bibliotheek importeren
int geleid = 13;
VOID Setup
{
pinMode led (, uitvoer);
}
void loop
{
digitalWrite (led, hoog);
LowPower.powerDown (SLEEP_1S, ADC_OFF, BOD_OFF); in plaats van delay(1000);
digitalWrite (led, laag);
LowPower.powerDown (SLEEP_1S, ADC_OFF, BOD_OFF); in plaats van delay(1000);
}
Voordat u de Lowpower bibliotheek huidige genomen door arduino
51.7mA toen leidde brandt
47mA toen leidde is OFF
Na het gebruik van de Lowpower bibliotheek huidige genomen door arduino
34.93mA toen leidde brandt
31.73mA toen leidde is OFF
Bent u tevreden met 32.43% verminderen? Hey is er nog ruimte om te verminderen van het energieverbruik.
Je arduino board hebben verschillende macht zuigen componenten zoals macht geleid, spanningsregelaar en USB interface chip waarin de meeste van de macht, zelfs als het niet actief is. Zie de volgende stap voor andere alternatieven.