segunda-feira, 29 de maio de 2017

Sexto encontro - Projeto Semáforo parte 4

Do virtual para o real

Olá turma no encontro do dia 26/05/17, continuamos realizando alterações no programa, desta vez criarmos a função mudarTempo().
Começamos a brincar com o kit de robótica de forma a:
            a)Montar diversos semáforos com as peças físicas do Kit de robótica.
            b)Programar o placa real do arduíno e fazer a as conexões dos fios.
Nossa atividade;
2 Mecânica
2.1 Iniciamos as montagens das estruturas para os leds dos semáforos.

2 Programação
2.1 Criamos a função mudarTempo() para executar a leitura dos botões (colocamos a estrutura de decisão dentro da função).
2.2 Através da IDE, Baixamos o nosso código para a placa do arduino.

3 Eletrônica
3.1 Interligamos os conectores dos leds a placa

               
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() {
  // saida digital
  pinMode(ledVermelho, OUTPUT);
  pinMode(ledAmarelo, OUTPUT);
  pinMode(ledVerde, OUTPUT);
  //entrada digital, botões
  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
  mudarTempo();  
}

//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(10);
}

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(10);
}

//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(10);  
}

//função mudarTempo()
void mudarTempo(){
 if (digitalRead(8)==LOW){
    tempo=2000;
  }
  
  if (digitalRead(7)==LOW){
    tempo=300;
  } 
}

Nesta fase do projeto semáforo aprendemos:
Como transferir nossos programas para a placa do arduíno.
Como funciona partes  das estruturas mecânicas do Kit ATTO.

Desafio: Quando aumentamos o tempo de mudança das cores do semáforo percebemos que o tempo  que as luzes ficam apagada também aumenta.
Como podemos alterar o código para que o tempo das luzes apagadas seja menor?


Abç a todos!

Nenhum comentário:

Postar um comentário