Você está na página 1de 2

//********************************************* CONSTANTES

***************************************************
// constantes "imutáveis". (utilizadas para setar os pinos do microcontrolador)

//Saídas:

const int bateria1 = 1; // Seta pino "1" para o comando Bateria 01


const int bateria2 = 3; // Seta pino "2" para o comando Bateria 02
const int bateria3 = 2; // Seta pino "3" para o comando Bateria 03
const int bateria4 = 6; // Seta pino "4" para o comando Bateria 04
const int bateria5 = 7; // Seta pino "5" para o comando Bateria 05
const int ledStatus = 8; // Seta pino "6" para o led de status

long previousMillis = 0; // Variável de controle do tempo


long timer1Interval = 50; // Tempo em ms do intervalo a ser executado TIMER
1

//********************************************* VARIAVEIS
***************************************************
// variáveis:
int intervalo = 0;
int bat1 = 0;
int bat2 = 0;
int bat3 = 0;
int bat4 = 0;
int bat5 = 0;
int sBats = 0;

//********************************************* SETUP
********************************************************

void setup() {

// inicializa os pinos como saídas:


pinMode(bateria1, OUTPUT);
pinMode(bateria2, OUTPUT);
pinMode(bateria3, OUTPUT);
pinMode(bateria4, OUTPUT);
pinMode(bateria5, OUTPUT);
pinMode(ledStatus, OUTPUT);
}

//********************************************* LOOP
********************************************************

void loop() {

bat1 = digitalRead(bateria1);
bat2 = digitalRead(bateria2);
bat3 = digitalRead(bateria3);
bat4 = digitalRead(bateria4);
bat5 = digitalRead(bateria5);

if (intervalo > 2 && intervalo < 8) {digitalWrite(bateria1, HIGH);} else


{digitalWrite(bateria1, LOW);}
if (intervalo > 8 && intervalo < 13) {digitalWrite(bateria2, HIGH);} else
{digitalWrite(bateria2, LOW);}
if (intervalo > 13 && intervalo < 18) {digitalWrite(bateria3, HIGH);} else
{digitalWrite(bateria3, LOW);}
if (intervalo > 18 && intervalo < 23) {digitalWrite(bateria4, HIGH);} else
{digitalWrite(bateria4, LOW);}
if (intervalo > 23 && intervalo < 28) {digitalWrite(bateria5, HIGH);} else
{digitalWrite(bateria5, LOW);}

sBats = (bat1 + bat2 + bat3 + bat4 + bat5);

if (sBats != 0) {digitalWrite(ledStatus, HIGH);} else {digitalWrite(ledStatus,


LOW);}

//--------------------------------------------- Timer 01
----------------------------------------------------
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > timer1Interval) { previousMillis =
currentMillis;

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Controle de tempo


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
intervalo ++;

if (intervalo > 28) {intervalo = 0;}

}
//-------------------------------------------- FIM TIMER 01
-------------------------------------------------

Você também pode gostar