Tuesday, October 25, 2016

4. Porta lógica

Assista o vídeo, entenda o funcionamento de uma porta lógica no Arduino e implemente a simulação correspondente, como mostrada abaixo


O circuito simulado em Tinkercad é mostrado abaixo: 



O código para este projeto é dado a seguir:

// the setup routine runs once when you press reset:
void setup() {
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(7, INPUT);
}
// the loop routine runs over and over again forever:
void loop() {
  int estado;
  estado = digitalRead(7);
  digitalWrite(10, estado);
  digitalWrite(9, !estado);
}

Quando a chave é acionada o led vermelho se apaga e verde se acende. Notemos que quando a chave está aberta a tensão na porta 7 é zero (o mesmo do terminal terra), de modo que estado = LOW, a porta 10 fica LOW e a 9 fica !LOW = HIGH. Quando a chave fecha a tensão na porta -7 é HIGH.

Uma variação do mesmo projeto, usando o resistor interno do Arduino é mostrada a seguir.



O código é modificado na linha em vermelho:

// the setup routine runs once when you press reset:
void setup() {
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(7, INPUT_PULLUP);
}
// the loop routine runs over and over again forever:
void loop() {
  int estado;
  estado = digitalRead(7);
  digitalWrite(10, estado);
  digitalWrite(9, !estado);
}

A finalidade do comando INPUT_PULLUP é  deixar a porta 7 no estado HIGH quando a chave está aberta. Sem este comando haveria uma flutuação de valores. Veja aqui informações adicionais.

Exercícios:

1. Faça  um diagrama de circuito do segundo projeto .
2. Implemente os projetos na prática.
3. Invente alguma variação dos projetos acima envolvendo mais botões e mais leds.

No comments:

Post a Comment