startMiner - free and simple next generation Bitcoin mining software

sábado, 14 de abril de 2012

ARDUINO



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.