Menu

2.1 Hola mundo!

Muy acostumbrados estamos a la frase "Aprender haciendo" y en lo personal creo que es muy acertada, por lo que ya vamos a comenzar a hacer con Arduino.

En esta entrada crearemos nuestro primer programa y veremos la estructura esencial de un programa para Arduino.

Antes de comenzar debemos tener instalado la Arduino IDE (http://guaroduino.blogspot.com/2016/11/18-programando-con-arduino.html) y si nuestra placa es genérica o compatible y usa el chip CH340G debes tener instalado el driver correspondiente (http://guaroduino.blogspot.com/2016/12/15-arduinos-compatibles-o-genericos.html).

Ya teniendo estos requisitos podemos comenzar.

Conecta la placa Arduino usando el cable USB correspondiente, abre la Arduino IDE y el administrador de dispositivos para comprobar lo siguiente.


El mismo número COM que aparece en el administrador de dispositivos asignado a la placa (en mi caso USB-SERIAL CH340 COM06 porque es una placa compatible, si fuera original dijera Arduino) es el mismo número COM que debemos seleccionar en "Puerto" en la Arduino IDE. También debemos seleccionar la placa correcta (en mi caso Arduino UNO).

Una vez realizado esto estamos listos para cargar el primer programa en la placa.

Como es costumbre en el mundo de la programacion, nuestro primer programa sera un "Hola Mundo" que escribirá la placa en el puerto serial y podremos ver este mensaje usando el Monitor Serial de la Arduino IDE.

Un sketch (un sketch es un programa para Arduino) se divide en varias funciones, algunas funciones tienen características esenciales, lo que es el caso de la función "setup()" y la función "loop()".

La función "setup()" tiene como característica esencial que se ejecutará una única vez al inicializar la placa y es útil para configurar las salidas, entradas, puertos de comunicacion y estados iniciales del resto del sketch y la placa.

La función "loop()" tiene como característica esencial que se repetirá constantemente mientras la placa esté encendida y es en donde colocaremos las funciones que harán nuestro Arduino interactivo.

Además de estas dos funciones esenciales, nosotros como usuarios podemos definir otras para crear funcionamientos y comportamientos específicos.

Estructura esencial de un Sketch en Arduino

Así entonces, dentro de la función "setup()" para este primer programa configuraremos la comunicación por el puerto Serial escribiendo:

Serial.begin(9600);

Este codigo inicia el puerto serial a una velocidad de 9600 baudios, este puerto permite intercambiar informacion entre la placa y nuestra PC.

Dentro de la función "loop()" usaremos un código que escribirá un mensaje en el puerto serial y luego esperara un segundo para volver a repetirse:

Serial.println("Hola Mundo!");
delay(1000);

"Serial.println()" nos permite escribir en el puerto Serial (antes configurado en "setup()") lo que este dentro de sus paréntesis, en este caso el texto "Hola Mundo!", y el código "delay()" pausa la ejecución del sketch la cantidad de milisegundos dentro de sus paréntesis, en este caso 1000 que equivale a un segundo.

El código completo luce así (puedes copiar y pegar en la Arduino IDE):

void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.println("Hola Mundo!");
  delay(1000);
}

Ahora es tiempo de cargar nuestro programa a la placa, pulsa el botón "compilar y cargar" en la IDE (amarillo en la imagen).

Cargando el programa

Veras parpadear los LEDs RX y TX de la placa, no te asustes, todo va bien! (en algunas placas compatibles no hay LEDs RX y TX, tranquilo)

Al terminar de cargar, los LEDs dejarán de parpadear y la IDE dirá en la parte inferior "Carga completa".

Ahora arranca el Monitor Serial para ver que tiene que decir tu Arduino. Esta en Herramientas/Monitor Serial. Se abrirá una ventana.

Monitor Serial

Y deberías ver el mensaje que tu Arduino tiene para ti, esta vivo! Asegurate que elegiste el puerto correcto y que la velocidad (abajo a la derecha) es la misma que pusiste en el código.

Espero que hayas podido seguir hasta aquí, si tienes algún inconveniente deja un comentario.

Hemos visto la estructura esencial de un programa en Arduino, aprendimos a configurar la placa en la IDE y a cargar un programa.

Guaroduino.





1.5 Arduinos Compatibles o Genericos

Como hemos visto en la introducción, existen muchos tipos de placas Arduino, totalmente compatibles con la IDE Arduino y con sus accesorios, los fabricantes de muchas de estas placas para ahorrar y mantener precios bajos optan por usar otros componentes electrónicos no exactamente iguales a las originales.

Tal es el caso del chip de comunicación USB, las placas originales traen instalado el chip 16u2 cuyos drivers vienen por defecto en la mayoría de los sistemas Windows, Mac OS o Linux, mientras que la mayoría de las placas compatibles traen instalado el chip CH340G cuyos drivers no vienen por defecto en los sistemas operativos comerciales (en Linux si) por lo que es necesario instalarlos manualmente, aca dejo el link:

Windows:

https://drive.google.com/open?id=0B7gJiQUwQBQAbFJ2TGV1VGh1MDA


Mac OS:

https://drive.google.com/open?id=0B7gJiQUwQBQAOG53WXFZbkx0X0U

Descomprimes, buscas en el archivo Setup.exe, lo corres, lo instalas y listo.



Al conectar tu Arduino compatible se mostrará en el adminsitrador de dispositivos como "USB-Serial CH340 (COMXX)" donde "XX" en el número del puerto COM asignado a la placa, este número es importante para seleccionar la placa en la Arduino IDE.


Guaroduino.

1.4 Lecturas esenciales

Para trabajar cómodamente con proyectos de electronica es necesario al menos tener una clara noción  clara de algunos conceptos básicos que nos ayudarán a comprender mejor el porqué de muchas cosas que vamos a hacer en nuestros proyectos.

Esta es una recopilación de algunas lecturas que considero necesarias, la mayoría de conceptos los vimos en secundaria o en la universidad pero vale la pena refrescarlos:

Electricidad:

https://es.wikipedia.org/wiki/Electricidad

La Ley de Ohm:

https://es.wikipedia.org/wiki/Ley_de_Ohm

Circuito:

https://es.wikipedia.org/wiki/Circuito

Corriente continua:

https://es.wikipedia.org/wiki/Corriente_continua

Circuito digital:

https://es.wikipedia.org/wiki/Circuito_digital

Todas son lecturas rápidas que nos ayudaran mucho a la hora de comprender el funcionamiento de nuestros proyectos.

Guaroduino