Na reunión de hoxe tratamos como detectar entradas nun microcontrolador
Arduino.
O problema que resolvemos é unha modificación do pasado venres 18/10/13. Neste caso temos un pulsador conectado a masa cunha resistencia de 10 K (pull-up). Cando se prema o pulsador o led palpebrará rápido e cando non se prema palpebrará lento.
O código que resolve o exercicio é o que segue:
//Definimos as variables
// O pin 2 de entradas/saídas dixitais ten un pulsador conectado. Dámoslle un nome:
int pulsador = 2;
int led = 13;
// definicion de variable para o retardo do chisca-chisca
int retardo;
// A función setup se executa só unha vez, cando inicias a execución do programa:
void setup() {
// inicializa a comunicación serie a 9600 bits por segundo:
Serial.begin(9600);
// configuramos o pin do pulsador como entrada:
pinMode(pulsador, INPUT);
pinMode(led, OUTPUT);
}
// A función loop executase unha e outra outra vez, repetidamente:
void loop() {
// leemos o pin de entrada:
int estadoPulsador = digitalRead(pulsador);
// imprimimos o estado do botón:
Serial.println(estadoPulsador);
if (estadoPulsador==HIGH) {
retardo=500;
// si esta a "1" a variable de retardo ten un valor de 500mSeg
} else
retardo=125;
// si esta a "0" a variable de retardo ten un valor de 125mSeg
}
digitalWrite(led, HIGH); // acende o LED (HIGH é o nivel de voltaxel)
delay(retardo); // esperamos co valor retardo
digitalWrite(led, LOW); // apaga o LED pasando a voltaxe a LOW
delay(retardo);
}
Pódese baixar o código do exemplo neste
enlace.
Na reunión participaron Nelson, Jairo, Marcos, Gonzalo C e Gonzalo A.