¿Como surge Arduino?
Arduino nació como un proyecto educativo allá por el año
2005 sin pensar que algunos años más tarde se
convertiría en líder del mundo DIY (Do It Yourself) Hazlo
tu mismo.
Su nombre viene del nombre del bar Bar di Re Arduino
donde Massimo Banzi pasaba algunas horas, el cual a su
vez viene del nombre de un antiguo rey europeo allá por
el año 1002.
Banzi dice que nunca surgió como una idea de negocio,
es más nació por una necesidad de subsistir ante el
eminente cierre del Instituto de diseño Interactivo IVREA
en Italia. Es decir, al crear un producto open hardware (de
uso público) no podría ser embargado. Es más hoy en día
Arduino tiene la difícil tarea de subsistir comercialmente y
¿A base de quien surge?
Para su creación participaron alumnos que
desarrollaban sus tesis como Hernando
Barragán (Colombia) quien desarrollo la plataforma de
programación Wiring con la cual se programa el
microcontrolador
Jefe de Mantenimiento Electrónico en Polymer Group
Inc
En Colombia El primer prototipo fue de en el instituto
IVRAE.
Para la producción en serie de la primera
versión se tomaron en cuenta algunas
consideraciones: Economía (no mayor a 30
Euros), debía ser Plug and Play, utilizaron el
color azul para marcar una diferencia con
las placas convencionales, trabajar en todas
las plataformas (Mac, Windows y Linux).
La primera producción fue de 300 unidades
y se las dieron a los alumnos del Instituto
IVRAE, (las ganancias fueron de sólo 1
Los puertos serie son la forma principal de
comunicar una placa Arduino con un
ordenador.
Existen un sin fin de posibilidades en las que
se requiere el empleo del puerto serie. Por
tanto el puerto serie es un componente
fundamental de una gran cantidad de
proyectos de Arduino, y es uno de los
elementos básicos que debemos aprender
¿QUÉ ES EL PUERTO DE
SERIE?Un puerto es el nombre genérico con que
denominamos a los interfaces, físicos o
virtuales, que permiten la comunicación
entre dos ordenadores o dispositivos.
Un puerto serie envía la información
mediante una secuencia de bits.
Para ello se necesitan al menos dos
conectores para realizar la comunicación de
¿Qué es el puerto de serie?
Un puerto es el nombre genérico con que
denominamos a los interfaces, físicos o virtuales,
que permiten la comunicación entre dos ordenadores
o dispositivos
Un puerto serie envía la información mediante una
secuencia de bits. Para ello se necesitan al menos
dos conectores para realizar la comunicación de
datos, RX (recepción) y TX (transmisión). No
obstante, pueden existir otros conductores para
referencia de tensión, sincronismo de reloj, etc.
Puerto en una
Puerto Paralelo
Por el contrario, un puerto paralelo envía la información
mediante múltiples canales de forma simultánea. Para ello
necesita un número superior de conductores de comunicación,
que varían en función del tipo de puerto. Igualmente existe la
posibilidad de conductores adicionales además de los de
comunicación.
El EPP (puerto paralelo mejorado) alcanza velocidades de 8 a 16
Mbps
El ECP (puerto de capacidad mejorada), desarrollado por Hewlett
Packard y Microsoft. Posee las mismas características del EPP
con el agregado de un dispositivo Plug and Play que permite que
el equipo reconozca los periféricos conectados.
Un ordenador convencional dispone de varios
puertos de serie. Los más conocidos son el
popular USB (universal serial port) y el ya casi
olvidado RS-232 (el de los antiguos ratones). Sin
embargo, dentro del ámbito de la informática y
automatización existen una gran cantidad
adicional de tipos de puertos serie, como por
ejemplo el RS-485, I2C, SPI, Serial Ata, Pcie
Express, Ethernet o FireWire, entre otros.
Antes de conectar dos sistemas debemos
comprobar que los voltajes empleados son
Un ordenador convencional dispone de varios puertos de
serie. Los más conocidos son el popular USB (universal serial
port) y el ya casi olvidado RS-232(el de los antiguos ratones).
Sin embargo, dentro del ámbito de la informática y
automatización existen una gran cantidad adicional de tipos de
puertos serie, como por ejemplo el RS-485, I2C, SPI, Serial Ata,
Pcie Express, Ethernet o FireWire, entre otros.Pin Función
TXD (Transmitir Datos)
RXD (Recibir Datos)
DTR
(Terminal de Datos
Listo)
DSR
(Equipo de Datos
Listo)
RTS (Solicitud de Envío)
CTS (Libre para Envío)
DCD
(Detección de
Portadora)
Los puertos de serie como UART. (universally
asynchronous receiver/transmitter) es una
unidad que incorporan ciertos procesadores,
encargada de realiza la conversión de los datos
a una secuencia de bits y transmitirlos o
recibirlos a una velocidad determinada.
Los puertos TTL (transistor-transistor logic).
Significa que la comunicación se realiza
mediante variaciones en la señal entre 0V y Vcc
(donde Vcc suele ser 3.3V o 5V). Por el
contrario, otros sistemas de transmisión
emplean variaciones de voltaje de -Vcc a +Vcc
Prácticamente todas las placas Arduino disponen
al menos de una unidad UART. Las placas
Arduino UNO y Mini Pro disponen de una unidad
UART que operan a nivel TTL 0V / 5V, por lo que
son directamente compatibles con la conexión
USB. Por su parte, Arduino Mega y Arduino Due
disponen de 4 unidades UART TTL 0V / 5V.
Muchos modelos de placas Arduino disponen de
un conector USB o Micro USB conectado a uno de
los puertos de serie, lo que simplifica el proceso
de conexión con un ordenador. Sin embargo
El puerto serie del Arduino Uno, usa los pins 0(RX) y
1(TX). Estos están conectados al controlador FTDI
(ATmega 16u2) que es el que permite la traducción del
formato serie TTL a USB. Estos pins no pueden ser
utilizados mientras se usa la comunicación serie.
Debido a que el uso de este puerto ha quedado un poco
en desuso a favor de la tecnología USB, Arduino cuenta
con un convertidor de Serial a USB que permite a nuestra
placa ser reconocida por nuestra computadora como un
dispositivo conectado a un puerto COM aún cuando la
conexión física sea mediante USB.
Arduino IDE nos proporciona una herramienta que nos
permite enviar y visualizar los datos que se manejan a
Processing
Processing es un lenguaje de programación open source (código abierto)
y un ambiente de trabajo para personas que quieran programar imágenes,
animaciones e interacciones. Es usado por estudiantes, artistas,
diseñadores y aficionados para el aprendizaje, creación de prototipos y
producción. Está creado para enseñar los fundamentos de programación
dentro de un contexto visual y para servir como un cuaderno de bocetos
de software y una herramienta de producción profesional.
El monitor de puerto serie es una pequeña utilidad
integrada dentro de IDE Standard que nos permite
enviar y recibir fácilmente información a través del
puerto serie. Su uso es muy sencillo, y dispone de
dos zonas, una que muestra los datos recibidos, y
otra para enviarlos. Estas zonas se muestran en la
siguiente imagen.
AVR Los AVR son una familia de microcontroladores RISC del fabricante
estadounidense Atmel. La arquitectura de los AVR fue concebida por dos estudiantes
en el Norwegian Institute of Technology, y posteriormente refinada y desarrollada
en Atmel Norway, la empresa subsidiaria de Atmel, fundada por los dos arquitectos del
chip. Cuenta con bastantes aficionados debido a su diseño simple y la facilidad de
programación. Se pueden dividir en los siguientes grupos :
ATxmega: procesadores muy potentes con 16 a 384 kB de memoria
flash programable, encapsulados de 44, 64 y 100 pines (A4, A3, A1),
capacidad de DMA, eventos, criptografía y amplio conjunto de periféricos
con DACs.
ATmega: microcontroladores AVR grandes con 4 a 256 kB de memoria
flash programable, encapsulados de 28 a 100 pines, conjunto de
instrucciones extendido (multiplicación y direccionamiento de programas
mayores) y amplio conjunto de periféricos.
ATtiny: pequeños microcontroladores AVR con 0,5 a 8 kB de memoria
flash programable, encapsulados de 6 a 20 pines y un limitado set de
periféricos.
AT90USB: ATmega integrado con controlador USB
AT90CAN: ATmega con controlador de bus CAN
Tipos especiales: algunos modelos especiales, por ejemplo, para el control
de los cargadores de baterías, pantallas LCD y los controles de los motores
o la iluminación.
Barato: Las placas Arduino son relativamente
baratas comparadas con otras
plataformas microcontroladoras.
Multiplataforma: El software de Arduino se ejecuta
en sistemas operativos Windows, Macintosh OSX y
GNU/Linux. La mayoría de los sistemas
microcontroladores están limitados a Windows.
Entorno de programación simple y claro: El entorno
de programación de Arduino es fácil de usar para
principiantes, pero suficientemente flexible para que
usuarios avanzados puedan aprovecharlo también.
Para profesores, está convenientemente basado en
el entorno de programación Processing, de manera
Código abierto y software extensible: El software
Arduino está publicado como herramientas de código
abierto, disponible para extensión por programadores
experimentados. El lenguaje puede ser expandido
mediante librerías C++, y la gente que quiera entender
los detalles técnicos pueden hacer el salto desde
Arduino a la programación en lenguaje AVR C.
Código abierto y hardware extensible: El Arduino está
basado en microcontroladores ATMEGA8 y
ATMEGA168 de Atmel. por lo que diseñadores
experimentados de circuitos pueden hacer su propia
versión del módulo, extendiéndolo y mejorándolo.
1-Consigue un Arduino y un cable USB
2-Descarga el IDE de Arduino
3-Conecta la placa
4-Instala los drivers
1 | Consigue un Arduino y un cable USB
En este tutorial asumimos que estás usando un placa Arduino
UNO Si tienes cualquier otra placa necesitas leer la página
correspondiente a la placa que uses.
También necesitarás un cable estándar USB (conexión A a
conexión B), como los que se usan para conectar, por ejemplo,
Pasos Para
Conexión
2 | Descarga el IDE de Arduino
Descarga la última versión de la página oficial.
Cuando la descarga finalice, descomprime el fichero.
Asegúrate de mantener la estructura de directorios. Haz
doble click en la carpeta arduino-00XX para abrirla.
Deberías ver una serie de ficheros y carpetas ahí dentro.
3 | Conecta la placa
Conecta la placa Arduino a tu ordenador usando el cable USB.
el LED verde indicador de la alimentación (nombrado
como PWR en la placa) debería quedar encendido a partir de
ese momento.
En las placas Arduino Duemilanove y Arduino Nano la fuente
de alimentación adecuada se selecciona de forma automática
y no requiere de realizar ninguna comprobación en este.
4 | Instala los drivers
Cuando conectas la placa, Windows debería inicializar la
instalación de los drivers (siempre y cuando no hayas
utilizado ese ordenador con una placa Arduino
anteriormente).
En Windows Vista y Windows 7, los drivers deberían
descargarse e instalarse automáticamente.
Cuando te pregunten: ¿Puede Windows conectarse a
Windows Update para buscar el software? selecciona No,
no esta vez. Haz click en Siguiente.
Selecciona Instalar desde una lista o localización
específica (Avanzado) haz click enSiguiente.
4 | Instala los drivers
El asistente de instalación buscará los drivers y te
anunciará que encontró un "USB Serial Converter" (se
traduce por Conversor USB-Serie). Haz click en Finalizar.
El asistente de instalación de hardware volverá a iniciarse.
Repite los mismos pasos que antes y selecciona la misma
carpeta de instalación de los drivers. Esta vez el sistema
encontrará un "USB Serial Port" (o Puerto USB-Serie).
Puedes comprobar que los drivers se han instalado
correctamente abriendo la carpeta del Administrador del
Dispositivos, en el grupo Dispositivos del panel de control
del sistema. Busca "USB Serial Port" (o Puerto USB-
Serie)en la sección de puertos; esa es tu placa Arduino.
5 | Ejecuta la Aplicación Arduino
Haz doble click en la aplicación Arduino.
6 | Selecciona tu placa
Necesitarás seleccionar el tipo de placa de tu Arduino en el
menú Tools > Board. (Se puede encontrar más detalles sobre los
dispositivos de entrada de las placas en el menú desplegable en
la página del entorno arduino.)
7 | Selecciona tu puerto serie
Selecciona el dispositivo serie de la placa Arduino en el menú
Tools | Serial Port (Herramientas | Puertos Serie). Lo más
probable es que sea COM3 o mayor (COM1 y COM2se reservan,
por regla general para puertos serie de hardware). Para
asegurarte de cual es, puedes desconectar la placa y volver a
mirar el menú; el puerto de la placa habrá desaparecido de la
lista. Reconecta la placa y selecciona el puerto apropiado.
Para realizar la conexión mediante puerto serie
únicamente es necesario conectar nuestra placa
Arduino empleando el mismo puerto que empleamos
para programarlo. A continuación abrimos el IDE
Standard de Arduino y hacemos click en el “Monitor
Serial” como se indica en la imagen.
Sketch En Arduino
Un programa de Arduino se denomina sketch o
proyecto y tiene la extensión .ino
Importante: para que funcione el sketch, el nombre del
fichero debe estar en un directorio con el mismo
nombre que el sketch.
No es necesario que un sketch esté en un único
fichero, pero si es imprescindible que todos los
ficheros estén dentro del mismo directorio que el
fichero principal y que este contenga obligatoriamente
las funciones setup() y loop().
void setup() {
// poner el código de configuración aquí, para ejecutar
una vez:
}
void loop() {
// poner el código principal aquí, para ejecutar
repetidamente:
}
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
En donde setup() es la parte encargada de recoger la
configuración y loop() es la que contiene el programa que se
ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas
funciones son necesarias para que el programa trabaje.
La función de configuración (setup) debe contener la
inicialización de los elementos y esta función sólo se
ejecuta una vez justo después de hacer el reset y no se
vuelve a ejecutar hasta que no haya otro reset. Es la
primera función a ejecutar en el programa y se utiliza
para configurar, inicializar variables, comenzar a usar
librerías, etc…
La función bucle (loop) siguiente contiene el código que
se ejecutará continuamente (lectura de entradas,
Comandos AT (Hayes)
Una de las grandes dificultades a la hora de poseer un
dispositivo controlado con comandos AT como
un Bluetooth o un GPRS, es ser capaces de acceder
al modo de configuración para introducir estos
comandos sin morir de aburrimiento en el intento.
Para ahorrar tiempo describiremos diferentes maneras
de acceder a estos dispositivos mediante comandos
AT.
Disponemos de un módulo Bluetooth HC-05 que podemos
conectar al puerto Serial de Arduino. Resumidamente hemos
de conectar los pines de recepción (RX) y transmisión (TX);
que por defecto son los pines 0 y 1respectivamente de nuestra
placa con los pines de transmisión (TX) y recepción (RX) del
módulo de forma inversa; tal y como se indica en la figura.
Lo más importante a tener en cuenta es que
debemos de activar el modo de configuración del
Bluetooth a través de el PIN EN o KEY, que debe de
estar activo con un voltaje y que en este caso
conectamos al pin de 3,3V.