Estructura de un programa arduino

Hola a todos:

Hemos llegado hasta la instalación del entorno de desarrollo y desde aquí entraremos de lleno a lo que es la programación de una placa Arduino y el montaje de circuitos usando Protoboards.
Arduino se programa en un lenguaje propio que esta basado en C/C++ y processing, no pretendo enseñarte a programar en C, pero si veremos algunas cosas importantes como la Lógica de un algoritmo, las estructuras de decisión y repetitivas y todo lo necesario para que puedas realizar tu propio proyecto.

Cada programa que se escribe para Arduino se llama sketch, y se almacena en la carpeta sketchbook, que se encuentra en la ruta especificada en el menú de preferencias.


Un programa tiene una estructura que consta de tres partes:

Declaración: voy a llamar de este modo a la primera sección del código, aquí se incluyen las librerías que se vayan a ocupar, se declaran variables y se da valor a constantes que se usaran en el programa.

Inicialización: el segundo bloque contiene la inicialización de la placa Arduino, que pines se usaran como entrada, cuales como salida y se da inicio a la comunicación serial. La placa necesita saber, de todas las entradas y salidas cuales serán ocupadas y de que forma.

Programa: es el tercer bloque, aquí es donde va el programa en si, lo que queremos que se realice, ciclos repetitivos, decisiones y todo el algoritmo que queremos que realice nuestro robot.

Cada bloque lleva su sintaxis y es la que se muestra a continuación.



Arduino ocupa la sintaxis de C, pero tiene su propio conjunto de comandos para realizar las distintas funciones. A continuación los comandos mas usados en cada una de las tres secciones de un programa.

Declaración:
#include<"nombre_de_la_librería"> // incluye librerias
Ej: #include<Servo.h>
#define constante
Int variable  // declara una variable de tipo entero
Float variable  // declara una variable de tipo real, con decimales

Inicialización:
Serial.begin()  //inicia la comunicación serial
pinMode(pin,MODO)  // asigna modo entrada o salida, INPUT o OUTPUT.

Programa:
digitalWrite(pin,valor)  // escribe un valor digital, 1o 0, en el pin especificado
analogWrite(pin,valor)  // escribe un valor analógico, 0 a 255, en el pin especificado.
Delay(milisegundos)  // produce una pausa en el programa durante el tiempo que se especifique, 1000 en el argumento equivale a una pausa de 1 segundo.
digitalRead(pin)  // lee valores digitales desde el pin especificado
analogRead(pin)  // lee valores analógicos desde el pin especificado.

Estos comandos se verán en mas profundidad y con ejemplos prácticos desde la próxima publicación.


Saludos!

Instalacion de Software y Entorno de desarrollo

Hola otra vez Robotistas:

Luego de saber que es Arduino y posiblemente con una de estas placas en su poder, el siguiente paso es la instalacion del entorno de desarrollo, que es el programa desde el que escribiremos, compilaremos y enviaremos el codigo que queramos cargar en nuestro Arduino.

Lo primero que debemos hacer es descargar el Software de Arduino, disponible en la pagina Oficial en el siguiente enlace: Descarga software
De preferencia elige siempre la ultima version disponible, que de todos modos es la primera opcion que aparece y luego seleccionas el sistema operativo, en nuestro caso Linux y finalmente si eres de 32 o 64 bits.
Esto descargara en tu sistema un archivo con extension .tgz, llamado arduino-1.0.5-linux32.tgz




Este archivo debemos descomprimirlo en nuestro directorio raiz o algun otro que queramos y para eso debes abrir una terminal (Ctrl+Alt+T) que se abre en el directorio raiz y ejecutas el siguiente comando


cd Descargas (en el caso de que tu sistema este en español, de lo contrario)
cd "directorio donde se guardo arduino-1.0.5-linux32.tgz" 




Ahora escribes el siguiente comando en tu terminal, esto lo que hara es descomprimir el archivo descargado.

tar zxvf arduino-1.0.5-linux32.tgz

Con esto ya descomprimiste el archivo y deberias tener en tu carpeta de Descargas una carpeta con el nombre "arduino-1.0.5". Para comprobar esto, abre la carpeta de descargas y revisa.
Dentro hay un archivo que se llama arduino le das doble click y a la opcion run o ejecutar 




















Y ya esta instalado el entorno de desarrollo para Arduino!
























Ahora, ¿que tenemos en el entorno de desarrollo?.


Lo primero es un menu que contiene los items

File: puedes abrir programas guardados, los ejemplos que vienen por defecto, abrir un nuevo proyecto en blanco. guardar proyectos y el menu de preferencias en el que puedes elegir el directorio en el que se guardan tus proyectos, el idioma, tamaño de letra y otras opciones.

Edit: te da las opciones de copiar, pegar, indentar, deshacer alguna accion, buscar palabras dentro de tu codigo, entre otros.



Sketch: da la opcion de verificar y compilar tu codigo, abrir la carpeta de sketch e importar las librerias disponibles que vayas a ocupar.

Tools: provee herramientas como seleccion del modelo de tu placa, abrir el monitor serial, entre otras opciones

Help: como siemrpre la infaltable pagina de ayuda.

Debajo del menu tenemos los botones con las funciones que se explican en la imagen


Eso es acerca de la instalacion y el entorno de programacion de Arduino, como dije en un principio, las instrucciones para la instalacion son para sistemas operativos Linux, en windows debe ser Siguiente, Siguiente, Siguiente...


Saludos!




¿Que es Arduino?

Hola Robotistas:

Como lo primero es lo primero antes de comenzar, la gran pregunta : ¿Que es arduino? 
Arduino es una plataforma de desarrollo de codigo abierto, ok, quedamos igual.
Se trata de una placa electronica basada en un microcontrolador, es como un computador pero a pequeña escala, es programable y eso del codigo abierto significa que podrias armarte tu propio arduino, sin tener problemas de licencias ni demandas. Basicamente eso.
Arduino sera el cerebro de nuestro robot, el encargado de recibir informacion, procesarla, tomar desiciones y enviar señales a los actuadores de nuestro robot.

Ahora pasando a lenguaje mas tecnico, Arduino ofrece una potencia y versatilidad muy grande para su tamaño y su bajo coste. Ademas hay en el mercado mas de un modelo de Arduino, tienes para elegir de acuerdo a tus necesidades : UNO, MEGA , NANO , LEONARDO entre otros, y varios accesorios como los famosos Shields o incluso kits de Iniciación.
Información mas detallada acerca de modelos Y accesorios puedes encontrar en la pagina Oficial de Arduino : arduino.cc/es

Una de las mayores ventajas que destaco desde que me tope con arduino es que tiene pines de entrada y salida analogicos, lo que es muy util a la hora de conectar sensores. Para el tamaño reducido y el bajo costo de la placa, esta presenta gran cantidad de entradas y salidas, tanto analogicas como digitales y ademas 6 pines que proporcionan Modulacion de Ancho de Pulso "PWM", para el control de 6 motores Servo.
Yo trabajo con Arduino UNO, ya que es barato y hasta ahora no ha quedado corto de potencia en los proyectos que he realizado.

Ahora algunos detalles tecticos del Arduino UNO.


Solo agregar un poco de vocabulario tecnico, los pines son las entradas del arduino, donde se conectaran los motores, luces, sensores,etc.
PWM es Pulse Width Modulation, algo de lo que hablaremos mas adelante, por ahora, sirve para controlar los Servomotores.
Y eso es Arduino.

Saludos!