Programar Arduino consiste en traducir a líneas de código las tareas automatizadas que
queremos hacer leyendo de los sensores y dependiendo de las condiciones del entorno
programar la interacción con el mundo exterior mediante unos actuadores.
Arduino proporciona un entorno de Programación (Arduino IDE) que es sencillo pero
potente para programar, y además de compilar el programa tiene las herramientas
necesarias para “quemar” el programa ya compilado en la memoria flash del
microcontrolador.
Además el IDE nos ofrece un sistema de gestión de librerías y placas muy práctico.
IDE es un software sencillo que no tiene funciones avanzadas típicas de otros IDEs, pero
suficiente para programar.
Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino y se
guarda en nuestro Arduino en un archivo binario .hex
La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos
dos partes. Estas dos partes son obligatorios y encierran bloques que contienen
declaraciones, estamentos o instrucciones.
Estás son las funciones:
1) void setup() {}
Es dónde declaramos nuestros pines y además indicamos si son entrada o salida de señal
mediante el comando pinMode(,);
Ejemplo:
pinMode(5, OUTPUT);
para indicar que por ese pin número 5 va salir nuestra señal hacia algún indicador o
actuador que afecte al entorno
pinMode(5,INPUT);
Para indicar que vamos a recibir por ese pin número 5 una señal proveniente de sensores,
switches o alguna otra señal que queramos que lea.
2) Void loop() {}
En esta sección es donde vamos a indicarle a nuestro Arduino que es lo que debe hacer
con alguna señal entrante o que debe accionar con el comando:
digitalWrite (); para digital
analogWrite(); para analógica
si la salida va a ser digital 1 ó 0 , 5 voltios ó 0 voltios respectivamente.
Ejemplo:
digitalWrite(5,HIGT); para indicar que se va a encender la salida o entrada osea a mandar o
recibir 1
digitalWrite (5,LOW); para indicar que la salida o entrada estará apagada osea 0
Si la salida va a ser analógica ó más bien el PWM que simula el Arduino cómo salida
analógica que es 1 ó 0 , que es un byte y a la vez un número del 0 al 255 y es este el rango
de voltaje con el que podemos jugar para nuestra salida.
Lo escrito en esta sección siempre se está repitiendo es un bucle constante a menos que
condicionemos lo contrario.
Además de estás el usuario también puede crear su propia función.
Una función es un conjunto de instrucciones que realizan una acción determinada. Esta
función tendrá un nombre y podrá ser llamada desde otras partes del código tantas veces
como sea necesario. Las funciones pueden recibir datos, denominados parámetros, que
pueden ser manipulados en su interior. En ocasiones, esta función, además de ejecutar
todas estas instrucciones, podrá devolver un valor final que pueda ser utilizado allí donde la
función ha sido llamada.
Sintaxis: void Nombre de la función (parámetros) { instrucciones }
● El nombre es el que nosotros queremos colocar.
● Los parámetros en este caso son los colores que van a tener.
● En este caso las instrucciones nos va indicar que valor tiene ese color que será la,
variable previamente declarada R,G y B que a su vez tienen el valor del pin
respectivo
● La palabra reservada void indica que la función no devuelve ningún valor.
Ejemplo:
void RGB (int rojo, int verde, int azul)
{
analogWrite(R,rojo);
analogWrite(G,verde);
analogWrite(B,azul);
}
En este caso las variables R,G,B de las anteriores instrucciones que pasaran a nombrarse
rojo, verde, y azul respectivamente han Sido declaradas previamente con el valor de su
respectivo pin y estas serán ejecutadas luego en alguna parte de el void loop formando un
conjunto de 3 espacios
Ejemplo:
void loop()
{
RGB (0,0,0);
delay();
}
Dónde el primer espacio será para el rojo el segundo para el verde y el tercero para el azul
y en este caso como colocamos nuestra salida analógica ese espacio a a ser un número de
0 a 255 que indica un cierto voltaje donde 0 es ver voltios y 255 son 5 voltios.
Se pueden encender más de un espacio a la vez para combinar colores en este caso de un
LED RGB.
Y finalmente el delay nos indica el tiempo de retardo en milisegundos para que se ejecute la
siguiente introducción
Por supuesto también podemos darles nombres a estos pines para un mejor manejo y
comprensión en todo el código, esto se hace justo antes del "void setup".
Justo aquí es donde declaramos las librerías de ser necesario y variables de forma global
además de indicar de que tipo son int, float, char… en el caso de los pines siempre serán
enteros pues los números de los pines son números enteros.
Int R=10, G=9, B=6;