Tras instalar el software, lo primero que realicé fue una descarga de un programa de ejemplo incluido en el IDE (Entorno de Desarrollo Integrado), más concretamente el “Blink”, que lo podemos encontrar en la ruta “Archivo/Ejemplos/01.Basics/Blink”.
Ejemplo Archivo/Ejemplos/01.Basics/Blink
Realicé el montaje en la “protoboard” y funcionó perfectamente. Tras realizar este pequeño ejemplo, se me ocurrió la idea para asimilar conceptos de una manera sencilla, usar de base este ejemplo y programar un semáforo básico (sin paso de peatones, ni intersecciones….), y a continuación ir incluyendo poco a poco funcionalidades.
Comenzamos con la Versión 0 de nuestro proyecto: “Arduino Semáforo V0”.
1. Esquema Funcional.
Control secuencial de tres lámparas, verde, amarillo y rojo, siguiendo la siguiente secuencia:
- Lámpara Verde. Encendida 5 s.
- Lámpara Amarilla. Encendida 2.
- Lámpara Roja. Encendida 5 s
2. Lista de señales.
- SD 11 LED Rojo
- SD 12 LED Amarillo
- SD 13 LED Verde
SD = salida digital
3. Programa Arduino Semáforo V0.
Como hemos comentado anteriormente, hemos usado el programa (Sketch) de ejemplo “Blink” para tener la estructura base y así poder desarrollar nuestro programa.
La estructura básica de un Sketch es muy similar a la de cualquier programa en C , con la diferencia de que Arduino interactúa directamente con el medio.
Según Wikipedia:
Todo programa de Arduino, siempre dispone de dos funciones principales setup() y loop()
La primera parte del Sketch, dispone de comentarios del programa o del desarrollador. El Arduino interpreta como comentarios, las lineas que se encuentran entre los comandos “/*” y “*/”, y en el caso de un comentario de línea aquello que se encuentra después del comando “//”
Así la primera parte de un Sketch “setup()” realiza la declaración de variables, donde definiremos las variables globales del Sketch declarando su tipo y, si lo necesitamos, su valor inicial. Las variables globales, son accesibles desde cualquier parte de nuestro Sketch, mientras que las variables locales, sólo serán accesibles dentro de una función o estructura de control. En nuestro caso declaramos tres pines como salidas digitales en “setup()”:
En la segunda “loop()”, realizamos el control secuencial antes descrito. Esta función se ejecuta una y otra vez:
4. Montaje en la “Protoboard”.
Los componentes utilizados, han sido sencillos:
- 1 ud. LED Verde
- 1 ud. LED Amarillo
- 1 ud. LED Rojo
- 3 uds. Resistencias 100 Ω
- Puntas de pruebas.
- Arduino LEONARDO
Esquema:
Aunque existen varios programas gratuitos, me he decidido por el más usado que es Fritzing, no obstante si queréis ver otras opciones (123D Circuit.io, Oregano..) os aconsejo que leáis el artículo de “Luis Llamas”.
- Vista “Protoboard”.
- Vista “Esquema”.
- Vista “PCB”.
Montaje físico:
Por último, realizamos la prueba del programa……eureka……..funciona!!!!.
Enlaces programas utilizados:
Hasta la próxima entrada.
Saludos!!!!.
¡¡Esto está perfecto!!
Enhorabuena, Juan Alberto
Un saludo
Gracias Diego!!!