Paso 3: La mordedura
Quisiera señalar una vez más que se puede subir y ejecutar por sí mismo y el código adjunto se lazo solo constantemente, mostrando el nivel de batería actual, pero que no es el uso previsto. En lugar de que las partes deben copiarse en un bosquejo más grande, agregar la funcionalidad a un proyecto más amplio.
El código consta de cuatro secciones: Qué voy a llamar inicializaciones (la materia en la parte superior, fuera de cualquier función), la función Setup(), la función Loop() y la función de usuario que está ejecutando. Usted contará con algo en las cuatro secciones de este código. Permite comenzar en la parte superior (teniendo el código abierto facilitará seguir por aquí. Algunos navegadores pueden abrir el .ino como texto en una nueva ventana o pestaña, FYI).
Inicializaciones
Hay tres bibliotecas en el trabajo aquí. #include<Wire.h>
es una librería de Arduino standard. #include<LBattery.h>
es de sistema de biblioteca de LIO e incluye la funcionalidad de control de la batería. #include "rgb_lcd.h"
es la biblioteca del Grove LCD que acaba de instalar.
Finalmente la pantalla LCD debe ser inicializada con rgb_lcd lcd;
y entonces estarás listo para pasar a...
void setup()
Sólo una entrada aquí: lcd.begin(16, 2);
. Esto establece el tamaño de la pantalla LCD en columnas y filas y debe ir a algún lugar cerca de la parte superior del bloque, pero no importa demasiado.
void loop()
Esta es la sección más vaga, por falta de una palabra mejor. Mi código sólo tiene la función llamada batteryLevel();
. A solo en la función loop se obtiene de llamar en un bucle infinito, pero cuando se implementa en un bosquejo más grande probablemente se llamará como el resultado de algunas entradas. Incluso no tiene que ser en la función de bucle, puede llamar en sus propias funciones definidas por el usuario. Básicamente, en cualquier momento que desea mostrar el nivel de carga de batería, llamar a esta función.
void batteryLevel()
Esto es el real del bosquejo, es donde todo se hace realidad.
Primero hay algunos limpieza: una variable de explotación, preparando el la pantalla y tomando la lectura de la batería.
Una vez que ha hecho interruptores basados en los cuatro casos posibles para la lectura de la batería: 100, 66, 33 o 0. cada caso configura su propia color luz de fondo (verde, amarillo, naranja, rojo, respectivamente) y muestra el valor en la línea de fondo.
Finalmente agrega "Cobrando" si la Junta está enchufada y un lazo llena los espacios restantes en la fila inferior con puntos y la función devuelve.