- Resistencias de 220 y 10 kΩ
- 1 botón
- 2 leds rojos y 1 led verde
- Placa arduino y breadboard
Nada más comenzar, nos dan el siguiente esquema de conexión (la resistencia de 10 kΩ esta con el botón para evitar ruido y así obtener una señal clara de este; el resto son las de 220 Ω).
Toda la práctica gira en torno al análisis del código que nos dan, el cual he comentado en cada línea, que es el siguiente:
//se crea la variable que usaremos para saber si el botón esta activo
int switchState = 0;
//setup
// la rutina del setup empieza al resetear y se lee solo una vez
void setup() {
// inicia los pines digitales como salidas (OUTPUT) o entradas (INPUT)
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}
// la rutina loop se lee continuamente
void loop() {
switchState = digitalRead(2); //HIGH o LOW según el botón este encendido o apagado
if (switchState == LOW) { //la función if funciona si se cumple su condición (en este caso que la //entrada del botón este activa, es decir, el botón pulsado)
//con el boton no accionado
digitalWrite(3, HIGH); //enciende el led verde
digitalWrite(4, LOW); //apaga el led rojo
digitalWrite(5, LOW); //apaga el led rojo
}
else { //la función else funciona si no se cumple la condición de un if
//con el botón accionado
digitalWrite(3, LOW); //apaga el led verde
digitalWrite(4, LOW); //apaga el led rojo uno
digitalWrite(5, HIGH); //enciende el led rojo dos
delay (250); //espera un cuarto de segundo (250 milisegundos)
//cambia el led rojo encendido
digitalWrite(4, HIGH); //enciende el led rojo uno
digitalWrite(5, LOW); //apaga el led rojo dos
delay (250); //espera un cuarto de segundo
}
} //vuelve a empezar la función loop
Adjunto una simulación antes de pasar a compartir la práctica en formato físico:
Y he aquí el resultado en formato físico:
Se recomienda el uso de una pequeña carcasa para tapar el cableado, pero no es necesario tenerla, funcionará igual.
Esta práctica es corta y sencilla, ideal para introducirnos a cómo programar Arduino.
muy bien interface
ResponderEliminar