Anterior: Cómo encender un led
Materiales
Una placa Arduino (Yo usaré Arduino UNO)
Un led de 5 mm
Una resistencia de 330Ω
Un ordenador con el IDE de Arduino instalado
Conexiones

El ánodo del LED (positivo, pata larga) irá conectado al pin 13 digital (podéis usar cualquier otro pin digital). A través de este pin enviaremos 5V al led para que se encienda.
El cátodo del led (negativo, pata corta) irá conectado a tierra (pin GND). Entre el pin GND y el cátodo colocaremos una resistencia de 330Ω para evitar que se queme.
Sketch
const int LED = 13;
void setup (){
pinMode (LED, OUTPUT);
}
void loop (){
digitalWrite (LED, HIGH);
delay (1000);
digitalWrite (LED, HIGH);
delay (1000);
}
Descargar sketch (https://github.com/TechKrowd/arduino_leds/blob/master/led/ledParpadeo.ino)
Vamos a analizar el código escrito en el sketch del ejemplo:
const int LED=13;
El LED está conectado en el pin 13, y eso no va a variar durante la ejecución, por eso he declarado una constante (const) de tipo entero (int) con identificador LED y valor 13 (Si habéis conectado el led a otro pin, debéis indicar aquí el valor correcto). De esta forma, cada vez que escriba LED en el código, será equivalente a escribir 13. Esto simplifica la lectura posterior del código y su comprensión.
void setup ()
La función setup se ejecutará una sola vez (código entre llaves) al principio de la ejecución del sketch. Por este motivo configuro aquí los pines digitales que voy a usar, en este caso el pin 13.
La instrucción pinMode (LED, OUTPUT) configura el pin 13 como salida. El primer parámetro que le paso a la función es el número del pin que estoy configurando (uso la constante con valor 13 que declaré antes). El segundo parámetro es el modo, en este caso OUTPUT (constante predefinida en Arduino para indicar modo salida) porque quiero enviar un pulso al exterior (al LED).
void loop ()
Una vez terminada la configuración inicial se ejecutará la función loop (código entre llaves) de forma repetitiva e ininterrumpida. El código de esta función es el encargado de encender y apagar el led.
La instrucción digitalWrite (LED, HIGH) envía un pulso alto al pin digital 13. Igual que ocurría con la función pinMode, el primer parámetro es el número de pin, por eso utilizo la constante LED con valor 13. El segundo parámetro es el valor que envío al pin. Como quiero encender el LED necesito enviar un pulso alto, es decir, 5V. La constante HIGH (predefinida en Arduino) representa este valor.
La instrucción delay (1000) genera un retardo en la ejecución de la siguiente instrucción. El parámetro que recibe entre paréntesis es el tiempo que durará el retardo en milisegundos (1000 ms = 1s). Con esto consigo que el led permanezca encendido durante un segundo. La siguiente instrucción (apagar led) no se ejecutará hasta que pase ese tiempo.
Transcurrido el segundo de la función delay, se ejecutará digitalWrite (LED, LOW). El funcionamiento es el mismo que el indicado con valor HIGH, con la diferencia de que esta instrucción enviará 0V (LOW) al pin 13 (constante LED). Al enviar 0V el led se apagará.
Nuevamente escribo la instrucción delay (1000). Recordemos que la función loop se repite, por lo que después de esta instrucción se volverá a ejecutar digitalWrite con valor HIGH. Al usar delay en este punto, consigo atrasar su ejecución de forma que el led estará apagado un segundo.
Cuando la función loop se repita volveremos a empezar todo el ciclo, consiguiendo de esta forma el parpadeo.
Ya solo falta cargar el sketch en la placa Arduino y comprobar que funciona correctamente.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.