LA HISTORIA
Arduino
nació en el Instituto Italiano de Diseño Interactivo IVREA, una escuela donde los estudiantes centraban
sus experimentos en la interacción con dispositivos, muchos de ellos basados en
microcontroladores.
Arduino
surge de una necesidad, la de contar con un dispositivo para utilizar en clase,
que fuera de bajo coste, que funcionase bajo cualquier sistema operativo y que
contase con documentación adaptada a gente que quisiera empezar de cero.
El
proyecto comenzó en Ivrea , Italia (el sitio de la compañía de computadoras
Olivetti ), en el año 2005 para crear un dispositivo para el control de los
proyectos construidos por estudiantes de diseño de interacción menos costoso
que otros sistemas de creación de prototipos disponibles en el momento.
En
mayo de 2011, más de 300.000 unidades de Arduino son "in the wild".
Fundadores Massimo Banzi y David Cuartielles llamado el proyecto después de
Arduino de Ivrea , el personaje principal histórico de la ciudad.
"Arduino" es una italiana masculina nombre , que significa
"amigo fuerte". La versión en Inglés del nombre es
"Hardwin".
El
proyecto Arduino es un tenedor de código abierto plataforma de cableado . El
cableado fue creado por el artista colombiano y programador de HERNANDO BARRAGÁN , como una tesis de
maestría en el Interaction Design Institute Ivrea , bajo la supervisión de
Massimo Banzi y Casey Reas . Por otra parte, se basa en cableado de
procesamiento y su entorno de desarrollo integrado creado por Casey Reas y Ben
Fry .
Arduino fue construido en torno al proyecto de
cableado de Hernando Barragán. El cableado fue el proyecto de tesis de Hernando
en el Interaction Design Institute Ivrea.
Fue
pensado para ser una versión electrónica de procesamiento que utiliza nuestro
entorno de programación y fue modelado después de la sintaxis de procesamiento.
En
el año 2005, en IVREA coincidieron todos los actores de esta historia. Así lo
cuenta el profesor MASSIMO BANZI: “Cuando estaba trabajando en esto conocí a DAVID CUARTELLES y comenzó a echarme
una mano con el proyecto…Hicimos juntos el primer hardware de Arduino, luego
vino DAVID MELLIS, un estudiante
mío, que se unió para escribir el software, luego Tom Igde entró como consejero
y GIANLUCA MARTINO que era el que
producía las placas. Así se formó el equipo, añadiendo gente según sus
habilidades”.
Arduino
se implementó, no obstante, sobre los cimientos de Wiring. Verán, en Ivrea
también daba clases Casey Reas, uno de los fundadores de la plataforma de
programación Processing. Banzi pensó en cómo hacer un Processing para hardware.
Comenzó, entonces, a trabajar con un estudiante suyo, que había hecho una tesis
sobre el tema, Hernando Barragán.
“Después de que Hernando hiciera Wiring pensamos en como hacer toda la
plataforma más simple, más barata y sencilla de usar. Se comenzó a reimplementar
todo como un proyecto open source para que todo el mundo pudiera venir y
ayudar, contribuir”.
El
lenguaje de programación de Arduino es una implementación de Wiring que a su
vez se basa en Processing,
Actualmente
ya se han creado oficialmente más de 120
mil placas Arduino. En cuanto a ventas, Nathan Seidle, CEO de sparkfun.com dice
que han vendido 40.000 unidades de la versión Arduino USB (montada, probada y
lista para funcionar).
¿QUE ES ARDUINO?
Arduino
es una plataforma de desarrollo de computación física, de código abierto,
basada en una placa con un sencillo microcontrolador y un entorno de desarrollo
para crear software Processing (para esa placa). Arduino es hardware libre.
Para
entenderlo mejor veremos que es:
·
Un microcontrolador es un “ordenador en
un chip”. Es el cerebro electrónico utilizado para controlar juguetes,
microondas, frigoríficos, televisores, ordenadores, impresoras, módems, el
sistema de arranque de los coches etc. Es un circuito integrado (chip) que
contiene memoria (para almacenar programas), un procesador (para procesar y
llevar a cabo los programas) y pines de entrada/salida (para conectar
interruptores, sensores, y dispositivos de salida como los motores) (Didactec).
·
La computación física es crear un dialogo
entre el mundo físico que nos rodea y el mundo virtual creado por los
ordenadores. Para que este diálogo se produzca hay que capturar la información
a través de sensores que obtengan la información análoga y la envié al
ordenador en lenguaje digital. A su vez
necesitamos un programa que sea capaz de interpretar los datos enviados por los
sensores y realizar alguna tarea, bien en el mundo virtual del ordenador o bien
sobre el mundo físico como, por ejemplo, encender la calefacción si hace frío o
apagarla si hace calor. Se crea un dialogo bidireccional entre estos dos
mundos. (Qué es la computación física). El Gurú de la computación física es Tom
Igoe.
·
Processing es un lenguaje de
programación, un entorno de desarrollo y una comunidad online, que desde 2001
ha promovido la alfabetización de software en las Artes Visuales. Es decir,
enseñar programación a no programadores en un contexto visual. Processing fue
fundada por Ben Fry y Casey Reas.
Arduino
puede tomar información del entorno a través de sus pines de entrada de toda
una gama de sensores y puede afectar aquello que le rodea controlando luces,
motores y otros actuadores. El microcontrolador en la placa Arduino se programa
mediante el lenguaje de programación Arduino (basasdo en Wiring) y el entorno
de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino
pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la
posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej.
Flash, Processing, MaxMSP).
Las
placas pueden ser hechas a mano o compradas montadas de fábrica; el software
puede ser descargado de forma gratuita. Los ficheros de diseño de referencia
(CAD) están disponibles bajo una licencia abierta, así pues eres libre de
adaptarlos a tus necesidades.
Con
el siguiente ejemplo lo verán todo bastante claro. Se trata de MakerBot,
una impresora 3D construida con varios Arduinos. A partir de un modelo 3D
(que puede ser descargado de Internet, diseñado por uno mismo o escaneado), la
máquina fabrica, en plástico, una, cien o mil unidades del objeto, por ejemplo
un perchero, un abrebotellas, una taza… En
la Red hay multitud de modelos 3D
gratuitos que podemos fabricar por nosotros mismos. Ya no necesitamos una
cortadora láser o una máquina de fabricación de circuitos integrados.
MENCIONES
Arduino
recibió una Mención Honorífica en la sección Digital Communities de la edición
del 2006 del Ars Electronica Prix. El equipo Arduino (Arduino team) es: Massimo
Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis. Credits
ARDUINO UNO
El
Uno Arduino es una placa electronica basada en el ATmega328 ( ficha técnica ).
Cuenta con 14 entradas / salidas digitales pines (de los cuales 6 pueden ser
utilizados como salidas PWM), 6 entradas analógicas, un oscilador de cristal de
16 MHz, una conexión USB, un conector de alimentación, una cabecera de ICSP, y
un botón de reinicio. Contiene todo lo necesario para apoyar a la micro, sólo
tiene que conectarlo a un ordenador con un cable USB o el poder con un
adaptador AC-DC o la batería para empezar.
El
Uno difiere de todas las placas anteriores en que no utilizan el chip
controlador USB FTDI a serie. Por el contrario, cuenta con la Atmega16U2
(Atmega8U2 hasta la versión R2) programado como un convertidor de USB a serie.
Revisión
2 de la junta Uno tiene una resistencia tirando de la línea HWB 8U2 a tierra,
por lo que es más fácil de poner en modo DFU .
Revisión
3 de la junta directiva tiene las siguientes características nuevas:
1,0
pinout: añade pines SDA y SCL que se encuentran cerca al pin AREF y dos
pasadores de otros nuevos que se pongan cerca del pin de RESET, el IOREF que
permiten a los escudos de adaptarse a la tensión proporcionada por la junta.
En
el futuro, escudos serán compatibles tanto con la tarjeta que utiliza el
regulador, que operan con 5V y con el Arduino Debido que funcionan con 3.3V. El
segundo es un pin no está conectado, que se reserva para usos futuros.
REINICIAR
más fuerte del circuito.
Atmega
16U2 reemplazar el 8U2.
"Uno"
significa uno en italiano y se nombra para celebrar el próximo lanzamiento de
Arduino 1.0. El Uno y la versión 1.0 será la versión de referencia de Arduino,
de seguir adelante. El Uno es el último de una serie de placas Arduino USB, y
el modelo de referencia para la plataforma Arduino, una comparación con las
versiones anteriores, consulte el índice de la placa Arduino .
Resumen
Microcontroladores ATmega328
Voltaje
de funcionamiento 5V
Voltaje
de Entrada (recomendado) 7-12V
Voltaje
de entrada (los límites) 6-20V
Digital
pines I / O 14 (6 de las cuales
proporcionan una salida PWM)
Pines
de entrada analógica 6
Corriente
de I / S de CC Pin 40 mA
De
corriente continua de 3,3 V Pin
50 mA
Memoria
Flash 32 KB (ATmega328) de los
cuales 0,5 KB utilizado por gestor de arranque
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Velocidad
de reloj 16 MHz
Esquema de diseño de
referencia
EAGLE
archivos: arduino-uno-Rev3-reference-design.zip (NOTA: trabaja con Eagle 6.0 y
posteriores)
Esquema:
arduino-uno-Rev3-schematic.pdf
Nota:
El diseño de referencia Arduino puede utilizar un Atmega8, 168, o 328, los
modelos actuales utilizan una ATmega328, pero una Atmega8 se muestra en el
esquema de referencia. La configuración de pines es idéntico en los tres procesadores.
Poder
El
Uno Arduino puede ser alimentado a través de la conexión USB o con una fuente
de alimentación externa. La fuente de alimentación se selecciona
automáticamente.
Externo
(no USB), el poder puede venir de un adaptador de CA a CC (en la pared verruga)
o la batería. El adaptador se puede conectar al conectar un centro de
2.1mm-positivo enchufe en toma de alimentación de la placa.
Cables
de la batería se puede insertar en los encabezados de pin GND y Vin del
conector de alimentación.
La
junta puede operar en un suministro externo de 6 a 20 voltios. Si se
suministran con menos de 7V, sin embargo, el pasador de 5V puede suministrar
menos de cinco voltios y la junta puede ser inestable.
Si
utiliza más de 12V, el regulador de voltaje se puede sobrecalentar y dañar la
placa. El rango recomendado es de 7 a 12 voltios.
Los
pines de alimentación son los siguientes:
·
VIN.
El voltaje de entrada a la placa Arduino cuando se utiliza una fuente de
alimentación externa (a diferencia de 5 voltios de la conexión USB o de otra
fuente de alimentación regulada). Usted puede suministrar tensión a través de
este pin, o, si el suministro de tensión a través de la toma de poder, acceder
a ella a través de este pin.
·
5V.
Este pin genera una 5V regulado por el regulador en el tablero. El tablero
puede ser alimentado ya sea desde la entrada de alimentación (7 - 12 V), el
conector USB (5V), o el pasador de VIN de la junta (7-12V). El suministro de
tensión a través de los pasadores de 5V o 3.3V no pasa por el regulador, y
puede dañar la placa. No se lo aconsejo.
·
3V3.
Un suministro voltios 3,3 generada por el regulador de a bordo. Consumo de
corriente máxima es de 50 mA.
GND.
Estacas.
Memoria
El
ATmega328 tiene 32 MB (con 0,5 KB utilizados para el gestor de arranque). También
dispone de 2 KB de SRAM y 1 KB de memoria EEPROM (que se puede leer y escribir
con la librería EEPROM ).
Entrada y salida
Cada
uno de los 14 pines digitales en el Uno se puede utilizar como entrada o de
salida, usando pinMode () , digitalWrite () , y digitalRead () funciones. Ellos
operan a 5 voltios. Cada pin puede proporcionar o recibir un máximo de 40 mA y
tiene una interna de resistencia pull-up (desconectado por defecto) de 20 a 50
kOhm. Además, algunos pines tienen funciones especializadas:
·
Serie:.
0 (RX) y 1 (TX) Se utiliza para recibir (RX) y transmisión (TX) datos serie
TTL. Estos se encuentran conectadas a los pines correspondientes de la
ATmega8U2 USB-a-chip de serie TTL.
·
Interrupciones
externas: 2 y 3 Estos pines pueden ser configurados para activar una
interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio
en el valor. Ver la attachInterrupt () la función para más detalles.
·
PWM:.
3, 5, 6, 9, 10 y 11 Proporcionar 8-bits de salida PWM con la analogWrite ()
función.
·
SPI:
10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Se trata de las espigas de apoyo con la
comunicación SPI. biblioteca de SPI .
·
LED:
13 Hay un built-in LED conectado al pin digital 13.. Cuando el pin es de alto
valor, el LED está encendido, cuando el pasador es bajo, es apagado.
El
Uno tiene 6 entradas analógicas, etiquetados A0 a A5, cada una de las cuales
proporcionan 10 bits de resolución (es decir 1024 valores diferentes). Por
defecto miden desde el suelo a 5 voltios, aunque es posible cambiar el extremo superior
de su rango con el pasador y el AREF analogReference () función. Además,
algunos pines tienen funciones especializadas:
·
IST:
A4 o A5 y pin SDA o SCL pasador de soporte de comunicación con el IST. librería
Wire .
Hay
un par de alfileres en el tablero:
·
AREF.
Voltaje de referencia para las entradas analógicas. Se utiliza con
analogReference ().
·
Restablecer.
Lleve esta línea LOW para reiniciar el microcontrolador. Normalmente se utiliza
para añadir un botón de reinicio para escudos que bloquean el uno en el
tablero.
Comunicación
El
Uno Arduino tiene una serie de facilidades para comunicarse con un ordenador,
otro Arduino, u otros microcontroladores. El ATmega328 ofrece UART TTL (5V) de
comunicación en serie, que está disponible en los pines digitales 0 (RX) y 1
(TX). Un ATmega16U2 en los canales de comunicación a bordo esta serie a través
de USB y aparece como un puerto COM virtual con el software en el ordenador. El
firmware '16U2 utiliza el estándar de los controladores USB, COM, y no hay
ningún controlador externo es necesario. Sin embargo, en Windows, un archivo.
inf se requiere .
El
software de Arduino incluye un monitor de serie que permite a los simples datos
de texto que se envía desde y hacia la placa Arduino. Los LEDs RX y TX en el
tablero parpadea cuando se están transmitiendo datos a través de la ficha de
USB a serie y la conexión USB a la computadora (pero no para la comunicación de
serie en los pines 0 y 1).
Una
biblioteca de SoftwareSerial permite la comunicación de serie en cualquiera de
los pines digitales de la ONU.
El
ATmega328 también soporta comunicación I2C (TWI) y SPI. El software de Arduino
incluye una librería Wire para simplificar el uso del bus I2C, consulte la
documentación para más detalles. Para la comunicación SPI, utilice la
biblioteca de SPI.
Programación
El
Uno Arduino puede ser programado con el software de Arduino ( descarga ).
Seleccione "Arduino Uno de los menú Herramientas> Consejo (de acuerdo
con el microcontrolador en el tablero). Para obtener más información, consulte
la referencia y tutoriales .
El
ATmega328 en la Arduino Uno viene pre-quemado con un gestor de arranque que le
permite cargar nuevo código a la misma sin el uso de un programador de hardware
externo. Se comunica utilizando el protocolo original STK500 ( de referencia ,
los archivos de cabecera C ).
También
puede pasar por alto el gestor de arranque y el programa del microcontrolador a
través de la ICSP (programación In-Circuit Serial) cabecea, ver las
instrucciones para los detalles.
El
ATmega16U2 (o 8U2 en los REV1 y REV2 tablas) el código fuente está disponible
el firmware. El ATmega16U2 / 8U2 está cargado con un cargador de arranque DFU, que
puede ser activado por:
·
En
Rev1 juntas: conectar el puente de soldadura en la parte posterior de la placa
(cerca del mapa de Italia) y luego reiniciar el 8U2.
·
En
Rev2 o tablas posteriores: hay una resistencia que tirando de la línea de
8U2/16U2 HWB a tierra, por lo que es más fácil poner en modo DFU.
A
continuación, puede utilizar el software FLIP de Atmel (Windows) o el
programador de DFU (Mac OS X y Linux) para cargar un nuevo firmware. O puede
utilizar el encabezado de ISP con un programador externo (sobrescribir el
gestor de arranque DFU). Ver este tutorial aportado por los usuarios para
obtener más información.
Automática (Software)
Restablecer
En
lugar de exigir una prensa físico del botón de reinicio antes de que una carga,
el Uno Arduino está diseñado de una manera que le permite ser restaurada
mediante el software que se ejecuta en un ordenador conectado.
Una de las líneas de control de flujo de
hardware (DTR) de la ATmega8U2 / 16U2 está conectado a la línea de reposición
del ATmega328 través de un condensador 100 nanofaradios.
Cuando
esta línea se afirma (tomado bajo), la línea de reset cae lo suficiente como
para restablecer el chip. El software de Arduino utiliza esta capacidad que le
permite cargar el código con sólo pulsar el botón de subida en el entorno
Arduino.
Esto
significa que el gestor de arranque puede tener un tiempo de espera más corta,
como la reducción de DTR puede ser bien coordinada con el inicio de la carga.
Esta
configuración tiene otras implicaciones. Cuando el Uno se conecta a un
ordenador con Mac OS X o Linux, se pone a cero cada vez que se realiza una
conexión a ella desde el software (a través de USB). Para el siguiente medio
segundo más o menos, el gestor de arranque se está ejecutando en la ONU.
Mientras
que está programado para ignorar los datos con formato incorrecto (es decir,
nada, además de un proceso de carga del nuevo código), que interceptará los
primeros bytes de datos enviados a la junta después de una conexión se abre.
Si
un esquema que se ejecuta en la placa recibe una configuración en tiempo u
otros datos cuando se inicia por primera vez, asegúrese de que el software con
el que se comunica espera un segundo después de abrir la conexión y antes de
enviar estos datos.
El
Uno contiene una traza que se puede cortar para deshabilitar la auto-reset. Las
almohadillas en cada lado de la huella puede ser soldadas entre sí para volver
a habilitar la misma. Ha marcado "RESET-ES". También puede ser capaz
de desactivar el reinicio automático mediante la conexión de una resistencia de
110 ohmios de 5V a la línea de reset, ver este hilo del foro para más detalles.
USB Protección contra
sobrecorriente
El
Uno Arduino tiene un polifusible reajustable que protege a los puertos USB de
tu ordenador de cortos circuitos y de sobrecorriente. Aunque la mayoría de las
computadoras ofrecen su protección interna, el fusible proporciona una capa
adicional de protección. Si hay más de 500 mA se aplica al puerto USB, el
fusible automáticamente se corta la conexión hasta que el cortocircuito o una
sobrecarga se ha eliminado.
Características
físicas
La
longitud máxima y la anchura de la Junta de Coordinación Uno son 2,7 y 2,1
pulgadas respectivamente, con el conector USB y conector de alimentación se
extiende más allá de la dimensión anterior. Cuatro orificios de los tornillos
permite que la tarjeta sea sujeto a una superficie o caja. Obsérvese que la
distancia entre los pines digitales 7 y 8 es de 160 milésimas de pulgada (0,16
"), no un múltiplo par de la separación 100 milésimas de los pasadores de
otros.