Secuencia Led desde salida digital

Hola a todos:

Ya estamos listos para la primera interacción con nuestro Arduino. Este primer experimento es bastante sencillo, consiste en encender y apagar un led.
Conectaremos el led a una entrada digital de Arduino y programaremos algunas secuencias usando el comando delay().


Materiales necesarios:
1.- Arduino (obvio)
2.- Cable USB para Arduino (algunas impresoras ocupan el mismo)
3.- Un diodo LED, de preferencia de alto brillo y blanco para ver el efecto que se produce.
4.- Protoboard
5.-Cables conectores
6.- Tu computador con el software Arduino instalado

Vamos allá!

Secuencias de parpadeo

Antes que todo conecta el led a tu Arduino tal como esta en la imagen, el positivo al pin 13 y el negativo al GND que es tierra o negativo y luego abre el entorno de desarrollo de Arduino para comenzar a escribir el código.




Nota importante: el led tiene un positivo y un negativo, llamados en este caso ánodo (positivo y es la patita mas larga del led) y cátodo (por defecto es el negativo y la patita mas corta).

Luego de haber conectado el led a tu Arduino veamos el código necesario para que el led pueda encender y apagar.

void setup()
 {
    pinMode(13,OUTPUT);
 }

void loop()
{
   digitalWrite(13,HIGH);
   delay(500);
   digitalwrite(13,LOW);
   delay(1000);
}

En el primer bloque del programa tenemos lo que es inicializar la placa, le decimos a Arduino que su pin numero 13 sera usado como salida, y como no necesitamos nada mas que ese pin para este experimento cerramos el bloque con una llave.
Luego en el segundo bloque va lo que es el programa en si, lo que queremos que haga Arduino. 
El primer comando es digitalWrite (con la W mayuscula), que lo que hace es escribir un valor en la entrada especificada, en este caso le damos un valor HIGH (en mayuscula) o alto al pin 13, lo que quiere decir que por este pin saldrán 5 voltios. ¿durante cuanto tiempo? Hasta que se le de otra instrucción al mismo  pin (ya les decía que es muy lógico el funcionamiento).
El segundo comando es delay, que lo que hace es generar un retardo entre la primera orden que le dimos al pin 13 y la segunda que le daremos en la tercera linea del bloque void loop().
por lo tanto el Led estara encendido por medio segundo (500 milisegundos), luego se apagara por 1 segundo (1000 milisegundos) y luego vuelve al inicio a encender por medio segundo y asi hasta siempre.

Ya que sabes lo que hace tu codigo podemos guardarlo y darle al boton de verificar y fijarse en la parte de abajo de la pantalla...
Cuando compile aparecerá "Compilando el sketch..." y despues, si no hay errores, aparecerá "Compilación terminada". Ahora estas en condiciones de conectar tu Arduino al computador con el cable USB y darle al botón cargar.

Veras como el led se enciende por medio segundo y se apaga durante un segundo. Luego, cambiando los delay() y agregando mas sentencias digitalWrite() puedes lograr secuencias de encendido y apagado mucho mas elaboradas.

Saludos!








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!