Batteri Monitor - LinkIt en kod bita 1 (3 / 5 steg)
Steg 3: Bettet
Jag bör påpeka att du kan ladda upp och köra den bifogade uppförandekoden av sig själv och det kommer bara ständigt loop, Visa aktuell batterinivå, men det är inte den avsedda användningen. Det är delar bör i stället kopieras till en större skiss, lägga till sin funktionalitet till ett större projekt.
Det finns fyra delar av koden: vad jag kallar initieringar (grejer på toppen, utanför någon funktion), Setup() funktion, Loop() funktion och funktionen som faktiskt kör. Finnas ska med något i alla fyra avsnitt för denna kod. Kan börja högst upp (med koden öppna kommer att göra det lättare att följa med här. Vissa webbläsare kan öppna .ino som text i ett nytt fönster eller tab, FYI).
Initieringar
Det finns tre bibliotek här. #include<Wire.h>
är en Arduino standardbiblioteket. #include<LBattery.h>
är från den LIO bibliotek som innehåller batteriet övervakning funktioner. #include "rgb_lcd.h"
är den Grove LCD bibliotek som vi har just installerat.
Slutligen LCD måste initieras med rgb_lcd lcd;
och då är du redo att gå till...
void setup()
Bara en post här: lcd.begin(16, 2);
. Detta anger storleken på LCD-skärmen i kolumner och sedan rader och ska gå någonstans nära toppen av blocket, men det spelar ingen roll för mycket.
void loop()
Detta är vagaste avsnitt, i brist på bättre ord. Min kod har bara funktionsanropet batteryLevel();
. Ensam i loop funktion det anropas bara i en oändlig slinga men när den genomförs i en större skiss det förmodligen kommer att kallas till följd av lite input. Det har inte ens vara i loop funktion, kan kalla det i dina egna användardefinierade funktioner. I grund och botten när du vill visa batteriets laddningsnivå, kalla denna funktion.
void batteryLevel()
Detta är den verkliga arbetshästen av skiss, det är där allt är faktiskt gjort.
Först finns det vissa hushållning: ställa in en anläggning variabel, prepping den displayen och med läsningen från batteriet.
När det har gjort det växlar utifrån de fyra möjliga fall för batteri läsning: 100, 66, 33 eller 0. varje fall sätter sin egen tillbaka ljus färg (grön, gul, orange, röd, respektive) och visar värdet på den nedersta raden.
Slutligen lägger "Laddning" om styrelsen är inkopplad och en loop fyller det öppna utrymmet på den nedersta raden med prickar och returnerar funktionen.