Tutorial Arduino Basico 01

Tutorial Arduino Básico

Tutorial Arduino

Vamos a dar inicio a un pequeño tutorial de Arduino básico. Primero que nada vamos a comenzar con los conceptos de Arduino básicos, que en este caso vamos a tratar de verlos un poco más “platicados” que desde el punto de vista técnico. Los conceptos más básicos o utilizados en este o estos tutoriales son los siguientes:

Arduino: Es una marca que desarrolla, entre otras cosas, tarjetas de desarrollo de microcontroladores basadas (en su mayoría) en los microcontroladores de la familia AVR ATmega de ATMEL. Las tarjetas tienen ya un sistema mínimo, esto es, que no requieren que el usuario tenga que armar nada para comenzar a utilizarlas.

Arduino IDE: Este es el entorno de desarrollo para compilar el código, es es el programa que neceisto instalar en la computadora para comenzar a trabajar con Arduino, el software se puede encontrar en el siguiente enlace. www.arduino.cc

Microcontrolador ATmega: Es el nucleo de nuestra tarjeta (en la mayoría de las mismas, no en todas), este ya viene preprogramado con un archivo conocido como “bootloader” el cual nos sirve para poder re-programar nuestra tarjeta mediante el puerto serial sin la necesidad de programadores dedicados.

Sketch: Este es el nombre que tienen nuestro codigo de programa, se les conoce como sketch, sin embargo, la extensión del archivo del programa es “.ino”.

Verificar: Este prceso compila o “revisa” el código para ver que la sintaxis del mismo se encuentre escrita de manera correcta.

Cargar: Al cargar el código lo que estamos haciendo realmente es compilar el código para revisarlo y enviando por protocolo serial el código en lenguaje maquina para que el microcontrolado o Arduino lo interprete. Al cargar el código es por que lo vamos a probar en nuestra tarjeta.

ESTRUCTURA DEL PROGRAMA

A diferencia de un programa en C/C++ en Arduino vamos a tener solo 2 funciones principales (podemos usar mas, sin embargo por el momento nos limitaremos a estas 2), la función setup y la función loop. Para los que estén acostumbrados a programar en C/C++ encontraremos una realción entre las funciones de configuración para el caso de setup y la función main con un cilco while(1) interno en el caso de la loop.

La función setup se puede describir, de una manera sencilla, como un conjunto de instrucciones que se van a ejecutar solamente una vez y solo al principio del programa.

La función loop es la función principal que se ejecuta de manera recursiva en nuestro sistema. En este caso es donde voy a poner, por ejemplo mi código principal en donde por ejemplo si estoy monitoreando la temperatura o activando un LED que parpadea, etc.

A continuación vamos a ver como se escriben estas funciones dentro del IDE o entorno de desarrollo grafico:

void setup() {
// put your setup code here, to run once:
// Poner el codigo de configuración aqui, este se ejecutara solo una vez:
}
void loop() {
// put your main code here, to run repeatedly:
// Poner el codigo principal aqui, este se ejecutara recursivamente:
}

El código previo, de echo, es el que aparece al momento de abrir el IDE como plantilla para iniciar nuestro primer programa. En este caso notese que comentados “//” están las instrucciones que se mencionaron anteriormente.

Vamos a comenzar con un ejemplo muy básico. Consta de prender y apagar un LED dando un retardo de 1 segundo y enviando la información del estado del LED a la computadora.

int led=13;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(led,HIGH)
Serial.println("LED Alto");
delay(500);
digitalWrite(led,LOW)
Serial.println("LED Bajo1");
delay(500);
}

Vamos a analizar paso a paso el codigo previamente mostrado, para comenzar, vamos a declarar una variable tipo entero, esta nos servira para asignarle un numero que posteriormente se usara para las funciones relacionadas con los pines, donde declararemos que numero de pin vamos a utilizar.

La función setup tiene dos instrucciones, la primera, pinMode me sirve para declarar que modo de pin vamos a utilizar, entrada o salida con las etiquetas “INPUT” y “OUTPUT” en donde como entrada me serviría para leer el estado físico del pin, y como salida, se podrá asignar un nivel lógico bajo o algo a un pin. La segunda función sirve para inicializar el protocolo serial, el mismo, tiene una velocidad asignada que se puede modificar por el parámetro de entrada, que en este caso, es de 9600. La velocidad del protocolo serial puede variar según lo declaremos, sin embargo tiene que tener coherencia con el otro dispositivo con el que se encuentre conectado.

La función loop consta básicamente de tres funciones, las cuales nos sirven para activar o desactivar el LED, ejecutar retardos y enviar caracteres al puerto serial.

La función digitalWrite() tiene dos parámetros de entrada, el primero es el número de Pin, este puede ser mediante poner de manera numérica o por variable. El segundo parámetro, es la salida fiscia del pin, en este caso esto se define mediante las etiquetas “HIGH” para una salida lógica alta y “LOW” para una salida baja.

La función delay() ejecuta un retardo con un parámetro de entrada de los milisegundos que va a esperar el sistema, esto es que el valor de 500 quiere decir realmente medio segundo.

La función Serial.print manda al puerto serial la información que pongamos dentro de los paréntesis en cadena de caracteres. Recordar que a cada carácter le corresponde un número entero relacionado de la tabla ASCII, sin embargo por el momento eso pasa transparente para el usuario.

Se procede a cargar el programa y abrir la ventana “Monitor Serie” para observar la información que nos manda el Arduino.

Acabamos de ver un ejemplo de Arduino donde básicamente solo con unas instrucciones configuramos los puertos para activar un LED y configurar el protocolo serial. Aquí podemos observar una de las ventajas más grandes de usar esta tarjeta ya que no solo es el Hardware si no el lenguaje C enmascarado de funciones de más alto nivel que nos ayudan a configurar el hardware rápidamente. SI se hiciera este programa en C/C++ se tendría que mandar llamar las bibliotecas necesarias, configurar el compilador para el dispositivo y un determinado oscilador, configurar los registros (DDR para el caso de un ATmega o TRIS para un PIC por ej.) correspondientes al modo de uso de un PIN, y configurar los registros (que son varios, no solo uno) para la configuración del protocolo serial.

2 Comments

  1. Juan Miguel diciembre 23, 2015

Escríbenos tus dudas o comentarios

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.