Projeto Pilha

Criando o circuito da pilha.

=====================================================

Código do projeto pilha


//Variáveis públicas.
int led10 = 10;
int led11 = 11;
int led12 = 12;
int led13 = 13;
int led_v = 3;
int led_c = 2;
int botao1 = 6;
int botao2 = 4;
int contador = 1;
int tempo = 1500;
unsigned long tmp_Pressao;


void setup() {
//Configuração das portas do Arduino.
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led_c, OUTPUT);
pinMode(led_v, OUTPUT);
pinMode(botao1,INPUT);
pinMode(botao2,INPUT);
Serial.begin(9600);
}
//millis() - É uma função interna do Arduino que retorna o
//número de milisegundos desde que a função começou a ser
//executada.

void loop() {
int estado1 = digitalRead(botao1);
int estado2 = digitalRead(botao2);
if(estado1 == HIGH && (millis() - tmp_Pressao) > 1500){
ligar();
}
if(estado2 == HIGH && (millis() - tmp_Pressao) > 1500){
desligar();
}

}//Fim do Laço


void ligar(){
int vaux = contador;
if(contador > 4){
PCheia();
}
else{
switch(contador){
case 1:digitalWrite(led10,HIGH);break;
case 2:digitalWrite(led11,HIGH);break;
case 3:digitalWrite(led12,HIGH);break;
case 4:digitalWrite(led13,HIGH);break;
}
contador = contador + 1; //Incremento do Pilha.
}
delay(tempo);
}//Fim do ligar.


void desligar(){
if(contador == 0){
PVazia();
}
else{
switch(contador){
case 1:digitalWrite(led10,LOW);break;
case 2:digitalWrite(led11,LOW);break;
case 3:digitalWrite(led12,LOW);break;
case 4:digitalWrite(led13,LOW);break;
}
contador = contador - 1;
}
delay(tempo);
}

void PVazia(){
Serial.println("Pilha Vazia");
digitalWrite(led_v,HIGH);
delay(tempo);
digitalWrite(led_v,LOW);
delay(tempo);
}


void PCheia(){
Serial.println("Pilha Cheia");
digitalWrite(led_c,HIGH);
delay(tempo);
digitalWrite(led_c,LOW);
delay(tempo);
}