II Encontro: Brincando com Arduíno
Olá turma, neste encontro do dia 3/5/2019, iniciamos um projeto simples, mas que esperamos ser bem divertido.
A ideia base é passar um pequeno anel por um fio tortuoso e caso encostemos no fio o circuito dará um alarme. caso toquemos 3 ou mais vezes o jogo acaba quando o led vermelho piscar:
Em resumo estes são os passo da brincadeira
Inicio - LEDs verde, amarelo e vermelho, todos apagados
1 toque - acende verde,
2 toque - apago verde, acendo amarelo
3 toque - apago amarelo, acende vermelho
4 toque - piscar vermelho indicando que você perdeu
Nossa atividade:
Eletrônica
Criamos o circuito no simulador virtual utilizando:
Arduino
Leds
Resistores
botão de pressão para simular o fio encostando
Programação:
Desenvolvemos e analisamos o código abaixo:
Revendo os conceitos de:
Variável
comando if
Código
/*
Controle de leds com botão
inicio - verde, amarelo e vermelho apagados
1 pulso - acende verde,
2 pulso - apago verde, acendo amarelo
3 pulso - apago amarelo, acende vermelho
4 pulso - piscar vermelho
*/
int vermelho=12;
int amarelo=11;
int verde=10;
int botao=8;
int pulso=0;
void setup()
{
pinMode(vermelho, OUTPUT);
pinMode(amarelo, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(botao, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(botao) == LOW) { // Botão apertado;
pulso++; // Liga led.
delay(300);
}//fim do if
contar(pulso);
}//fim loop
void piscar(int pin){
digitalWrite(pin, HIGH);
delay(500); // Wait for 1000 millisecond(s)
digitalWrite(pin, LOW);
delay(500); // Wait for 1000 millisecond(s)
}
void contar(int ctd){
if(ctd==1){
digitalWrite(verde, HIGH);
digitalWrite(amarelo,LOW);
digitalWrite(vermelho,LOW);
}
if(ctd==2){
digitalWrite(verde,LOW);
digitalWrite(amarelo,HIGH);
digitalWrite(vermelho,LOW);
}
if(ctd==3){
digitalWrite(verde,LOW);
digitalWrite(amarelo,LOW);
digitalWrite(vermelho,HIGH);
}
if(ctd>3){
digitalWrite(verde,LOW);
digitalWrite(amarelo,LOW);
piscar(vermelho);
}
}
Encontramos algumas dificuldades,
Mas conseguimos resolver a maior parte dela.
Abraco a todos
Nenhum comentário:
Postar um comentário