Se declaran las variables. En esta práctica se tiene una variable de tipo const, y de número entero int. Seguidamente, el nombre de la variable.
En la tarjeta Arduino se coloca el ánodo en el pin 13, la variable se le asignara el valor de 13. También se declara la variable botón en el pin 7 y una variable entero val igual a cero (0). las variable val no será constante va a variar entre 0 y 1.
Se define si la variable declarada son de tipo entrada o de salida dentro de la estructuravoid setup (), se abre corchete ({) para saber qué es lo que contiene ese comando y al finalizar el comando se cierra corchete (}). Internamente del corchete se declara que la variable LED es de salida mediante el comando pinMode(LED,OUTPUT). Note que OUTPUT indica que la señal saldrá del pin 13.
Para definir el botón pulsador lo importante es definir el pin donde está conectado el boton (pin 7) y que va ser un pin INTPUT, pinMode(BOTON,INPUT).
Luego de definir las variables, se procede a realizar la estructura del código dentro de void loop(), de igual manera se abre corchete({) y se cierra (}) luego de terminar su cumplimiento. Internamente del corchete se establecen las instrucciones que ejecutara Arduino continuamente. Se utiliza la variable val la cual leerá digitalmente lo que sucede en el pin 7 (botón)mediante digitalRead(BOTON).
En esta práctica se introduce otra estructura de programación la cual es if, que significa si en español. La estructura if es un condicional que permite decidir en función del valor de la variable val, si este es alto (HIGH=1) o si es bajo (LOW=0). Si queremos encender el LED se utiliza el comando digitalWrite, esta condición estará dentro de la estructura de programación if mediante digitalWrite(LED,HIGH). De lo contrario (else) el LED se apagará mediante el comando digitalWrite(LED, LOW).
CÓDIGO:
// Práctica encender y apagar un LED a través de botón pulsador
const int LED=13;
const int BOTON=7;
int val;
void setup(){
pinMode(LED,OUTPUT);
pinMode(BOTON,INPUT);
}
void loop(){
val=digitalRead(BOTON);
if (val==HIGH){
digitalWrite(LED,HIGH);
}
else { digitalWrite(LED,LOW);
}
}