En este proyecto vamos a hacer que un LED se encienda cuando un pulsador sea oprimido, aunque realmente se podría hacer sin la necesidad de usar un Arduino, la idea de este proyecto es aprender a manejar un puerto de entrada para que realizar una acción con uno de salida.
Los pulsadores son interruptores que al ser presionados cierran el cricuit0, esto en el caso de lo que son normalmente abiertos, por otro lado en el caso de los normalmente cerrados si son presionados el circuito se abre.
Componentes
Código
int ledpin=11; int pulsadorIn=7; int captura; void setup() { pinMode(ledpin,OUTPUT); pinMode(pulsadorIn,INPUT); } void loop() { captura=digitalRead(pulsadorIn); if(captura==LOW) digitalWrite(ledpin,LOW); else digitalWrite(ledpin,HIGH); }
Explicación del código
Vamos a revisar un poco el código, comenzando con las declaraciones de variables:
int ledpin=11; int pulsadorIn=7; int captura;
Tan pronto como iniciamos a ver el código vemos que declaramos 3 variables de tipo entero (int), la primera ledpin=11
, el cual va a ser el puerto digital de salida en el que vamos a conectar el LED, luego está pulsadorIn=7
, la cual utilizaremos como puerto de entrada en el capturaremos cuando presionemos el botón o pulsador. Y por último está captura, que es la variable que utilizaremos para almacenar el valor capturado
desde el pulsador.
Función loop()
Ahora veamos la función setup:
pinMode(ledpin,OUTPUT); pinMode(pulsadorIn,INPUT);
Analicemos estas dos líneas que tiene nuestra función setup, en la primer línea pinMode(ledpin,OUTPUT)
establecemos que el pin 11 es un pin de salida (no olvidemos que ledpin=11), y en la línea pinMode(pulsadorIn,INPUT)
, establecemos que el pin 7 es de entrada.
Función setup()
Seguimos con nuestra función loop:
captura=digitalRead(pulsadorIn); if(captura==LOW) digitalWrite(ledpin,LOW); else digitalWrite(ledpin,HIGH);
Primero vemos captura=digitalRead(pulsadorIn)
que lee el valor del pulsador y lo asigna a la variable captura
, luego encontramos la condicional if(captura==LOW)
, donde evaluamos si el valor de captura es un LOW, es decir que el pulsador no ha sido accionado, entonces le asignamos al pin del led un LOW,
digitalWrite(ledpin,LOW)
, de lo contrario else
le asignamos un HIGH al pin del led, digitalWrite(ledpin,HIGH)
.
Resultado
En este proyecto utilizamos el Arduino para analizar si el pulsador ha sido presionado encenderá el LED, el resto del tiempo permanece apagado.