En lugar del clásico “hola mundo” que es el primer programa que se hace cuando se aprende un lenguaje de programación, en Arduino el equivalente es el proyecto blink.
El primer programa o sketch será hacer parpadear el led integrado que lleva Arduino u otro led conectado a un pin digital a través de una resistencia.
NOTA: en caso de usar un led, no olvidar poner una resistencia con un valor entre 220 ohms y 1K ohms
Este es el esquema a usar:
Conexiones internas de la protoboard son así:
Cómo usar una protoboard o breadboard:
- https://learn.sparkfun.com/tutorials/how-to-use-a-breadboard
- https://core-electronics.com.au/tutorials/how-to-use-breadboards.html
Pasos a seguir:
- Abrir la aplicación Arduino
- Abrir el ejemplo blink
- Leer el programar y entender lo que está haciendo
- Seleccionar la placa y el puerto adecuado
- Cargar el programa pulsando el botón “subir”. El programa se compila y luego se verá parpadeando los leds Tx y Rx de Arduino, indicando que se está cargando el fichero binario (.hex) en la flash del Arduino. Cuando aparezca el mensaje “subido” habremos acabado.
- Unos segundos después veremos el LED parpadeando.
Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13) parpadea cuando el bootloader se ejecuta.
Una explicación completa del proyecto y enlaces a las funciones usadas está en: http://arduino.cc/en/Tutorial/Blink
Práctica: Probar a cambiar el valor de delay para hacer parpadear el led más rápido o más lento.
Solución: Ejercicio01-Blink https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio01-Blink
Mejora blink con impresión por consola
Modificar el programa para que cada vez que encienda y apague imprima por el puerto serie la cadena “encendido”, “apagado” cuando corresponda. Luego guardarlo en nuestro entorno de trabajo.
Será necesario usar la librería Serial: http://arduino.cc/en/Reference/Serial
NOTA: Cuando programamos en cualquier lenguaje sobre un ordenador, para interaccionar con el programa usamos el standard input que generalmente es el teclado y el programa muestra los resultados por el standard output que en general es la pantalla. En Arduino esto no es así, sino que para interaccionar con el programa creado se hace a través de la comunicación del puerto serie entre arduino y el ordenador mediante el cable USB que hemos conectado. En este caso la salida del programa manda una cadena de texto por el puerto serie que podemos leer gracias al monitor serie.
Solución: Ejercicio02-Blink_Mejorado https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio02-Blink_Mejorado
Serial plotter imprime 500 puntos en la pantalla, por lo tanto cuanto más lento mandemos los datos más lento se imprime. Si queremos sacar por el serial plotter el blink tenemos estas dos opciones:
- Blink Plotter: https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio47-Blink_Plotter
- Blink Plotter Mejorado: https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio48-Blink_Plotter_Mejorado
Arduino Serial Plotter
Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que hace la gráfica de los datos mandados por puerto serie.
Hacer la gráfica con Arduino Serial Plotter de la función y=x*x y otra con la función y=5*x+1 y ver la gráfica en el Serial Plotter. Siendo los valores de x entre -20 y 20.
Sacar También por pantalla con el serial plotter el valor que me devuelve un potenciómetro, girando para ver cómo cambia el valor.
Montaje:
Solución: Ejercicio03-Serial_Plotter https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio03-Serial_Plotter
Más prácticas
El IDE de Arduino trae muchos ejemplos que podemos ver y probar: https://www.arduino.cc/en/Tutorial/BuiltInExamples
Las 10 primeras cosas que debes hacer con tu arduino: http://antipastohw.blogspot.com.es/2009/12/first-10-things-everyone-does-with.html