Olá turma no encontro do dia 19/05/17 continuamos fazendo
melhorias no nosso semáforo, desta vez focamos na programação.
Nossa atividade;
1 Programação
1.1 Criamos mais duas funções para armazenar e executar blocos de código
dos LEDs amarelo e vermelho
1.2 Vimos como funciona uma estrutura de decisão, no caso, o comando if.
1.3 Melhoramos as entradas dos botões no arduino habilitando os pull ups
internos do arduino, o que garante entradas mais precisas.
Sem os pull ups podem
ocorrer disparos nos botões.
pinMode(8,
INPUT_PULLUP);
pinMode(7,
INPUT_PULLUP);
Segue o novo código para vocês analisarem e brincarem.
// os números são os pinos que controlam os leds
nas suas respectivas cores
// give
it a name:
int
ledVermelho = 10;
int
ledAmarelo = 11;
int
ledVerde = 12;
int
tempo = 500;
// the
setup routine runs once when you press reset:
//configura os pinos do Arduino como saida(OUTPUT)
void
setup() {
// initialize the digital pin as an output.
pinMode(ledVermelho,
OUTPUT);
pinMode(ledAmarelo, OUTPUT);
pinMode(ledVerde, OUTPUT);
//configura os pinos 6 e 9 do Arduino como entrada(INPUT)
pinMode(8, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
}
// the
loop routine runs over and over again forever:
void loop() {
verde();
amarelo();
vermelho();
//tomar uma decisão quando o botão estiver apertado sinal LOW
if (digitalRead(8)==LOW){
tempo=2000;
}
if (digitalRead(7)==LOW){
tempo=300;
}
}
//função
verde
void
verde() {
digitalWrite(ledVerde,
HIGH); // turn the LED on (HIGH is the
voltage level)
delay(tempo); // espera 1 segundo
digitalWrite(ledVerde,
LOW); // turn the LED off by making
the voltage LOW - apaga o led
delay(tempo);
}
void amarelo() {
digitalWrite(ledAmarelo, HIGH); // turn the LED on (HIGH is the voltage
level)
delay(tempo); // wait for a second
digitalWrite(ledAmarelo, LOW); // turn the LED off by making the voltage
LOW
delay(tempo);
}
//função vermelho
void vermelho(){
digitalWrite(ledVermelho, HIGH);
// turn the LED on (HIGH is the voltage level)
delay(tempo); // wait for a second
digitalWrite(ledVermelho, LOW); // turn the LED off by making the voltage
LOW
delay(tempo);
}
Nesta fase do projeto semáforo revimos:
Configurar os pinos digitais do arduino como entrada (INPUT) ou saída
(OUTPUT).
Alterar valores de variáveis.
Criação de funções.
Nesta fase do projeto semáforo aprendemos:
Uso de pull ups internos na placa do arduino.
Utilizar estrutura de decisão: comando if.
Como desafio, tentem criar uma função chamada de mudarTempo() para a estrutura de
decisão e depois usá-la dentro da função loop!
Abç a todos!
Nenhum comentário:
Postar um comentário