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