Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando
-- Tutorial de iniciación a Arduino --
Volver al índice del tutorial
____________________________
4.- Pulsador contador.
Al pulsar el pulsador se enciende el LED13, al dejar de pulsar, se apaga.
Cuando pulsamos 4 veces se enciende el LED12, cuando pulsamos 8, se apaga.
Código |
/*
Juan A. Villalpando
kio4.com
*/
// Entrada y Salida.
// Al pulsar el pulsador se enciende el LED13.
// Cuando se pulsan 4 veces se enciende el LED12, cuando se pulsa 8, se apaga.
#define pin2 2 // Al terminal 2 lo llamamos pin2. Aquí irá el pulsador.
#define LED12 12 // Al terminal 12 lo llamamos LED12. Aquí irá el LED.
#define LED13 13 // Al terminal 13 lo llamamos LED13. Aquí irá otro LED.
int valor2; // Esto es una variable entera
int contador=0; // Variable contador igual a cero
// En el setup establecemos los parámetros iniciales.
void setup() {
pinMode(pin2, INPUT); // El pin2 será entrada. Pulsador.
pinMode(LED12, OUTPUT); // El LED12 será salida. LED.
pinMode(LED13, OUTPUT); // El LED13 será salida. LED.
Serial.begin(9600); // Para ver información en el Seria Monitor.
}
void loop() {
valor2 = digitalRead(pin2); // Lee el valor del pin2 y se lo asigna a valor2. (Puede ser 0 o 1)
if (valor2 == HIGH) {
digitalWrite(LED13, HIGH); // Si valor2 es ALTO, pone el LED13 en ALTO
Serial.println("Pulsado");
contador = contador + 1;
if (contador == 4){
digitalWrite(LED12, HIGH);
}
if (contador == 8){
digitalWrite(LED12, LOW);
}
delay(600);
}
if (valor2 == LOW) {
digitalWrite(LED13, LOW); // Si valor2 es BAJO, pone el pin13 en BAJO
Serial.println("No Pulsado");
}
} |
- He cambiado en nombre de los terminales, LED12 y LED13.
- Cada vez que se pulsa el contador cuenta uno más.
- Otra manera de poner el incremento: contador =++contador;
contador = contador + 1;
if (contador == 4) {
digitalWrite(LED12, HIGH);
}
if (contador == 8){
digitalWrite(LED12, LOW);
}
- El bloque if comienza por { y termina por }
- Cuando un if está dentro de otro, se dice que está anidado.
- Se ha puesto el delay (retardo) para evitar el rebote, esto es que cuando dejamos pulsado sigue contando. En este caso bloque la cuenta durante 600 milisegundos.
- Recuerda que las líneas de código terminan en punto y coma; (Salvo algunas de ellas.)
- Recuerda que debes guardar cada archivo de proyecto en una carpeta única para él.
_________________
Propuestas.
- Poner otro pulsador conectado al terminal 3, de manera que cuando lo pulsemos el contador vuelva a cero.
if (valor3 == HIGH) {
contador = 0;
}
________________________________
|