Paso 11: Optimización de energía por uso modo de sueño
Los datos meteorológicos no cambian con frecuencia. Así que podemos tomar la lectura en un intervalo de 5 minutos. Como estamos tomando lecturas a intervalos regulares, es una manera fantástica para ahorrar mucha energía. Un sistema con los horarios de sueño apropiado puede funcionar durante varios meses con sólo dos pilas AA. Somos tan afortunados que Arduino tiene varios modos de sueño que pueden utilizarse para reducir el consumo de energía.
Esto es más útil para cualquier redes de sensores. Puede utilizar este trucos en cualquiera de su proyecto de sensor de independiente.
Después de buscar a través de internet para uso de los modos de sueño, encontré una biblioteca simple pero potente por
Grito de cohete tiene un ligero baja potencia biblioteca con toda la energía hacia abajo modos AVR. Cada modo tiene un método asociado biblioteca que te permite controlar la duración del sueño mediante el temporizador del vigilante. Para un programador novato como yo es muy simple y fácil de usar.
Cómo utilizar la biblioteca de baja potencia:
1. descargar la librería desde GitHub
2 Extraiga el archivo zip a la librería de arduino en el ordenador.
3 importación de la biblioteca en el código.
4 Escriba el siguiente código de una línea para ahorro de energía.
"LowPower.powerDown (SLEEP_1S, ADC_OFF, BOD_OFF);"
También puede pasar argumentos diferentes para apagar periféricos individuales. Diferentes argumentos y sueño tiempo consulte la tabla proporcionada por Ligero bajo poder Arduino biblioteca.
código de ejemplo:
#include "LowPower.h"
void setup()
{
Ninguna disposición se requiere para esta biblioteca
}
void loop()
{
Dormir de 8 s con módulo ADC y DBO de
LowPower.powerDown (SLEEP_8S, ADC_OFF, BOD_OFF);
Hacer algo aquí
Ejemplo: leer sensores, datos de registro, transmitir datos
}
Permite utilizar en el código de parpadeo de ejemplo IDE de arduino
Aplicar "Biblioteca de baja potencia" en el código de parpadeo
#include "LowPower.h" / / importación de la biblioteca de lowpoer
int led = 13;
void setup()
{
pinMode (led, salida);
}
void loop()
{
digitalWrite (led, alto);
LowPower.powerDown (SLEEP_1S, ADC_OFF, BOD_OFF); en vez de delay(1000);
digitalWrite (led, baja);
LowPower.powerDown (SLEEP_1S, ADC_OFF, BOD_OFF); en vez de delay(1000);
}
Antes de utilizar la biblioteca de baja potencia actual tomadas por arduino
51.7ma cuando el led está encendido
47mA cuando el led está apagado
Después de utilizar la biblioteca de baja potencia actual tomada por arduino
34.93mA cuando el led está encendido
31.73mA cuando el led está apagado
¿Eres feliz reducir la energía de 32.43%?? Hey todavía hay espacio para reducir el consumo de energía.
Tu placa arduino tiene diferente poder chupar componentes como led de potencia, regulador de voltaje y chip de interfaz USB que lleva la mayoría de la energía incluso cuando está inactivo. Para otras alternativas vea el siguiente paso.