SlideShare una empresa de Scribd logo

Arduino

informacion sobre arduino

1 de 45
Descargar para leer sin conexión
¿QUÉ ES ARDUINO?
Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y
fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos
interactivos.
Arduino puede sentirel entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor
mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino
Programming Language(basado en Wiring) y el Arduino Development Environment(basado en Processing). Los proyectos
de Arduino pueden ser autonomos o se pueden comunicar con software en ejecución en un ordenador (por ejemplo con Flash,
Processing, MaxMSP, etc.).
Las placas se pueden ensamblar a mano o encargarlas preensambladas; el software se puede descargar gratuitamente. Los
diseños de referencia del hardware (archivos CAD) están disponibles bajo licencia open-source, por lo que eres libre de adaptarlas
a tus necesidades.
Arduino recibió una mención honoríca en la sección Digital Communities del Ars Electronica Prix en 2006.
¿Por qué Arduino?
Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para computación física. Parallax Basic
Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, y muchas otras ofertas de funcionalidad similar. Todas estas
herramientas toman los desordenados detalles de la programación de microcontrolador y la encierran en un paquete fácil de usar.
Arduino también simplificael proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para profesores, estudiantes
y aaficionados interesados sobre otros sistemas:
 Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras.La versión
menos cara del modulo Arduino puede ser ensamblada a mano,e incluso los módulos de Arduino preensamblados
cuestan menos de 50$.
 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 sucientemente flexible para que usuarios avanzados puedan aprovecharlo también.Para profesores,está
convenientemente basado en el entorno de programación Processing,de manera que estudiantes aprendiendo a
programar en ese entorno estarán familiarizados con el aspecto y la imagen de Arduino.
 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 librerias 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 en el cual está basado.De forma similar,puedes añadir código AVR-C directamente en tus programas Arduino si
quieres.
 Código abierto y hardware extensible: El Arduino está basado en microcontroladores ATMEGA8 y ATMEGA168 de
Atmel. Los planos para los módulos están publicados bajo licencia Creative Commons,por lo que diseñadores
experimentados de circuitos pueden hacer su propia versión del módulo,extendiéndolo ymejorándolo.Incluso usuarios
relativamente inexpertos pueden construir la versión de la placa del módulo para entender como funciona y ahorrar
dinero.
Arduino (Genuino a nivelinternacionalhasta octubre 2016), es una compañía de hardw are libre y una comunidad tecnológica que diseña y
manufactura placas computadora de desarrollo de hardw are y software, compuesta respectivamente por circuitos impresos que integran
un microcontrolador y un entorno de desarrollo (IDE), en donde se programa cada placa.
Arduino se enfoca en acercar y facilitar eluso de la electrónica y programación de sistemas embebidos en proyectos multidisc iplinarios.1 2
Toda la
plataforma, tanto para sus componentes de hardw are como de software,son liberados con licencia de código abierto que permite libertad de
acceso a ellos.3
El hardw are consiste en una placa de circuito impreso con un microcontrolador, usualmente Atmel AVR, puertos digitales y analógicos
de entrada/salida,,4
los cuales pueden conectarse a placas de expansión (shields), que amplían las características de funcionamiento de la placa
Arduino. Asimismo, posee un puerto de conexión USB desde donde se puede alimentar la placa y establecer comunicación con el computador.
Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno de Processing y lenguaje de programación basado en
Wiring, así como en el cargador de arranque (bootloader) que es ejecutado en la placa.4
El microcontrolador de la placa se programa mediante un
computador, usando una comunicación serial mediante un convertidor de niveles RS-232 a TTL serial.
La primera placa Arduino fue introducida en 2005, ofreciendo un bajo costo y facilidad de uso para novatos y profesionales. Buscaba desarrollar
proyectos interactivoscon su entorno mediante el uso de actuadores y sensores. A partir de octubre de 2012, se incorporaron nuevos modelos de
placas de desarrollo que usan microcontroladores Cortex M3, ARM de 32 bits,5
que coexisten con los originales modelos que integran
microcontroladores AVRde 8 bits. ARM y AVRno son plataformas compatibles en cuanto a su arquitectura y por lo que tampoco lo es su set de
instrucciones, pero se pueden programar y compilar bajo el IDE predeterminado de Arduino sin ningún cambio.
Las placas Arduino están disponibles de dos formas: ensambladas o en forma de kits "Hazlo tú mismo" (por sus siglas en inglés "DIY"). Los
esquemas de diseño del Hardw are están disponibles bajo licencia Libre, con lo que se permite que cualquier persona pueda crear su propia placa
Arduino sin necesidad de comprar una prefabricada. Adafruit Industries estimó a mediados del año 2011 que, alrededor de 300,000 placas Arduino
habían sido producidas comercialmente y en el año 2013 estimó que alrededor de 700.000 placas oficiales de la empresa Arduino estaban en
manos de los usuarios.
Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software talcomo Adobe
Flash, Processing, Max/MSP, Pure Data, etc. Una tendencia tecnológica es utilizar Arduino como tarjeta de adquisición de datos desarrollando
interfaces en software como JAVA, VisualBasic y LabVIEW.6
Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo
integrado libre se puede descargar gratuitamente.
El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digitales en el Prix Ars Electrónica de 2006 .7 8 9
Índice
[ocultar]
 1Historia
 2Hardware
 3Equipo de desarrollo
 4Aplicaciones
 5Esquema de conexiones
o 5.1Entradasy salidas
 6Especificaciones
 7Lenguaje de programación Arduino
o 7.1Funcionesbásicasy operadores
 7.1.1Sintaxisbásica
 7.1.2Estructurasde control
 7.1.3Variables
 7.1.3.1Constantes
 7.1.3.2Tiposde datos
 7.1.3.3Conversiónentre tipos
 7.1.3.4Cualificadoresy ámbito delasvariables
 7.1.3.5Utilidades
 7.1.4Funcionesbásicas
 7.1.4.1E/S digital
 7.1.4.2E/S analógica
 7.1.4.3E/S avanzada
 7.1.4.4Tiempo
 7.1.4.5Matemáticas
 7.1.4.6Trigonometría
 7.1.4.7Númerosaleatorios
 7.1.4.8Bitsy Bytes
 7.1.4.9Interrupcionesexternas
 7.1.4.10Interrupciones
 7.1.4.11Comunicación por puerto serie
 7.1.5Manipulaciónde puertos
o 7.2AVR Libc
 7.2.1Interrupciones
 7.2.2Temporizadores
 7.2.3Manipulaciónde puertos
 7.2.4Establecer Bitsen variables
o 7.3Diferenciascon Processing
 7.3.1Arreglos
 7.3.2Impresiónde cadenas
o 7.4Ejemplo sencillode programación en Arduino
 8Bibliotecasen Arduino
o 8.1Serial
o 8.2EEPROM
o 8.3Ethernet
o 8.4Firmata
o 8.5LiquidCrystal
o 8.6Servo
o 8.7SoftwareSerial
o 8.8Stepper
o 8.9Wire
o 8.10Creación debibliotecas
 8.10.1Ejemplo de biblioteca
 9Ejemplosde Código
 10Instalación en diferentesentornos
o 10.1Windows
o 10.2GNU/Linux
 11Otrasinterfacesde programación
o 11.1Pduino
o 11.2Minibloq
o 11.3Physical Etoys
 12Véase también
 13Referencias
o 13.1Bibliografía
 14Enlacesde externos
Historia[editar]
Arduino se inició en el año 2005 como un proyecto para estudiantes en el Instituto IVREA, en Ivrea (Italia). En ese tiempo, los estudiantes usaban
el microcontrolador BASIC Stamp, cuyo coste era de 100 dólares estadounidenses, lo que se consideraba demasiado costoso para ellos. Por
aquella época, uno de los fundadores de Arduino, Massimo Banzi, daba clases en Ivrea.11
El nombre del proyecto viene delnombre del Bar di Re Arduino (Bar del Rey Arduino) donde Massimo Banzipasaba algunas horas. El rey Arduino
fue rey de Italia entre los años 1002 y 1014. En la creación de este proyecto contribuyó elestudiante colombiano Hernando Barragán, quien
desarrolló la tarjeta electrónica Wiring, el lenguaje de programación y la plataforma de desarrollo.12
Una vez concluida dicha plataforma, los
investigadores trabajaron para hacerlo más ligero, más económico y disponible para la comunidad de código abierto (hardw are y código abierto).
El instituto finalmente cerró sus puertas, asíque los investigadores, entre ellos el españolDavid Cuartielles, promovieron la idea.11
Banziafirmaría
años más tarde, que el proyecto nunca surgió como una idea de negocio, sino como una necesidad de subsistir ante el inminente cierre del
Instituto de diseño Interactivo IVREA. Es decir, que al crear un producto de hardw are abierto, este no podría ser embargado.
Posteriormente, Google colaboró en el desarrollo del Kit Android ADK (AccesoryDevelopment Kit), una placa Arduino capaz de comunicarse
directamente con teléfonos móviles inteligentes bajo el sistema operativo Android para que el teléfono controle luces, motores y sensores
conectados de Arduino.13 14
Para la producción en serie de la primera versión se tomó en cuenta que el coste no fuera mayor de 30 euros, que fuera ensamblado en una placa
de color azul, debía ser Plug and Play y que trabajara con todas las plataformas informáticas tales como MacOSX, Window s y GNU/Linux. Las
primeras 300 unidades se las dieron a los alumnos del Instituto IVREA, con el fin de que las probaran y empezaran a diseñar sus primeros
prototipos.
En el año 2005, se incorporó al equipo el profesor TomIgoe,12
que había trabajado en computación física, después de que se enterara del mismo a
través de Internet. Igoe ofreció su apoyo para desarrollar elproyecto a gran escala y hacer los contactos para distribuir las tarjetas en territorio
estadounidense. En la feria Maker Fair de 2011 se presentó la primera placa Arduino 32 bit para realizar tareas más pesadas.15
Hardware[editar]
Los modelos de Arduino se categorizan en placas de desarrollo, placas de expansión (shields), kits, accesoriose impresoras 3d .
Placas
Arduino Galileo,16
Arduino Uno, Arduino Leonardo, Arduino Due, Arduino Yún, Arduino Tre (En Desarrollo), Arduino Zero, Arduino Micro,
Arduino Esplora, Arduino Mega ADK, Arduino Ethernet, Arduino Mega 2560, Arduino Robot, Arduino Mini, Arduino Nano, LilyPad Arduino
Simple, LilyPad Arduino SimpleSnap, LilyPad Arduino, LilyPad Arduino USB, Arduino Pro Mini, Arduino Fio, Arduino Pro, Arduino
MKR1000/Genuino MKR1000, Arduino MICRO/Genuino MICRO, Arduino 101/Genuino 101, Arduino Gemma.
Placas de expansión (shields)
Arduino GSM Shield, Arduino Ethernet Shield, Arduino WiFi Shield, Arduino Wireless SD Shield, Arduino USB Host Shield, Arduino
Motor Shield, Arduino Wireless Proto Shield, Arduino Proto Shield.
Kits
The Arduino Starter Kit, Arduino Materia 101.
Accesorios
TFT LCD Screen, USB/Serial Light Adapter, Arduino ISP, Mini USB/Serial Adapter.
Impresoras 3d
Arduino Materia 101.
Equipo de desarrollo[editar]
El núcleo del equipo de desarrollo de Arduino está formado por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca
Martino, David Mellis y Nicholas Zambetti.
Aplicaciones[editar]
La plataforma Arduino ha sido usada como base en diversas aplicaciones electrónicas:
 Xoscillo: Osciloscopio de código abierto17
 Equipo científico para investigaciones18
 Arduinome: Un dispositivo controlador MIDI19
 OBDuino: un económetro que usa una interfaz de diagnóstico a bordo que se halla en los automóviles modernos
 SCA-ino: Sistema de cómputo automotriz capaz de monitorear sensores como el TPS, el MAP y el 02S y controlar
actuadores automotrices como la bobina de ignición, la válvula IAC y aceleradores electrónicos
 Humane Reader: dispositivo electrónico de bajo coste con salida de señalde TV que puede manejar una
biblioteca de 5000 títulos en una tarjeta microSD20
 The Humane PC: equipo que usa un módulo Arduino para emular un computador personal, con un monitor de
televisión y un teclado para computadora21
 Ardupilot: software y hardware de aeronaves no tripuladas
 ArduinoPhone: un teléfono móvil construido sobre un módulo Arduino22 23
 Máquinas de controlnumérico por computadora (CNC)
 Open Theremín Uno: Versión digital de hardw are libre delinstrumento Theremín
 Impresoras 3D
Esquema de conexiones[editar]
Entradasy salidas[editar]
Poniendo de ejemplo al módulo Diecimila, este consta de 14 entradas digitales configurables como entradas y/o salidas
que operan a 5 voltios. Cada contacto puede proporcionar o recibir como máximo 40 mA. Los contactos 3, 5, 6, 9, 10 y
11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los contactos 0 y 1,
eso interferirá con la comunicación USB. Diecimila también tiene 6 entradas analógicas que proporcionan una
resolución de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios (aunque es posible cambiar el nivelmás alto utilizando
el contacto Aref y algún código de bajo nivel).
Especificaciones[editar]
Las especificacionesde los distintos modelos de placas Arduino se resumen en la siguiente tabla:
Mod
elo
Microcontrol
ador
Volta
je de
entra
da
Volta
je del
siste
ma
Frecuen
cia de
reloj
Entradas/sa
lidas
digitales
Entrad
as
analógi
cas
PW
M
UA
RT
Memo
ria
flash
Carga
dor
[Expandir]
Interfaz
de
programa
ción
Los modelos Arduino Diecimila, Arduino Duemilanove y Arduino Mega están basados en los microcontroladores
ATmega168, ATmega328 y ATmega1280
ATmega168 ATmega328 ATmega1280
Voltaje operativo 5 V 5 V 5 V
Voltaje de entrada
recomendado
7-12 V 7-12 V 7-12 V
Voltaje de entrada
límite
6-20 V 6-20 V 6-20 V
Entradasy salidas
14 (6 proporcionanPWM) 14 (6 proporcionanPWM) 54 (14 proporcionan PWM)
digitales
Entradasanalógicas 6 6 16
Intensidad de corriente 40 mA 40 mA 40 mA
MemoriaFlash
16KB (2KB reservados para el
bootloader)
32KB (2KB reservados para el
bootloader)
128KB (4KB reservados para el
bootloader)
SRAM 1 KB 2 KB 8 KB
EEPROM 512 bytes 1 KB 4 KB
Frecuenciade reloj 16 MHz 16 MHz 16 MHz
Lenguaje de programación Arduino[editar]
Este artículo o sección contiene una guía o manual, contenido no enciclopédico que debería
estar en Wikilibros [buscar en Wikilibros]
La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programación de
alto nivel Processing que es similar a C++.
Funcionesbásicasy operadores[editar]
Arduino está basado en C y soporta todas las funciones delestándar C y algunas de C++.24
A continuación se muestra
un resumen con la estructura y sintaxis dellenguaje Arduino:
Sintaxisbásica[editar]
 Delimitadores:;, {}
 Comentarios: //, /* */
 Cabeceras: #define, #include
 Operadores aritméticos: +, -, *, /, %
 Asignación: =
 Operadores de comparación: ==, !=, <, >, <=, >=
 Operadores Booleanos: &&, ||, !
 Operadores de acceso a punteros: *, &
 Operadores de bits: &, |, ^, ~, <<, >>
 Operadores compuestos:
 Incremento y decremento de variables: ++, --
 Asignación y operación: +=, -=, *=, /=, &=, |=
Estructurasde control[editar]
 Condicionales: if, if...else, sw itch case
 Bucles: for, w hile, do. w hile
 Bifurcaciones y saltos: break, continue, return, goto
Variables[editar]
En cuanto al tratamiento de las variables también comparte un gran parecido con el lenguaje C.
Publicidad

Recomendados

Arduino:El Autómata Amigable (Lic. Edgardo Faletti-2014)
Arduino:El Autómata Amigable (Lic. Edgardo Faletti-2014)Arduino:El Autómata Amigable (Lic. Edgardo Faletti-2014)
Arduino:El Autómata Amigable (Lic. Edgardo Faletti-2014)INSPT-UTN
 
Arduino tic's
Arduino tic'sArduino tic's
Arduino tic'sErick0206
 
Arduino a
Arduino aArduino a
Arduino akaty199
 

Más contenido relacionado

La actualidad más candente (18)

Tarjetaarduininforme (2)
Tarjetaarduininforme (2)Tarjetaarduininforme (2)
Tarjetaarduininforme (2)
 
Tarjetaarduininforme (1)
Tarjetaarduininforme (1)Tarjetaarduininforme (1)
Tarjetaarduininforme (1)
 
Tarjeta arduino
Tarjeta arduino Tarjeta arduino
Tarjeta arduino
 
La electricidad y la electronica
 La electricidad y la electronica  La electricidad y la electronica
La electricidad y la electronica
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
La electricidad y la electronica
 La electricidad y la electronica  La electricidad y la electronica
La electricidad y la electronica
 
La electricidad y la electronica
 La electricidad y la electronica  La electricidad y la electronica
La electricidad y la electronica
 
Tarea de tecnologia
Tarea de tecnologiaTarea de tecnologia
Tarea de tecnologia
 
Tarea de tecnologia
Tarea de tecnologiaTarea de tecnologia
Tarea de tecnologia
 
Arduino es una plataforma de prototipos electrónica de código abierto basada
Arduino es una plataforma de prototipos electrónica de código abierto basadaArduino es una plataforma de prototipos electrónica de código abierto basada
Arduino es una plataforma de prototipos electrónica de código abierto basada
 
Tarea de tecnologia
Tarea de tecnologiaTarea de tecnologia
Tarea de tecnologia
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
TARJETA ARDUINO
TARJETA ARDUINOTARJETA ARDUINO
TARJETA ARDUINO
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Como controlar una carga con un Arduino
Como controlar una carga con un ArduinoComo controlar una carga con un Arduino
Como controlar una carga con un Arduino
 
Memoria
MemoriaMemoria
Memoria
 

Similar a Arduino (20)

Arduino - Slideshare
Arduino - SlideshareArduino - Slideshare
Arduino - Slideshare
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Presentacion de arduino (power point)
Presentacion de arduino (power point)Presentacion de arduino (power point)
Presentacion de arduino (power point)
 
Guía de uso y programación de plataforma Arduino
Guía de uso y programación de plataforma ArduinoGuía de uso y programación de plataforma Arduino
Guía de uso y programación de plataforma Arduino
 
Articulo arduino
Articulo arduinoArticulo arduino
Articulo arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Instituto oficial patria diapositivas
Instituto oficial patria diapositivasInstituto oficial patria diapositivas
Instituto oficial patria diapositivas
 
Tarjeta arduin informe
Tarjeta arduin informeTarjeta arduin informe
Tarjeta arduin informe
 
Luz adrada tarjeta arduino.
Luz adrada   tarjeta arduino.Luz adrada   tarjeta arduino.
Luz adrada tarjeta arduino.
 
Luz adrada tarjeta arduino. (1)
Luz adrada   tarjeta arduino. (1)Luz adrada   tarjeta arduino. (1)
Luz adrada tarjeta arduino. (1)
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Instituto oficial patria diapositivas
Instituto oficial patria diapositivasInstituto oficial patria diapositivas
Instituto oficial patria diapositivas
 
Arduino
ArduinoArduino
Arduino
 
Introduccion a arduino 97
Introduccion a arduino 97Introduccion a arduino 97
Introduccion a arduino 97
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 

Último

Guia-de-Investigacion-en-Ingenieria-Civil.pdf
Guia-de-Investigacion-en-Ingenieria-Civil.pdfGuia-de-Investigacion-en-Ingenieria-Civil.pdf
Guia-de-Investigacion-en-Ingenieria-Civil.pdfssusere837ac
 
CRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIAR
CRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIARCRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIAR
CRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIARCLAUDIAYANNETHROSALE
 
INDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdf
INDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdfINDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdf
INDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdfZULEMAABIGAILPAZCORD
 
S2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERA
S2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERAS2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERA
S2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERAAlondraGuadalupeOliv3
 
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docEvaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docMatematicaFisicaEsta
 
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdfHOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdfJULIODELPIERODIAZRUI
 
Evaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfEvaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfmatepura
 
Presentacióndel curso de Cálculo diferencial
Presentacióndel curso de  Cálculo diferencialPresentacióndel curso de  Cálculo diferencial
Presentacióndel curso de Cálculo diferencialProfe Mate
 
TR-518 DiseñoCostadoCamino Emiratos Resumen.pdf
TR-518 DiseñoCostadoCamino Emiratos Resumen.pdfTR-518 DiseñoCostadoCamino Emiratos Resumen.pdf
TR-518 DiseñoCostadoCamino Emiratos Resumen.pdfFRANCISCOJUSTOSIERRA
 
Examen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdf
Examen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdfExamen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdf
Examen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdfMatematicaFisicaEsta
 
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJOSISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJOCristianPantojaCampa
 
TRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptx
TRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptxTRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptx
TRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptxBrayanTats
 
modelo de trabajo practico tarea de ingeniería
modelo de trabajo practico tarea de ingenieríamodelo de trabajo practico tarea de ingeniería
modelo de trabajo practico tarea de ingenieríaleonjgo1453
 

Último (20)

Guia-de-Investigacion-en-Ingenieria-Civil.pdf
Guia-de-Investigacion-en-Ingenieria-Civil.pdfGuia-de-Investigacion-en-Ingenieria-Civil.pdf
Guia-de-Investigacion-en-Ingenieria-Civil.pdf
 
Arquitecto Graneros - Rancagua - Mostazal
Arquitecto Graneros - Rancagua - MostazalArquitecto Graneros - Rancagua - Mostazal
Arquitecto Graneros - Rancagua - Mostazal
 
CRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIAR
CRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIARCRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIAR
CRITERIOS DE DISEÑO Y CALCULO PARA INSTALACION HIDRAULICA DOMICILIAR
 
Dina202400-TF.pdf
Dina202400-TF.pdfDina202400-TF.pdf
Dina202400-TF.pdf
 
Practica_14.pdf
Practica_14.pdfPractica_14.pdf
Practica_14.pdf
 
INDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdf
INDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdfINDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdf
INDURAMA(1) INDURAMA EMPRESA ENSAMBLAJE.pdf
 
1ra PRACTICA Est-Niv.pdf
1ra PRACTICA Est-Niv.pdf1ra PRACTICA Est-Niv.pdf
1ra PRACTICA Est-Niv.pdf
 
S2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERA
S2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERAS2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERA
S2U1 ACTIVIDAD 2 CUADRO SINOPTICO, C. ADMINISTRATIVA Y C. FINANCIERA
 
EVALUACION II.pdf
EVALUACION II.pdfEVALUACION II.pdf
EVALUACION II.pdf
 
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docEvaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
 
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdfHOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
 
Evaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfEvaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdf
 
Presentacióndel curso de Cálculo diferencial
Presentacióndel curso de  Cálculo diferencialPresentacióndel curso de  Cálculo diferencial
Presentacióndel curso de Cálculo diferencial
 
TR-518 DiseñoCostadoCamino Emiratos Resumen.pdf
TR-518 DiseñoCostadoCamino Emiratos Resumen.pdfTR-518 DiseñoCostadoCamino Emiratos Resumen.pdf
TR-518 DiseñoCostadoCamino Emiratos Resumen.pdf
 
Examen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdf
Examen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdfExamen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdf
Examen_ Práctica Colaborativa 04 - Dinámica (2024-0).pdf
 
EVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdfEVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdf
 
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJOSISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
 
TRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptx
TRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptxTRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptx
TRABAJO FINAL HIDRÁULICA 2 Universidad Central.pptx
 
modelo de trabajo practico tarea de ingeniería
modelo de trabajo practico tarea de ingenieríamodelo de trabajo practico tarea de ingeniería
modelo de trabajo practico tarea de ingeniería
 
EP - 01.pdf
EP - 01.pdfEP - 01.pdf
EP - 01.pdf
 

Arduino

  • 1. ¿QUÉ ES ARDUINO? Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Arduino puede sentirel entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language(basado en Wiring) y el Arduino Development Environment(basado en Processing). Los proyectos de Arduino pueden ser autonomos o se pueden comunicar con software en ejecución en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.). Las placas se pueden ensamblar a mano o encargarlas preensambladas; el software se puede descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD) están disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades. Arduino recibió una mención honoríca en la sección Digital Communities del Ars Electronica Prix en 2006. ¿Por qué Arduino? Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para computación física. Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard, y muchas otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados detalles de la programación de microcontrolador y la encierran en un paquete fácil de usar. Arduino también simplificael proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para profesores, estudiantes y aaficionados interesados sobre otros sistemas:  Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras.La versión menos cara del modulo Arduino puede ser ensamblada a mano,e incluso los módulos de Arduino preensamblados cuestan menos de 50$.  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 sucientemente flexible para que usuarios avanzados puedan aprovecharlo también.Para profesores,está convenientemente basado en el entorno de programación Processing,de manera que estudiantes aprendiendo a programar en ese entorno estarán familiarizados con el aspecto y la imagen de Arduino.  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 librerias 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 en el cual está basado.De forma similar,puedes añadir código AVR-C directamente en tus programas Arduino si quieres.  Código abierto y hardware extensible: El Arduino está basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los módulos están publicados bajo licencia Creative Commons,por lo que diseñadores experimentados de circuitos pueden hacer su propia versión del módulo,extendiéndolo ymejorándolo.Incluso usuarios relativamente inexpertos pueden construir la versión de la placa del módulo para entender como funciona y ahorrar dinero.
  • 2. Arduino (Genuino a nivelinternacionalhasta octubre 2016), es una compañía de hardw are libre y una comunidad tecnológica que diseña y manufactura placas computadora de desarrollo de hardw are y software, compuesta respectivamente por circuitos impresos que integran un microcontrolador y un entorno de desarrollo (IDE), en donde se programa cada placa. Arduino se enfoca en acercar y facilitar eluso de la electrónica y programación de sistemas embebidos en proyectos multidisc iplinarios.1 2 Toda la plataforma, tanto para sus componentes de hardw are como de software,son liberados con licencia de código abierto que permite libertad de acceso a ellos.3 El hardw are consiste en una placa de circuito impreso con un microcontrolador, usualmente Atmel AVR, puertos digitales y analógicos de entrada/salida,,4 los cuales pueden conectarse a placas de expansión (shields), que amplían las características de funcionamiento de la placa Arduino. Asimismo, posee un puerto de conexión USB desde donde se puede alimentar la placa y establecer comunicación con el computador. Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno de Processing y lenguaje de programación basado en Wiring, así como en el cargador de arranque (bootloader) que es ejecutado en la placa.4 El microcontrolador de la placa se programa mediante un computador, usando una comunicación serial mediante un convertidor de niveles RS-232 a TTL serial. La primera placa Arduino fue introducida en 2005, ofreciendo un bajo costo y facilidad de uso para novatos y profesionales. Buscaba desarrollar proyectos interactivoscon su entorno mediante el uso de actuadores y sensores. A partir de octubre de 2012, se incorporaron nuevos modelos de placas de desarrollo que usan microcontroladores Cortex M3, ARM de 32 bits,5 que coexisten con los originales modelos que integran microcontroladores AVRde 8 bits. ARM y AVRno son plataformas compatibles en cuanto a su arquitectura y por lo que tampoco lo es su set de instrucciones, pero se pueden programar y compilar bajo el IDE predeterminado de Arduino sin ningún cambio. Las placas Arduino están disponibles de dos formas: ensambladas o en forma de kits "Hazlo tú mismo" (por sus siglas en inglés "DIY"). Los esquemas de diseño del Hardw are están disponibles bajo licencia Libre, con lo que se permite que cualquier persona pueda crear su propia placa Arduino sin necesidad de comprar una prefabricada. Adafruit Industries estimó a mediados del año 2011 que, alrededor de 300,000 placas Arduino habían sido producidas comercialmente y en el año 2013 estimó que alrededor de 700.000 placas oficiales de la empresa Arduino estaban en manos de los usuarios. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software talcomo Adobe Flash, Processing, Max/MSP, Pure Data, etc. Una tendencia tecnológica es utilizar Arduino como tarjeta de adquisición de datos desarrollando interfaces en software como JAVA, VisualBasic y LabVIEW.6 Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digitales en el Prix Ars Electrónica de 2006 .7 8 9
  • 3. Índice [ocultar]  1Historia  2Hardware  3Equipo de desarrollo  4Aplicaciones  5Esquema de conexiones o 5.1Entradasy salidas  6Especificaciones  7Lenguaje de programación Arduino o 7.1Funcionesbásicasy operadores  7.1.1Sintaxisbásica  7.1.2Estructurasde control  7.1.3Variables  7.1.3.1Constantes  7.1.3.2Tiposde datos  7.1.3.3Conversiónentre tipos  7.1.3.4Cualificadoresy ámbito delasvariables  7.1.3.5Utilidades  7.1.4Funcionesbásicas  7.1.4.1E/S digital  7.1.4.2E/S analógica  7.1.4.3E/S avanzada  7.1.4.4Tiempo  7.1.4.5Matemáticas  7.1.4.6Trigonometría  7.1.4.7Númerosaleatorios  7.1.4.8Bitsy Bytes  7.1.4.9Interrupcionesexternas  7.1.4.10Interrupciones  7.1.4.11Comunicación por puerto serie  7.1.5Manipulaciónde puertos o 7.2AVR Libc  7.2.1Interrupciones  7.2.2Temporizadores  7.2.3Manipulaciónde puertos  7.2.4Establecer Bitsen variables o 7.3Diferenciascon Processing  7.3.1Arreglos  7.3.2Impresiónde cadenas o 7.4Ejemplo sencillode programación en Arduino  8Bibliotecasen Arduino o 8.1Serial o 8.2EEPROM o 8.3Ethernet o 8.4Firmata o 8.5LiquidCrystal o 8.6Servo o 8.7SoftwareSerial o 8.8Stepper o 8.9Wire o 8.10Creación debibliotecas  8.10.1Ejemplo de biblioteca  9Ejemplosde Código
  • 4.  10Instalación en diferentesentornos o 10.1Windows o 10.2GNU/Linux  11Otrasinterfacesde programación o 11.1Pduino o 11.2Minibloq o 11.3Physical Etoys  12Véase también  13Referencias o 13.1Bibliografía  14Enlacesde externos Historia[editar] Arduino se inició en el año 2005 como un proyecto para estudiantes en el Instituto IVREA, en Ivrea (Italia). En ese tiempo, los estudiantes usaban el microcontrolador BASIC Stamp, cuyo coste era de 100 dólares estadounidenses, lo que se consideraba demasiado costoso para ellos. Por aquella época, uno de los fundadores de Arduino, Massimo Banzi, daba clases en Ivrea.11 El nombre del proyecto viene delnombre del Bar di Re Arduino (Bar del Rey Arduino) donde Massimo Banzipasaba algunas horas. El rey Arduino fue rey de Italia entre los años 1002 y 1014. En la creación de este proyecto contribuyó elestudiante colombiano Hernando Barragán, quien desarrolló la tarjeta electrónica Wiring, el lenguaje de programación y la plataforma de desarrollo.12 Una vez concluida dicha plataforma, los investigadores trabajaron para hacerlo más ligero, más económico y disponible para la comunidad de código abierto (hardw are y código abierto). El instituto finalmente cerró sus puertas, asíque los investigadores, entre ellos el españolDavid Cuartielles, promovieron la idea.11 Banziafirmaría años más tarde, que el proyecto nunca surgió como una idea de negocio, sino como una necesidad de subsistir ante el inminente cierre del Instituto de diseño Interactivo IVREA. Es decir, que al crear un producto de hardw are abierto, este no podría ser embargado. Posteriormente, Google colaboró en el desarrollo del Kit Android ADK (AccesoryDevelopment Kit), una placa Arduino capaz de comunicarse directamente con teléfonos móviles inteligentes bajo el sistema operativo Android para que el teléfono controle luces, motores y sensores conectados de Arduino.13 14 Para la producción en serie de la primera versión se tomó en cuenta que el coste no fuera mayor de 30 euros, que fuera ensamblado en una placa de color azul, debía ser Plug and Play y que trabajara con todas las plataformas informáticas tales como MacOSX, Window s y GNU/Linux. Las primeras 300 unidades se las dieron a los alumnos del Instituto IVREA, con el fin de que las probaran y empezaran a diseñar sus primeros prototipos. En el año 2005, se incorporó al equipo el profesor TomIgoe,12 que había trabajado en computación física, después de que se enterara del mismo a través de Internet. Igoe ofreció su apoyo para desarrollar elproyecto a gran escala y hacer los contactos para distribuir las tarjetas en territorio estadounidense. En la feria Maker Fair de 2011 se presentó la primera placa Arduino 32 bit para realizar tareas más pesadas.15 Hardware[editar] Los modelos de Arduino se categorizan en placas de desarrollo, placas de expansión (shields), kits, accesoriose impresoras 3d . Placas Arduino Galileo,16 Arduino Uno, Arduino Leonardo, Arduino Due, Arduino Yún, Arduino Tre (En Desarrollo), Arduino Zero, Arduino Micro, Arduino Esplora, Arduino Mega ADK, Arduino Ethernet, Arduino Mega 2560, Arduino Robot, Arduino Mini, Arduino Nano, LilyPad Arduino Simple, LilyPad Arduino SimpleSnap, LilyPad Arduino, LilyPad Arduino USB, Arduino Pro Mini, Arduino Fio, Arduino Pro, Arduino MKR1000/Genuino MKR1000, Arduino MICRO/Genuino MICRO, Arduino 101/Genuino 101, Arduino Gemma. Placas de expansión (shields) Arduino GSM Shield, Arduino Ethernet Shield, Arduino WiFi Shield, Arduino Wireless SD Shield, Arduino USB Host Shield, Arduino Motor Shield, Arduino Wireless Proto Shield, Arduino Proto Shield. Kits The Arduino Starter Kit, Arduino Materia 101. Accesorios TFT LCD Screen, USB/Serial Light Adapter, Arduino ISP, Mini USB/Serial Adapter. Impresoras 3d Arduino Materia 101. Equipo de desarrollo[editar] El núcleo del equipo de desarrollo de Arduino está formado por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis y Nicholas Zambetti.
  • 5. Aplicaciones[editar] La plataforma Arduino ha sido usada como base en diversas aplicaciones electrónicas:  Xoscillo: Osciloscopio de código abierto17  Equipo científico para investigaciones18  Arduinome: Un dispositivo controlador MIDI19  OBDuino: un económetro que usa una interfaz de diagnóstico a bordo que se halla en los automóviles modernos  SCA-ino: Sistema de cómputo automotriz capaz de monitorear sensores como el TPS, el MAP y el 02S y controlar actuadores automotrices como la bobina de ignición, la válvula IAC y aceleradores electrónicos  Humane Reader: dispositivo electrónico de bajo coste con salida de señalde TV que puede manejar una biblioteca de 5000 títulos en una tarjeta microSD20  The Humane PC: equipo que usa un módulo Arduino para emular un computador personal, con un monitor de televisión y un teclado para computadora21  Ardupilot: software y hardware de aeronaves no tripuladas  ArduinoPhone: un teléfono móvil construido sobre un módulo Arduino22 23  Máquinas de controlnumérico por computadora (CNC)  Open Theremín Uno: Versión digital de hardw are libre delinstrumento Theremín  Impresoras 3D Esquema de conexiones[editar] Entradasy salidas[editar] Poniendo de ejemplo al módulo Diecimila, este consta de 14 entradas digitales configurables como entradas y/o salidas que operan a 5 voltios. Cada contacto puede proporcionar o recibir como máximo 40 mA. Los contactos 3, 5, 6, 9, 10 y 11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los contactos 0 y 1, eso interferirá con la comunicación USB. Diecimila también tiene 6 entradas analógicas que proporcionan una resolución de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios (aunque es posible cambiar el nivelmás alto utilizando el contacto Aref y algún código de bajo nivel). Especificaciones[editar] Las especificacionesde los distintos modelos de placas Arduino se resumen en la siguiente tabla: Mod elo Microcontrol ador Volta je de entra da Volta je del siste ma Frecuen cia de reloj Entradas/sa lidas digitales Entrad as analógi cas PW M UA RT Memo ria flash Carga dor [Expandir] Interfaz de programa ción Los modelos Arduino Diecimila, Arduino Duemilanove y Arduino Mega están basados en los microcontroladores ATmega168, ATmega328 y ATmega1280 ATmega168 ATmega328 ATmega1280 Voltaje operativo 5 V 5 V 5 V Voltaje de entrada recomendado 7-12 V 7-12 V 7-12 V Voltaje de entrada límite 6-20 V 6-20 V 6-20 V Entradasy salidas 14 (6 proporcionanPWM) 14 (6 proporcionanPWM) 54 (14 proporcionan PWM)
  • 6. digitales Entradasanalógicas 6 6 16 Intensidad de corriente 40 mA 40 mA 40 mA MemoriaFlash 16KB (2KB reservados para el bootloader) 32KB (2KB reservados para el bootloader) 128KB (4KB reservados para el bootloader) SRAM 1 KB 2 KB 8 KB EEPROM 512 bytes 1 KB 4 KB Frecuenciade reloj 16 MHz 16 MHz 16 MHz Lenguaje de programación Arduino[editar] Este artículo o sección contiene una guía o manual, contenido no enciclopédico que debería estar en Wikilibros [buscar en Wikilibros] La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programación de alto nivel Processing que es similar a C++. Funcionesbásicasy operadores[editar] Arduino está basado en C y soporta todas las funciones delestándar C y algunas de C++.24 A continuación se muestra un resumen con la estructura y sintaxis dellenguaje Arduino: Sintaxisbásica[editar]  Delimitadores:;, {}  Comentarios: //, /* */  Cabeceras: #define, #include  Operadores aritméticos: +, -, *, /, %  Asignación: =  Operadores de comparación: ==, !=, <, >, <=, >=  Operadores Booleanos: &&, ||, !  Operadores de acceso a punteros: *, &  Operadores de bits: &, |, ^, ~, <<, >>  Operadores compuestos:  Incremento y decremento de variables: ++, --  Asignación y operación: +=, -=, *=, /=, &=, |= Estructurasde control[editar]  Condicionales: if, if...else, sw itch case  Bucles: for, w hile, do. w hile  Bifurcaciones y saltos: break, continue, return, goto Variables[editar] En cuanto al tratamiento de las variables también comparte un gran parecido con el lenguaje C.
  • 7. Constantes[editar]  HIGH/LOW: representan los niveles alto y bajo de las señales de entrada y salida. Los niveles altos son aquellos de 3 voltios o más.  INPUT/OUTPUT: entrada o salida.  false (falso): Señalque representa alcero lógico. A diferencia de las señales HIGH/LOW, su nombre se escribe en letra minúscula.  true (verdadero): Señalcuya definición es más amplia que la de false. Cualquier número entero diferente de cero es "verdadero", según el álgebra de Boole, como en el caso de -200, -1 o 1. Si es cero, es "falso". Tipos de datos[editar]  void, boolean, char, unsigned char, byte, int, unsigned int, w ord, long, unsigned long, float, double, string, array. Conversión entre tipos[editar] Estas funciones reciben como argumento una variable de cualquier tipo y devuelven una variable convertida en el tipo deseado.  char(), byte(), int(), word(), long(), float() Cualificadores y ámbitode las variables[editar]  static, volatile, const. Utilidades[editar]  sizeof() Funcionesbásicas[editar] E/S digital[editar]  pinMode(pin, modo).  digitalWrite(pin, valor).  int digitalRead(pin). E/S analógica[editar]  analogReference(tipo)  int analogRead(pin)  analogWrite(pin, valor) E/S avanzada[editar]  shiftOut(dataPin, clockPin, bitOrder, valor)  unsigned long pulseIn(pin, valor) Tiempo[editar]  unsigned long millis()  unsigned long micros()  delay(ms)  delayMicroseconds(microsegundos) Matemáticas[editar]  min(x, y), max(x, y), abs(x), constrain(x, a, b), map(valor, fromLow , fromHigh, toLow , toHigh), pow (base, exponente), sqrt(x) Trigonometría[editar]  sin(rad), cos(rad), tan(rad) Números aleatorios[editar]
  • 8.  randomSeed(semilla), long random(máx), long random(mín, máx) Bits y Bytes[editar]  low Byte(), highByte(), bitRead(), bitWrite(), bitSet(), bitClear(), bit() Interrupciones externas[editar]  attachInterrupt(interrupción, función, modo)  detachInterrupt(interrupción) Interrupciones[editar]  interrupts(), noInterrupts() Comunicación por puerto serie[editar] Las funciones de manejo del puerto serie deben ir precedidas de la palabra "Serial" aunque no necesitan ninguna declaración en la cabecera delprograma. Por esto se consideran funciones base dellenguaje.25 Estas son las funciones para transmisión serial:  begin(), available(), read(), flush(), print(), println(), write() M anipulaciónde puertos[editar] Los registros de puertos permiten la manipulación a más bajo nivel y de forma más rápida de los contactos de entrada/salida del microcontrolador de las placas Arduino.26 Los contactos eléctricosde las placas Arduino están repartidos entre los registros B(0-7), C(analógicos) y D(8-13). Mediante estas variables se observa y se modificada su estado:  DDR[B/C/D]: Data Direction Register (o dirección del registro de datos) del puerto B, C ó D. Es una variable de Lectura/Escritura que sirve para especificarcuales contactos serán usados como entrada y salida.  PORT[B/C/D]: Data Register (o registro de datos) del puerto B, C ó D. Es una variable de Lectura/Escritura.  PIN[B/C/D]: Input Pins Register (o registro de pines de entrada) del puerto B, C ó D. Variable de sólo lectura. Por ejemplo, para especificar los contactos9 a 13 como salidas y el 8 como entrada (puesto que el puerto D usa los pines de la placa Arduino 8 al 13 digitales) bastaría utilizar la siguiente asignación: DDRD = B11111110; Como se ha podido comprobar, el conocimiento del lenguaje C, permite la programación en Arduino debido a la similitud entre este y el lenguaje nativo del proyecto, lo que implica el aprendizaje de algunas funciones específicasde que dispone el lenguaje del proyecto para manejar los diferentes parámetros. Se pueden construir aplicaciones de cierta complejidad sin necesidad de muchos conceptos previos. AVR Libc[editar] Los programas compilados con Arduino (salvo en las placas con CorteX M3) se enlazan contra AVRLibc24 por lo que tienen acceso a algunas de sus funciones. AVRLibc es un proyecto de software libre con elobjetivo de proporcionar una biblioteca C de alta calidad para utilizarse con el compilador GCC sobre microcontroladores AtmelAVR. Se compone de 3 partes:  avr-binutils  avr-gcc  avr-libc La mayoría del lenguaje de programación Arduino está escrita con constantes y funciones de AVRy ciertas funcionalidades sólo se pueden obtener haciendo uso de AVR.27 Interrupciones[editar] Las señales de interrupción son las siguientes:  cli(): desactiva las interrupciones globales  sei(): activa las interrupciones
  • 9. Esto afectará altemporizador y a la comunicación serial. La función delayMicroseconds()desactiva las interrupciones cuando se ejecuta. Temporizadores[editar] La función delayMicroseconds() crea elmenor retardo posible del lenguaje Arduino que ronda los 2μs. Para retardos más pequeños se debe utilizar la llamada de ensamblador 'nop' (no operación). Cada sentencia 'nop' se ejecutará en un ciclo de máquina (16 MHz) de aproximadamente 62,5ns. M anipulaciónde puertos[editar] La manipulación de puertos con código AVRes más rápida que utilizar la función digitalWrite() de Arduino. Establecer Bitsen variables[editar] cbi y sbi son mecanismos estándar (AVR) para establecer o limpiar bits en PORT y otras variables. Diferenciascon Processing[editar] La sintaxis del lenguaje de programación Arduino es una versión simplificada de C/C++ y tiene algunas diferencias respecto de Processing.28 29 Debido a que Arduino está basado en C/C++ mientras que Processing se basa en Java, existen varias diferencias en cuanto a la sintaxis de ambos lenguajes y el modo en que se programa: Arreglos[editar] Arduino Processing int bar[8]; bar[0] = 1; int[] bar = new int[8]; bar[0] = 1; int foo[] = { 0, 1, 2 }; int foo[] = { 0, 1, 2 }; o bien int[] foo = { 0, 1, 2 }; Impresión de cadenas[editar] Arduino Processing Serial.println("hello world"); println("hello world"); int i = 5; Serial.println(i); int i = 5; println(i); int i = 5; Serial.print("i = "); Serial.print(i); Serial.println(); int i="5"; println("i =" + i); Ejemplo sencillo de programación en Arduino[editar]
  • 10. El primer paso antes de comprobar que la instalación es correcta y empezar a trabajar con Arduino, es usar ejemplos prácticos que vienen disponibles con el dispositivo. Se recomienda abrir el ejemplo “led_blink” el cualcrea una intermitencia por segundo en un led conectado en el pin 13. El código necesario es el siguiente: # define LED_PIN 13 void setup () { // Activado del contacto 13 para salida digital pinMode (LED_PIN, OUTPUT); } // Bucle infinito void loop () { // Encendido del diodo LED enviando una señal alta digitalWrite (LED_PIN, HIGH); // Tiempo de espera de 1 segundo (1000 ms) delay (1000); // Apagado del diodo LED enviando una señal baja. digitalWrite (LED_PIN, LOW); // Tiempo de espera de 1 segundo delay (1000); } Bibliotecas en Arduino[editar] Las bibliotecas estándar que ofrece Arduino son las siguientes:30 Serial[editar] Lectura y escritura por elpuerto serie. EEPROM[editar] Lectura y escritura en el almacenamiento permanente.31  read(), w rite() Ethernet[editar] Conexión a Internet mediante “Arduino Ethernet Shield“. Puede funcionar como servidor que acepta peticiones remotas o como cliente. Se permiten hasta cuatro conexiones simultáneas.32 Los comandos usados son los siguientes:  Servidor: Server(), begin(), available(), write(), print(), println()  Cliente: Client(), connected(), connect(), write(), print(), println(), available(), read(), flush(), stop() Firmata[editar] Es una biblioteca de comunicación con aplicaciones informáticas utilizando el protocolo estándar del puerto serie.33 LiquidCrystal[editar] Control de LCDs con chipset Hitachi HD44780 o compatibles.34 La biblioteca soporta los modos de 4 y 8 bits. Servo[editar] Biblioteca para el controlde servo motores.35 A partir de la versión 0017 de Arduino la biblioteca soporta hasta 12 motores en la mayoría de las placas Arduino y 48 en la Arduino Mega. Estos son los comandos usados:  attach(), w rite(), writeMicroseconds(), read(), attached(),detach() SoftwareSerial[editar]
  • 11. Comunicación serie en contactos digitales.36 Por defecto Arduino incluye comunicación sólo en los contactos 0 y 1 pero gracias a esta biblioteca puede realizarse esta comunicación con los restantes. Stepper[editar] Control de motores paso a paso unipolares o bipolares.37  Stepper(steps, pin1, pin2), Stepper(steps, pin1, pin2, pin3, pin4), setSpeed(rpm), step(steps) Wire[editar] Envío y recepción de datos sobre una red de dispositivos o sensores mediante Tw o Wire Interface (TWI/I2C).38 Las bibliotecas Matrix y Sprite de Wiring son totalmente compatibles con Arduino y sirven para manejo de matrices de diodos LED. También se ofrece información sobre diversasbibliotecas desarrolladaspor diversos colaboradoresque permiten realizar muchas tareas. Creación de bibliotecas[editar] Los usuarios de Arduino tienen la posibilidad de escribir sus propias bibliotecas.39 Ello permite disponer de código que puede reutilizarse en otros proyectos, mantener elcódigo fuente principalseparado de las bibliotecas y la organización de los programas construidos es más clara. Ejemplo de biblioteca[editar] El siguiente ejemplo permite el envío de caracteres mediante el código Morse: Se crea el archivo Morse.h que incluye la definición de la clase Morse que tiene 3 funciones: un constructor (Morse()), una función para enviar 1 punto (dot()) y una función para enviar una raya (dash()). La variable _pin permite indicar el contacto a usar. /* Morse.h - Biblioteca para el envío de Código Morse. Creado por David A. Mellis, el 2 de noviembre de 2007. Liberado al dominio público. */ # ifndef Morse_h # define Morse_h # include "WProgram.h" class Morse { public: Morse(int pin); void dot(); void dash(); private: int _pin; }; # endif Debe ser creado el archivo Morse.cpp con el código, es decir con la implementación de los métodos declarados: /* Morse.cpp - Biblioteca para el envío de Código Morse.
  • 12. Creado por David A. Mellis, el 2 de noviembre de 2007. Liberado al dominio público. */ # include "WProgram.h" # include "Morse.h" Morse::Morse(int pin) { pinMode(pin, OUTPUT); _pin = pin; } void Morse::dot() { digitalWrite(_pin, HIGH); delay(250); digitalWrite(_pin, LOW); delay(250); } void Morse::dash() { digitalWrite(_pin, HIGH); delay(1000); digitalWrite(_pin, LOW); delay(250); } La biblioteca creada así puede ser usada mediante el comando #include. Si se desea enviar una petición de auxilio SOS por el contacto 13 bastaría con llamar a Morse(13) y ejecutar la siguiente secuencia: morse.dot(); morse.dot(); morse.dot(); morse.dash(); morse.dash(); morse.dash(); morse.dot(); morse.dot(); morse.dot(); Ejemplos de Código[editar] La página de Arduino cuenta con una serie de ejemplos para comenzar a entender su funcionamiento, con componentes base tales como Pantallas, LED’s, Potenciometros, etc. Ejemplo de parpadeo de LED /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain.
  • 13. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } Ejemplo de lectura de Potenciometro /* ReadAnalogVoltage Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor. Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. This example code is in the public domain. */ // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V): float voltage = sensorValue * (5.0 / 1023.0);
  • 14. // print out the value you read: Serial.println(voltage); } ejemplo hacer contar un display de 7 segmentos de 1 a 3 cada 1 segundo, llamando a una función void setup(){ // configuramos los pines de salida donde conectaremos los pines con una resistencia en serie al display de 7 segmentos pinMode(34, OUTPUT); // a pinMode(36, OUTPUT); // b pinMode(38, OUTPUT); // c pinMode(40, OUTPUT); // d pinMode(42, OUTPUT); //e pinMode(44, OUTPUT); //f pinMode(46, OUTPUT); //g } void display (int a, int b, int c, int d, int e, int f, int g)// Función del display { digitalWrite (34,a); digitalWrite (36,b); digitalWrite (38,c); digitalWrite (40,d); digitalWrite (42,e); digitalWrite (44,f); digitalWrite (46,g); } void loop(){ display (0,1,1,0,0,0,0); // mostrará 1 en el display delay(1000); display (1,1,0,1,1,0,1); // mostrará 2 en el display delay(1000); display (1,1,1,1,0,0,1); // mostrará 3 en el display delay(1000); // por Laiolo Santiago }
  • 15. Instalación en diferentes entornos[editar] Interf az del entorno de desarrollo Arduino en el Sistema Operativ o Windows. Windows[editar] Los pasos a seguir son los siguientes:  Descargar las versiones más reciente de Java Runtime Enviroment (J2RE) y del IDE Arduino.  Instalar los controladores FTDI USB, con la placa Arduino conectada.  Ejecutar el IDE Arduino para abrir la interfaz y configurar elpuerto USB donde está conectada la placa. GNU/Linux[editar]
  • 16. Interf az del entorno de desarrollo Arduino S.O. GNU/Linux. Para instalar Arduino en un sistema GNU/Linux necesitamos los siguientes programas para resolver las dependencias:  Sun java runtime, jre.  avr-gcc, compilador para la familia de microcontroladores avr de atmel.  avr-libc, libc del compilador avr-gcc. En algunas distribuciones conviene desinstalar, sino es necesario, elprograma "brltty" que permite el acceso alterminal a personas invidentes. Para concluir, se descarga el framew orkde Arduino, se descomprime y ejecuta. Otras interfaces de programación[editar] Es posible comunicar una aplicación que corra sobre Arduino con otros dispositivos que corran otros lenguajes de programación y aplicaciones populares,40 debido a que Arduino usa la transmisión serialde datos, la cuál es soportada por la mayoría de los lenguajes que se mencionan a continuación. Y para los que no soportan el formato serie de forma nativa, es posible utilizar software intermediario que traduzca los mensajes enviados por ambas partes para permitir una comunicación fluida. Algunos ejemplos de lenguajes son:  3DVIA Virtools: aplicaciones interactivas y de tiempo real.  Adobe Director  BlitzMax (con acceso restringido)  C  C++ (mediante libSerial o en Window s)  C#  Cocoa/Objective-C (para Mac OS X)  Flash (mediante ActionScript)  Gambas  Isadora (Interactividad audiovisualen tiempo real)  Instant Reality (X3D)  Java  Liberlab (software de medición y experimentación)  Mathematica  Matlab
  • 17.  MaxMSP: Entorno gráfico de programación para aplicaciones musicales, de audio y multimedia  Minibloq: Entorno gráfico de programación, corre también en las computadoras OLPC  Perl  Php  Physical Etoys: Entorno gráfico de programación usado para proyectos de robótica educativa  Processing  Pure Data  Python  Ruby  Scratch for Arduino (S4A): Entorno gráfico de programación, modificación delentorno para niños Scratch, del MIT  Squeak: Implementación libre de Smalltalk  SuperCollider: Síntesis de audio en tiempo real  VBScript  VisualBasic .NET  VVVV: Síntesis de vídeo en tiempo real Pduino[editar] Patch Pduino. Pduino nace de la fusión de los proyectos Pure Data y Arduino. Ambos proyectos de fuente abierta permiten trabajar con interfaz gráfica. Cargando elfirmw are de Pure Data (PD) a la placa Arduino se puede acceder a ella mediante el lenguaje de programación gráfico. Minibloq[editar] Pantalla de Minibloq.
  • 18. Combinación de una computadora de bajo costo OLPC, el sof tware Minibloq y una placa Arduino. Minibloq es un entorno gráfico de programación que puede generar código nativo de Arduino y escribirlo directamente en la memoria flash de la placa. Tiene un modo que permite visualizar el código generado, el cualtambién puede ser copiado y pegado en el Arduino-IDE, para los usuarios que intentan hacer el pasaje de una herramienta gráfica a la programación en sintaxis C/C++. Minibloq es de uso libre y sus fuentes también están disponibles gratuitamente. Una característica importante, es que puede correr también en la computadora portátil OLPC, mediante el software Wine. Physical Etoys[editar] Artículo principal: PhysicalEtoys Proy ecto de un semáf oro realizado con Arduino y Phy sical Etoy s. Physical Etoys es una extensión libre y gratuita que permite que diversos dispositivos electrónicoscomo Lego NXT, las placas Arduino, Sphero, Kinect, JoystickWiimote, entre otros, puedan ser programados fácilmente y que interactúen entre sí gracias a su sistema de bloques. En el caso de Arduino, PhysicalEtoys ofrece dos modos de programación, el modo "directo" y el modo "compilado". Modo directo El modo "directo", en el cuallos programas se ejecutan en la computadora del usuario y las órdenes se transmiten inmediatamente a través delpuerto serie. El modo "directo" permite modificar los programas y ver los cambios producidos de manera inmediata en el comportamiento del robot, lo cual facilita la programación, sobre todo al usuario inexperto. Asimismo, permite ver constantemente los valores de los sensores y utilizar elrobot, por ejemplo, como para adquirir datos. Modo compilado El modo "compilado", en el cual los programas se traducen a C++ y se bajan a la placa, para luego ejecutarse de manera independiente de la computadora. El modo "compilado", por su parte, elimina el retardo que introduce la comunicación con la computadora, lo cual lo hace preferible para el desarrollo de tareas autónomas, en las cuales la velocidad de respuesta delrobot debe ser óptima. Véase también[editar]  BASIC Stamp  Impresión 3D  Gumstix  Minibloq  MiniPC
  • 19.  OOPIC  PICAXE  Raspberry Pi  Physical Etoys  Robot  X10  Sanguino Referencias[editar] 1. Volv er arriba↑ «Interv iew with Casey Reas and Ben Fry ». 2. Volv er arriba↑ [1] 3. Volv er arriba↑ [2] 4. ↑ Saltar a:a b «Project homepage». 5. Volv er arriba↑ «Arduino Due is f inally here». 6. Volv er arriba↑ https://www.y outube.com/watch?v =n3AwL-_UCS4 7. Volv er arriba↑http://web.archiv e.org/web/http://www.aec.at/en/prix/honorary 2006.asp 8. Volv er arriba↑ «Ars Electrónica Archiv » (en alemán). Consultado el 18 de f ebrero de 2009. 9. Volv er arriba↑ «Ars Electronica Archiv / ANERKENNUNG» (en alemán). Archiv ado desde el original el 26 de nov iembre de 2015. Consultado el 18 de f ebrero de 2009. 10. Volv er arriba↑ Placa Arduino Serial 11. ↑ Saltar a:a b Dav id Kushner (26 de octubre de 2011). «The Making of Arduino». IEEE Spectrum (en inglés). 12. ↑ Saltar a:a b «Algo de Historia para comenzar». Consultado el 22 de diciembre de 2013. 13. Volv er arriba↑ «Google presenta ADK, interf az basada en Arduino para Android». BricoGeek.com. 12 de may o de 2011. Consultado el 22 de diciembre de 2013. 14. Volv er arriba↑ «Accessory Dev elopment Kit 2012 Guide» (en inglés). Consultado el 22 de diciembre de 2013. 15. Volv er arriba↑ Terrence O'Brien (19 de septiembre de 2011). «Arduino brings the (new) goods to Maker Faire New York, welcomes ARM into the f old» (en inglés). Consultado el 22 de diciembre de 2013. 16. Volv er arriba↑ https://www.arduino.cc/en/ArduinoCertif ied/IntelGalileo 17. Volv er arriba↑ «Xoscillo: A sof tware oscilloscope that acquires data using an Arduino or a parallax.» (en inglés). Consultado el 22 de diciembre de 2013. 18. Volv er arriba↑ Joshua M. Pearce (14 de septiembre de 2012). «Building Research Equipment with Free, Open- Source Hardware» (en inglés). Washington, EE.UU.: American Association f or the Adv ancement of Scienc. p. 3. doi:10.1126/science.1228183. Archiv ado desde el original el 26 de nov iembre de 2015. Consultado el 22 de diciembre de 2013. 19. Volv er arriba↑ Peter Kirn (20 de agosto de 2008). «Aug 20 2008 Arduinome: An Arduino-Based Monome Clone, Behind the Scenes» (en inglés). Consultado el 22 de diciembre de 2013. 20. Volv er arriba↑ «Humane Reader» (en inglés). Consultado el 22 de diciembre de 2013. 21. Volv er arriba↑ «The Humane PC» (en inglés). Consultado el 22 de diciembre de 2013. 22. Volv er arriba↑ «ArduinoPhone» (en inglés). Consultado el 22 de diciembre de 2013. 23. Volv er arriba↑ Esteban Zamorano (28 de nov iembre de 2013). «Construy e tu propio celular por USD$200 gracias a Arduino». Consultado el 22 de diciembre de 2013. 24. ↑ Saltar a:a b «Language Ref erence». http://arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 25. Volv er arriba↑ «Serial». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 26. Volv er arriba↑ «Port Registers». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 27. Volv er arriba↑ «AVR Code». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 28. Volv er arriba↑ «Arduino/Processing Language Comparison».http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 29. Volv er arriba↑ «Language Ref erence(API)/Processing 2+».http://processing.org/ (en inglés). Consultado el 22 de diciembre de 2013." 30. Volv er arriba↑ «Arduino - Libraries». http://arduino.cc/ (en inglés). Consultado el 22 de diciembre de 2013. 31. Volv er arriba↑ «EEPROM Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 32. Volv er arriba↑ «Ethernet Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 33. Volv er arriba↑ «Firmata Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 34. Volv er arriba↑ «LiquidCry stal Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 35. Volv er arriba↑ «Serv o Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013.
  • 20. 36. Volv er arriba↑ «Sof twareSerial Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 37. Volv er arriba↑ «Stepper Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 38. Volv er arriba↑ «Wire Library ». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 39. Volv er arriba↑ «Writing a Library f or Arduino». http://www.arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. 40. Volv er arriba↑ «Interf acing with Other Sof tware». http://arduino.cc (en inglés). Consultado el 22 de diciembre de 2013. Bibliografía[editar]  Oxer, Jonathan; Blemings, Hugh (28 de diciembre de 2009). Practical Arduino: Cool Projects for Open Source Hardware (1ª edición). Apress. p. 500. ISBN 1430224770.  Noble, Joshua (15 de julio de 2009). Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFramework (1ª edición). O'Reilly Media. p. 768.ISBN 0596154143.  Banzi, Massimo (24 de marzo de 2009). Getting Started with Arduino (en inglés) (1ª edición). Make Books. p. 128. ISBN 9781449363291.  Martínez de Carv ajal Hedrich, Ernesto (20 de diciembre de 2015). 100 Proyectos de Robótica con Bitbloq y Arduino (2ª edición). Martínez de Carv ajal Hedrich. p. 386. ISBN 978-8460843177. Enlaces de externos[editar]  Wikimedia Commons alberga contenido multimedia sobre Arduino.  Proyecto Arduino (Sitio oficialde la empresa radicada en Italia)  Proyecto Arduino (Sitio oficialcon foros y referencia de programación)  Arduino StackExchange sitio de preguntas y respuestas  Comparativa de los distintos modelos disponibles  Proyectos con arduino paso a paso (ejemplos con videotutoriales)  Biicode: Aplicación para gestionar librerías y proyectos de Arduino  Entorno gráfico de programación para Arduino  Winkhel: cómo un proyecto Arduino puede convertirse en un producto real (en español)  Scada para Arduino  S-Remote Control: Aplicación Android para controlar Arduino por UDP o TCP  B4X B4R -Desarrolle aplicaciones en Basic gratuitamente que generan código Arduino  Ejercicios de diferente nivel para iniciarse en la electrónica con Arduino Categorías:  Wikipedia:Trasladar a Wikilibros  Hardw are libre  Microcontroladores  Robótica  Internet de las cosas  Computadoras monoplaca  Electrónica digital  Arduino
  • 21. Arduino. A poco que hayas navegado por internet te habrás encontrado esa palabra. Y es que ahora que es posible automatizar cualquier cosa, para hacer agentes autónomos (si queréis llamarles Robots también), controlar luces y dispositivos, o mil cosas que se os pueda ocurrir fabricar podéis optar por una solución basada enArduino, una familia de placas y software que comparten nombrepero que son legión. Empezamos por el principio y despacio, por favor. ¿Qué es exactamente Arduino? No es la primera vez que hablamos sobre Arduino en Xataka, pero como es verano y da pereza eso de ir saltando de enlace en enlace vamos a verlotodo desde el principio. Arduino es una plataforma de electrónica "open-source" o de código abierto cuyos principios son contar con software y hardware fáciles de usar. Es decir, que promete ser una forma sencilla de realizar proyectos interactivos para cualquier persona. Y cuando digo cualquiera, es cualquiera, ya que internet está literalmente plagado de proyectos con Arduino, como veremos más adelante. Como digo, Arduino es tanto software como hardware, y aquí viene la primera diferencia con otras placas y microcontroladores. Los entornos de desarrollo y lenguaje de programación de Arduino y las placas en las que se ejecutan han sido desarrollados de la mano, por lo que tenemos asegurada tanto la compatibilidad como la sencillez de desarrollo sobre ellas. Software Arduino Si nos centramos en el software, debéis saber que contamos con un IDE para casi todas las plataformas (Windows, Linux, Mac). ¿Y qué es un IDE? Bueno, son las siglas de Integrated Development Environment, o entorno de desarrollo integrado en cristiano. Un lugar donde podemos escribir nuestras aplicaciones, descargarlas al Arduino y ejecutarlas o depurarlas desde allí. El entorno de desarrollo es gratuito y descargable desde aquí. En resumen, el proceso pasa por descargarnos e instalar el IDE correspondiente a nuestra plataforma, trastear un poco siguiendo los tutoriales o simplemente hacer "corta y pega" del código que nos interese (aunque esto realmente es como desvelar el final de una buena película, es decir, que tiene poca gracia) y ya tenemos gran parte del trabajo hecho. O al menos en cuanto a software, porque la gracia de Arduino es precisamente la interacción del software con el hardware. Aprender el lenguaje de programación es sencillo, sobre todo si ya tienes experiencia en otros lenguajes de programación como C o Java ya que Wiring / Processing para su programación se basa en ellos. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Tienes más información sobre el mismoaquí.
  • 22. Hardware Arduino Y ahora hablamos de hardware. Hay infinidad de placas basadas en Arduino. Como os decía, es hardware "Open-source", así que cualquiera que quiera hacer una placa puede hacerlo. Y por ello tenemos Arduino de todos los colores, tamaños y con funciones propietarias de lo más diverso, y también productos que sin ningún pudor están basados en Arduino para controlar a su vez distintos dispositivos, integrados en el producto o no. Volvamos al principio. El hardware Arduino más sencillo consiste en unaplaca con un microcontrolador y una serie de puertos de entrada y salida. Los microcontroladores AVR más usados son el Atmega168, Atmega328, Atmega1280, y Atmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños, aunque también nos encontramos microcontroladores CortexM3 de ARM de 32 bits,5 que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR son plataformas diferentes, pero gracias al IDE de Arduino los programas se compilan y luego se ejecutan sin cambios en cualquiera de las plataformas. Corrección: Nuestro Lector fr0gdev nos comenta que hay ciertos problemas de compatibilidad de librerías entre plataformas, así que habrá que tenerlo en cuenta a la hora de elegir placa Arduino. La diferencia entre los distintos Arduino la encontraremos por un lado en la tensión utilizada en las placas. Generalmente las microcontroladoras con CortexM3 tienen un voltaje de 3,3 voltios, mientras que la mayor parte de las placas con AVR utilizan una tensión de 5 voltios. Esto luego es fundamental para utilizar lógica TTL (frente a lógica CMOS) por ejemplo, lo que abre la posibilidad de utilizar chips baratos y complementar el Arduino con alguna funcionalidad externa. También hay placas que pueden conmutar el voltaje, así que tampoco es un factor determinante para seleccionar una placa u otra. Y, por otra parte, el número de conexiones, procesador utilizado, memoria y, sobre todo, el número de entradas y salidas y la posibilidad de alimentar distintos elementos desde la propia placa Arduino. Hay placas que incluso no necesitan drivers para Linux o para Mac, como las basadas en el chip ATmega8U2 (un ejemplo es el Tosduino Uno R3), siendo detectado por dichos ordenadores como un periférico más. Vale, ¿para qué sirve Arduino? Arduino se puede utilizar para desarrollar elementos autónomos, o bien conectarse a otros dispositivos o interactuar con otros programas, para interactuar tanto con el hardware como con el software. Nos sirve tanto para controlar un elemento, pongamos por ejemplo un motor que nos suba o baje una persiana basada en la luz que haya y gracias a un sensor conectado al Arduino, o bien para transformar la información de una fuente, como puede ser un teclado, y convertir la información a algo que entienda por ejemplo un ordenador.
  • 23. Así, podemos catalogar los usos que podemos darle a Arduino en dos grandes grupos: 1. Aquellos en los que el Arduino es utilizado como microcontrolador, tiene un programa descargado desde un ordenador y funciona de forma independiente de éste, y controla y alimenta determinados dispositivos y toma decisiones de acuerdo al programa descargado e interactúa con el mundo físico gracias a sensores y actuadores. Un ejemplo sería este uso de Arduino para el control de este agente autónomo que sigue una línea: 2. La placa Arduino hace de interfaz entre un ordenador (como podría ser una Raspberry Pi) u otro dispositivo , que ejecuta una determinada tarea, para traducir dicha tarea en el mundo físico a una acción (actuadores). Y viceversa, gracias a sensores que están conectados a la placa Arduino podemos hacer que el ordenador ejecute determinada acción. Por ejemplo esta placa de Pimoroni para simplificar la creación de un cabinet de videojuegos: En Xataka ya hemos visto unos cuantos ejemplos de proyectos con Arduino, y como veis todos ellos pertenecen a una de las dos categorías anteriores. Os dejo otro proyectopara que podáis comprobar una posibilidad interesante para ser usado en un vehículo como ordenador de a bordo y con sensores de aparcamiento. Hablemos de placas Arduino y de sus famosos escudos o mochilas (Shields) ¿Que quieres un poco de Arduino? Pues ahí tienes unas cuantas placas por donde empezar y elegir. Como podéis ver en el gráfico anterior, tenemos placas más sencillas, placas Arduino con características mejoradas, Arduino orientado al internet de las cosas, y también Arduinos pensados para llevar encima o "vestibles" (Wearable en inglés) y otros pensados específicamente para el control de impresoras 3D. Vamos, que si pensabas que Arduino era una placa y que había poca variedad donde elegir, ... Y si las placas Arduino son numerosas, más todavía lo son sus escudos o mochilas (Shields), tan importantes como el escudo del Capitán América para el superhéroe de Marvel. Gracias a los shields podemos contar con infinidad de funciones, como GPS, relojes en tiempo real, conectividad por radio, pantallas táctiles LCD, placas de desarrollo, y un larguísimo etcétera de elementos. Incluso hay tiendas con secciones especializadas en dichos elementos. Venga, ya me has convencido. Ahora, ¿Por dónde empiezo? Para empezar a hacer nuestros pinitos con Arduino tenemos que tener claro qué queremos hacer. Existe una infinidad de fuentes en Internet de las cuales beber y ampliar conocimientos. Para rizar el rizo, con la cantidad de placas Arduino existentes y su especialización debemos saber qué
  • 24. queremos hacer antes de comprar en caso de proyectos más complejos. Para obtener una lista completa casi lo mejor es ir a la Wikipedia y ver todos los modelos existentes, o evidentemente ir a su página oficial. Para simplificaros los primeros pasos, lo normal es ir hacia una placa sencilla. El modelo más utilizado es el Arduino UNO r3, o al menos el que más veréis en proyectos de internet. Tiene un buen número de entradas y salidas y probablemente estaréis más que contentos dando vuestros primeros pasos con dicha placa. Si por el contrario ya sabéis algo, habéis enredado lo suficiente y/onecesitáis controlar un buen número de motores, motores paso a paso, hacer una impresora 3D, ... lo suyoes ir a un Arduino MEGA r3, aunque luego para rizar el rizo podemos utilizar un Arduino Uno y un controlador de múltiples servomotores, como por ejemplo en este proyectode unoriginal reloj digital en 3D. A lo mejor queréis fabricar un dispositivo "vestible", algo que consuma poca energía y que tenga un uso determinado, para ello nada mejor que optar por una placa mini. Prestad especial atención a las placas ofrecidas porAdafruit en esta categoría, ya que tienen auténticas "virguerías" y una buena cantidad de tutoriales para hacer cosas tan chulas como control de led multicolores para llevar encima, cascos para ciclistas y mil cosas más. Si queremos simular la programación de un Arduino, podemos hacerlo gracias a VirtualBreadBoard, un entorno de simulación y desarrollo de aplicaciones embebidas para microcontroladores. Es capaz de simular diversohardware, como Arduino, Netduino, botónes, LCDs, etc. Otra recomendación, si lo que queréis es hacer un proyecto que integre Arduino con Robótica, Makeblock tiene unos excelentes kits de desarrolloy todas las piezas habidas y por haber para hacer dichos proyectos. Es más, podéis hacer desde impresoras 3D, grabadoras láser, plotters, robots, etc. con unas piezas de una calidad asombrosa y fabricadas en aluminio y placas Arduino Leonardo. Y la última recomendación, comparad precios y buscad también en tiendas "chinas" para la adquisición de elementos en internet. Hay una gran diferencia de precios y si no os importa esperar un poquito más en el envío podéis ahorraros bastante dinero. Como ya comentamos en la entrada sobre la Guía de Verano de Raspberry Pi, todavía queda tiempo para aprender y trastear antes de la vuelta al cole (o al trabajo). Aprovechadlo bien. Más información | Arduino En Xataka | 13 proyectos asombrosos con Arduino para ponerte a prueba y pasar un gran rato
  • 25. Arduino es el ecosistema de softwarelibre de hardware y softwarede código abierto del mundo. La compañía ofrece una gama de herramientas de software, plataformas de hardware y documentación que permiten a cualquier personaser creativo con la tecnología. Un tablero Arduino es una herramienta popular parael desarrollo de productos IoT, así como una de las herramientas más exitosas en la educación STEM / STEAM. Miles de diseñadores, ingenieros, profesores, estudiantes, desarrolladores y fabricantes de todo el mundo utilizan Arduino para innovar en circuitos y proyectos desoftwareen música, juegos, juguetes, casas inteligentes, agricultura, vehículos autónomos y más. Hernando Barragan, estudiante de maestría en el Instituto deDiseño de Interacción de Ivrea en 2003, creó la Junta de cableado para esta tesis . Su plataforma de microcontroladores de código abierto paraartistas allanó el camino parala primera placa Arduino. Originalmente iniciado como proyecto de investigación por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino y David Mellis en IDII, el proyecto Arduino también es paralelo al proyecto Processing . Casey Reas y Ben Fry desarrollaron este softwarepara aprender a codificar dentro del contexto de las artes visuales. El primer tablero de Arduino, que fue introducido en 2005, fue diseñado paraayudar a los estudiantes - que no tenían ninguna experiencia previa en la electrónica o la programación del microcontrolador - crear prototipos detrabajo, conectando el mundo físico al mundo digital. Estos creadores primarios y sus talentos son la razón por la que Arduino es abrazado alrededor del mundo hoy. En pocos años, Arduino se convirtió en la herramienta de creación de prototipos electrónica más popular utilizada por artistas, ingenieros e incluso grandes corporaciones. Arduino es el primer proyecto dehardware de código abierto y ha llevado a una cooperación internacional de usuarios que aportan tutoriales, proyectos deejemplo, bibliotecas y respuestas útiles a otros usuarios en el foro en línea. Cientos de personas que ayudan a depurar el código hacen que el softwareArduino mejor cada día.Estamos eternamente agradecidos por esteapoyo de una comunidad tan increíble. Desde la fundación del proyecto Arduino, se han introducido muchas nuevas juntas de desarrollo y bibliotecas de software, ampliando la gama de posibilidades disponibles para los fabricantes. Hoy, más de una década después, Arduino continúa proporcionando hardware y softwarede código abierto paradar vida a nuevas ideas. Esta forma poco convencional de ser de código abierto ha llevado a un fabricante de movimiento de microcontrolador basado en proyectos de electrónica de todas las variedades de personas. Debido a que es una plataforma flexible, fácil de usar y asequible, Arduino se ha convertido en la opción número uno para que los educadores lleven el aprendizaje práctico al aula. Se prevéque el mercado de IOT sea un mercado de 6 billones de dólares para 2021 y el nuevo hardware de Arduino traiga la tecnología de mañana a manos de Maker hoy.
  • 26. Con el fin de ayudar a toda esa gente que quiere comenzar en el mundo Arduino y no sabe muybien qué placa comprar,les presentamos esta humilde "mini-guía"que esperamos les sea útil. Bien, lo primero que se debería hacer antes de nada es responder a estas 3 preguntas que agilizarán bastante la elección de una u otra placa: 1. ¿Qué tamaño tendrán los proyectos que quiero hacer con Arduino?¿Qué me interesa más el espacio o las prestaciones? 2. ¿Dispongo de un programador de micros o quiero que tanto la alimentación como la programación se pueda hacer con la propia placa? 3. ¿El Arduino va a interactuar sólo con su propia circuitería o se tendrá que comunicar con más placas u otros dispositivos (mó viles, pda's,receptores,etc.) Conscientes de que cada vez salen a la luz nuevos tipos con nuevas funcionalidades,nos vamos a centrar en los modelos principales más extendidos. Dicho esto,vamos a intentar meter las diferentes placas de Arduino en cada grupo de preguntas que formulamos arriba yque obviamente un mismo modelo podrá repetirse en varios grupos,por lo que también podremos comprobar la versatilidad de los modelos. Tamaño De mayor a menor:  Arduino MEGA  Arduino Bluetooth  Arduino Pro  Arduino UNO  Arduino Nano  Arduino Mini  Arduino Pro Mini Arduino MEGA Es con mucha diferencia el más potente y el que más pines i/o tiene,apto para trabajos ya algo más complejos aunque tengamos que sacrificar un poco el espacio,cuenta con el microcontroladorAtmega2560 con más memoria para el programa,más RAM y más pines que el resto de los modelos. Arduino Bluetooth
  • 27. Incorpora un módulo para la transmisión de datos de hasta 100 metros,con esta placa podrás programar sin cables asi como también realizar comunicaciones serie con cualquier dispositivo bluetooth Arduino Pro Más robusto y mejor acabado final;incorpora funcionalidades interesantes tales como un conector especial para cone ctar una batería LiPo y realizar un montaje portatil.todos sus componentes son de superficie y su espesor total es menor que las otras placas Arduino. Arduino UNO Es la placa estándar y posiblemente la más conocida y documentada.Salió a la luz en septiembre de 2010 sustituyendo su predecesor Duemilanove con varias mejoras de hardware que consisten básicamente en el uso de un USB HID própio en lugar de utilizar un conversor FTDI para la conexión USB. Es 100% compatible con los modelos Duemilanove y Diecimila.Viene con un Atmega328 con 32Kbytes de ROM para el programa. Arduino Nano
  • 28. Su principal ventaja es que puede ser pinchado directamente sobre una protoboard haciendo muycómodo el prototipado al igual que el Arduino mini. Arduino Mini Versión miniaturizada de la placa Arduino. Mide tan sólo 30x18mm ypermite ahorrar espacio en los proyectos que lo requieran. Las funcionalidades son las misma que Arduino UNOsalvo que tiene sólo se fabrica con el chip Atmega168 con 12Kb de memoria para programa.El bootloader es algo antiguo y tarda unos 10 segundos arrancar (en el UNO es prácticamente instantáneo). Arduino Pro Mini Ésta es una versión menoraja del Arduino Mini fabricada por Sparkfun que incluye un chip Atmega328con 32Kb de ROM para programa.Es el modelo favorito para utiizar en proyectos donde las dimensiones son importantes.No incluye ningún conversor serie-usb por lo que para programarlo debemos utilizar un conversor con chip FTDI también disponible en la tienda. Programación Vamos a nombrar en las que se puede programar el chip directamente con un cable USB, los que no se citen se entiende que requieren de algo que no se incluye con la placa ya sea un programador externo o similar.  Arduino Mega  Arduino UNO  Arduino Bluetooth  Arduino Nano  Arduino Pro Interacción con otros dispositivos Los más propicios para ello son el Arduino Bluetooth,el Pro y el Duemilanove/Diecimila con shields kits existentes en el mercado como el ethernet. Subjetivamente y viendo los resultados obtenidos atendiendo al uso que le queramos dar,muchos coincidirían conmigo en que el Arduino UNO es el más versátil y el que por su calidad/precio lo hace más propicio como primera placa;luego cada uno irá adquiriendo las variantes en función de sus necesidades. Nota: quizás la pregunta más frecuente que nos asalta a la hora de comprar un Arduino es el tema atmega168/atmega328.Cabe hacer incapié una vez más en que son perfectamente compatibles y que se están incorporando a los nuevos modelos el
  • 29. atmega328 como una evolución al anterior contando con 32kb de memoria de programa en lugar de 16kb de la anterior versión, RAM de 2KB (antes 1KB) y EEPRON de 1Kb (antes 512 bytes). La carga de los programas también es más rápida ya que el bootloader fué actualizado a una velocidad de 57600 baudios. Suele haber 2 modelos dentro del atmega328 con insignificantes diferencias el ATMEGA328 y el ATMEGA328P. Por último si no les gusta ninguno de los formatos disponibles en el mercado pueden hacerlo ustedes mismos consultando los esquemas en la web oficial de Arduino. Esperamos que les sirva de apoyo a la hora de iniciarse en este bonito mundo.¿Cuál les gusta más? ¿Cuál se comprarían ustedes? ¿Qué uso le darían? No olviden dejar su comentario y darse una vuelta por labricotienda
  • 30. Qué es y para qué sirve arduino? Arduino es una plataforma de hardw arelibre basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software delordenado.Las placas se pueden montar a mano o adquirirse. ¿Cómo funciona Arduino? Como pasa con la mayoría de las placas microcontroladores las funciones de Arduino pueden resumirse en tres. En primera instancia, tenemos una interfaz de entrada, que puede estar directamente unida a los periféricos , o conectarse a ellos por puertos. El objetivo de esa interfaz de entrada es llevar la información al microcontrolador, la pieza encargada de procesar esos datos. Elmentado microcontrolador varía dependiendo de las necesidades del proyecto en el que se desea usar la placa, y hay una buena variedad de fabricantes y versiones disponibles. Por último, tenemos una interfaz de salida, que lleva la información procesada a los periféricos encargadas de hacer eluso f inalde esos datos, que en algunos casos puede bien tratarse de otra placa en la que se centralizará y procesara nuevamente la información, o sencillamente, por ejemplo, una pantalla o un altavoz encargada de mostrar la versión finalde los datos. Partes de Arduino En este apartado veremos las distintas partes que conformar nuestro Arduino como son entradas, salidas, alimentación, comunicación y shields. Entradas: son los pines de nuestra placa que podemos utilizar para hacer lecturas. En la placa Uno son los pines digitales (del 0 al 13) y los analógicos (del A0 al A5). Salidas: los pines de salidas se utilizan para el envío de señales. En este caso los pines de salida son sólo los digitales (0 a 13). Otros pines: también tenemos otros pines como los GND (tierra), 5V que proporciona 5 Voltios, 3.3V que proporciona 3.3 Voltios, los pines REF de referencia de voltaje, TX (transmisión) y RX (lectura) también usados para comunicación serial, RESET para resetear, Vin para alimentar la placa y los pines ICSP para comunicación SPI. Alimentación: Como hemos visto el pin Vin sirve para alimentar la placa pero lo más normal es alimentarlo por el jack de alimentación usando una tensión de 7 a 12 Voltios. También podemos alimentarlo por el puerto USB pero en la mayoría de aplicaciones no lo tendremos c onectado a un ordenador. Comunicación:En nuestros tutoriales nos comunicaremos con Arduino mediante USB para cargar los programas o enviar/recibir datos. Sin embargo no es la única forma que tiene Arduino de comunicarse. Cuando insertamos una shield ésta se comunica con nuestra plac a utilizando los pines ICSP (comunicación ISP), los pines 10 a 13 (también usados para comunicación ISP), los pines TX/RX o cualquiera de los digitales ya que son capaces de configurarse como pines de entrada o salida y recibir o enviar pulsos digitales. Shields: traducido delinglés significa escudo. Se llama así a las placas que se insertan sobre Arduino a modo de escudo ampliando sus posibilidades de uso. En el mercado existen infinidad de shields para cada tipo de Arduino. Algunas de las más comunes son las de Ethernet, Wi- Fi, Ultrasonidos, Pantallas LCD, relés, matrices LED's, GPS...
  • 31. Hardware para novatos (VII): Arduino ¿qué es y cómo funciona? TWITTEARCOMPARTIRENVIAR Por jjtorres el 17 de Marzo de 2014, 11:15 Por aquí bastante fanáticosde Arduino.Y es que es muy difícil hablar de gadgets,especialmente curiosos,sin quela plataformade hardwarelibre estéinvolucrada.Pero no todoel mundotiene lo suficientemente claro de quéva todo esto, y es por eso que ha llegado el tiempode detallar un poco más qué es Arduino. Hasta ahora en nuestra sección Hardware para novatos nos habíamos venido centrando en componentes bastante tradicionales, como las diferentes partes de un ordenador, los procesadores, e incluso las pantallas táctiles. Sin embargo, no todo en el mundo del hardware son los ordenadores tradicionales, smartphones y tablets. En el mundillo de la informática hay una corriente que de a poco está ganando cada vez más fuerza. Se trata de las filosofías libres. En los últimos años el software libre ha ganado muchísimo terreno, desde el código que da vida a infinidad de sitios en Internet, hasta el sistema operativo más común en dispositivos móviles a día de hoy, todo construido sobre usando como base software de código abierto. OCULTAR PUBLICIDAD Hacer libre el software no es demasiado difícil. Solo hace falta que quién invierte tiempo desarrollando código esté dispuesto a compartir su tiempo y esfuerzo con otras personas de manera íntegra. El software es replicable con impresionante facilidad, cosa que no es tan sencilla de hacer con el hardware, por lo que pensar el hardware libre requiere tener mucha visión. De eso se trata Arduino, un sistema que desde hace ya casi una década sirve como núcleo del hardware libre, y será el tema central de este Hardware para novatos. ¿Qué es Arduino? Definir Arduino es complicado, muy complicado. Cuando hablamos de Android, por ejemplo, todos sabemos que se trata de un sistema operativo. Sin embargo, Android no es un único sistema operativo estático, cada fabricante lo implementa a su modo, e incluso la comunidad de desarrollo independiente ha puesto en Internet multitud de versiones del sistema operativo. Y hasta empresas como Nokia y Amazon utilizan Android sin siquiera mencionarlo. Servidor web constituido por varias placas Arduino. Algo similar a lo descrito en el párrafo anterior ocurre con Arduino. Se trata de un microcontrolador, una placa, un pequeño sistema de procesamiento. Sin embargo, su condición de sistema libre ha propiciado tantas variaciones de lo mismo, que Arduino no es una pieza de hardware única, y de hecho podemos encontrar tantas configuraciones como desarrolladores dispuestos a hacer cambios en los esquemas puedan existir. Pero claro, debemos cuando menos darle una razón de ser a Arduino. Para ello tenemos qué saber qué hace exactamente un microcontrolador. La respuesta, de nuevo, es que depende de la configuración. Así, encontraremos placas de Arduino capaces de dar vida a un teléfono móvil, un mando a distancia, consolas portátiles, y hasta cámaras fotograficas.
  • 32. Para simplificar las cosas (y tomando alguna licencia), Arduino es el hardware libre y hardware libre el es Arduino. Un poco de historia Hasta hace relativamente poco, un estudiante de sistemas o electrónica tenía que enfrentar que uno de los grandes inconvenientes de su carrera es que para algunos proyectos hacía falta hacerse con placas y microcontroladores que como poco rondaban los 100 dólares. Ese tipo de precios ya era bastante complicado en el primer mundo para un estudiante, siendo que las cosas estaban mucho peor para los países en vías de desarrollo, donde en la mayoría de los casos directamente preferían pasar de estos proyectos. Tomando en cuenta esto, Massimo Banzi y Hernando Barragan decidieron que había que hacer algo al respecto. Fue así como se pusieron manos a la obra para desarrollar una plataforma que fuera lo suficientemente completa como para competir con los costosos sistemas comerciales, pero que al mismo tiempo pudiera mantenerse ligera, económica y fácil de compartir por Internet. Es así, como en la actualidad, Arduino y sus variantes, pueden ser adquiridos por entre 10 y 30 dólares, dependiendo de proveedores y distribuidores. Claro, los diseños también pueden ser directamente descargados de Internet de manera gratuita, y el usuario puede ensamblarlos y cargar el software necesario para hacer funcionar los microcontroladores. ¿Cómo funciona Arduino? Como pasa con la mayoría de las placas microcontroladores las funciones de Arduino pueden resumirse en tres. En primera instancia, tenemos una interfaz de entrada, que puede estar directamente unida a los periféricos , o conectarse a ellos por puertos. El objetivo de esa interfaz de entrada es llevar la información al microcontrolador, la pieza encargada de procesar esos datos. El mentado microcontrolador varía dependiendo de las necesidades del proyecto en el que se desea usar la placa, y hay una buena variedad de fabricantes y versiones disponibles. Por último, tenemos una interfaz de salida, que lleva la información procesada a los periféricos encargadas de hacer el uso final de esos datos, que en algunos casos puede bien tratarse de otra placa en la que se centralizará y procesara nuevamente la información, o sencillamente, por ejemplo, una pantalla o un altavoz encargada de mostrar la versión final de los datos. De nuevo, Arduino es un sistema, y no una placa única. Por esto, el funcionamiento concreto dependerá del proyecto. Así, en un móvil hecho con Arduino tendremos varios microcontroladores, encargados de las conexiones de red, los datos necesarios para la entrada de números y mostrar información en pantalla, entre otras cosas. Así mismo, un reloj hecho con Arduinosolamente haría falta un chip que cuantifique la hora y la muestre en una pantalla. Como ya hemos dicho, Arduino es casi sinónimo de hardware libre, y con eso, estamos hablando de una de las plataformas más complejas y variables que podrían existir.
  • 33. ¿Qué es Arduino y para qué se utiliza? Por Antony García González - Mayo 20, 2015 0 8864 Compartir en Facebook Compartir en Twitter Esta entrada debimos escribirla hace mucho tiempo. Es algo que se debió definir antes de iniciar el proyecto Panama Hitek. Hemos hablado tanto de Arduino, escrito tantos posts, publicado tantos proyectos y tantos tutoriales y no hemos sido capaces de contestarla pregunta básica: ¿qué es Arduino y para qué se utiliza?. En esta ocasión escribiré un artículo dirigido a los principiantes, los novatos, los curiosos, los autodidactas, artistas, innovadores, emprendedores, gente con nada que hacer, gente con mucho por hacer y la lista se extiende. Trato de que cada post que escribo para este blog quede como mi contribución a esta sociedad,a la humanidad,almundo entero.A continuación miaporte para ustedes. Un poco de historia Arduino,inicialmente,fue construido en basealproyectoWiring,delcolombianoHernandoBarragán. En el año 2003, en Italia, específicamente en el instituto Ivrea, Massimo Banzi enseñaba el uso de PICs a estudiantes de diseño interactivo,los cualesno teníanconocimientotécnicopara utilizarherramientas de bajo.
  • 34. Anterior al nacimiento de Arduino existía el proyecto Processing, un lenguaje de programación basado en Java. Las principales características de Processing es la facilidad con la que puede ser utilizado. Barragán, que era estudiante en aquel entonces, se basó en Processing para desarrollar una placa llamada electrónica llamada Wiring. Esta contaba con su propio lenguaje de programación y su propio entornode desarrollo (IDE). Poco tiempo después, Massimo Banzi, David Cuartielles y Gianluca Martinodesarrollaron una tarjeta basada en el trabajo de Hernando Barragán,la cualera más pequeña y económica que la placa Wiring.Esta placa fue nombrada Arduino. Foto:Nicholas Zambetti,CC-BY-SA Desde entonces el proyecto Arduino le ha dado la vuelta al mundo con un gran éxito tanto entre los expertos como los aficionados a la electrónica. Su crecimiento ha sido tal que actualmente existen múltiples modelos en el mercado, con un sin fin de shieldsdiseñados para aumentarsus capacidadesy/obrindarle nuevasfuncionalidades. Existe una amplia gama de sensores adaptados a esta plataforma, lo cual lo hace muy útil a la hora de llevar a cabo proyectos basados en mediciones de fenómenos físicos. En la actualidad se puede encontrar Arduino en los salones de las escuelas primarias, a nivel universitario,en desarrollosa nivelde ingeniería e incluso en satélites en la órbita terrestre. ¿Por qué Arduino?  Costos Una de las principales características de Arduino es su bajo costo. Debido a que se trata de una plataforma de hardware libre, cualquier persona o grupo de personas con la tecnología necesaria para el diseño de dispositivos electrónicos (placas impresas, soldadura de componentes elecrónicos, etc) puede fabricar placas Arduino sin ningún tipo de implicación legal. La marca Arduino diseña sus propias placas, los Arduino originales, manufacturados en Italia y recientemente en Estados Unidos. Los modelos americanos se conocen como Arduino,mientras que los modelositalianosson llamados Genuino. Tanto en Los Estados Unidos como en Asia (específicamente China, Japón y Taiwán) existen compañías dedicadas a la fabricación de placas genéricasquepresentanelmismo aspectovisualy las mismas características (la mayorparte deltiempo) que un Arduino original. Hoy día, adquirir un Arduino resulta relativamente fácil y económico, especialmente debido a su amplia presencia en portales de ventas por Internet como Ebay y Amazon, entre otros. De igual forma, la inmensa cantidad de sensores y placas de expansión que ha sido diseñadas para Arduino (no necesariamente de la marca Arduino) y sus bajos precios, permite que esta tecnología sea considerada para toda clase de proyectoscon presupuestoslimitados.  Disponibilidad
  • 35. Como se ha mencionado, tanto los diferentes modelos de Arduino, como las placas de expansión y sensores utilizados con Arduin o pueden seradquiridosa bajos costosen los portalesde compra/venta en Internet. Poco a poco, a medida que pasa el tiempo se ha incrementado la presencia de tiendas especializadas en la venta de productos A rduino o relacionados a esta plataforma, en los países de América Latina. Algunos comercios que tradicionalmente se han dedicado a la venta de productoselectrónicos,están incluyendoa Arduino entre los productos que ofrecen a sus clientes,dada la creciente demanda.  Flexibilidad Los diferentes modelos de Arduino disponibles en el mercado comparten una característica. Todos son placas pequeñas, compactas y con gran capacidad para llevar a cabo tareas que van desde encender un simple LED hasta controlar el encendido de un motor trifás ico. El reducido tamaño de algunos modelos, como el Arduino Micro o el Arduino Nano permite que puedan ser insertados en una placa electrónica,talcualcircuito integrado. Los nuevos modelos que han visto la luz recientemente, como el Arduino Yún, el Intel Galileo (en colaboración con Intel Corporation) o el Arduino Tre (resultado de una colaboración con Texas Instruments) poseen una extraordinaria capacidad de procesamiento, similar a la de algunas computadoras de principios delsiglo XXI. El modelo Yún posee la capacidad de conectarse a Internet, ya sea por medio de una conexión Wifi o a través del puerto un Ethernet integrado. Con el Yún se puede interactuar con bases de datos y elementos alojados en la nube. De hecho “Yún” significa nube. El Arduino Yún es elmodelo de Arduino porexcelencia para InternetofThings.
  • 36. Todos los modelos de Arduino son capaces de comunicarse con una computadora por medio de una conexión USB (de hecho, se utiliza un convertidor de RS232 a USB, por lo que Arduino en realidad se comunica con la computadora por medio de Comunicación Serial). Esto permite interactuar con aplicaciones escritas en una amplia variedad de lenguajes de programación, como Visual Basic, C++, Java y cualquier otro lenguaje capaz de establecer comunicación con el Puerto Serie de la computadora. La integración de los proyectos en Arduino con lenguajes de programación de Alto Nivel hacen que Arduino pueda ser considerado en proyectos a nivel científico y en ingeniería.
  • 37. ¿Cómo funciona Arduino? El Arduino es una placa basada en un microcontrolador, específicamente un ATMEL. Un microcontrolador es un circuito integrado (podríamos hablar de un microhip) en el cual se pueden grabar instrucciones. Estas instrucciones se escriben utilizando un lenguaje de programación que permite alusuario crearprogramas que interactúan concircuitos electrónicos. Normalmente un microcontrolador posee entradas y salidas digitales, entradas y salidas analógicas y entradas y salidas para protocolos de comunicación. Un Arduino es una placa que cuenta con todos los elementos necesarios para conectar periféricos a las entradas y salidas del microcontrolador. Se trata de una placa impresa con todos los componentes necesarios para el funcionamiento del micro y su comunicación con una computadora a través de comunicaciónserial. La comunicación serial es un protocolo de comunicación que alguna vez fue muy utilizado a través de los puertos serie que traían las computadorasde antaño. Arduino utiliza un convertidor de Serial a USB, por lo cual a la hora de conectarlo a una computadora simplemente utilizamos una conexión USB común y corriente.La computadora,sin embargo,verá nuestro Arduinocomo un dispositivoconectado alPuerto Serie. Existen diferentes modelosde Arduino,con múltiples características en cuanto a tamaño,formas,funciones y precios. Diferentes modelos de Arduino Todas estasplacascompartenuna característica:poseen un microcontrolador.
  • 38. En esa pequeña pieza de silicio se encuentran millones de transistores y otros componentes electrónicos que realizan operaciones lógicas en conjunto y permiten que el microcontrolador funcione. Se utiliza un lenguaje de programación llamado Arduino para darle instruccionesa este dispositivo. Digamos que el microcontrolador es el “cerebro” del Arduino. Este posee además un cristal osciladorque vendría siendo el “corazón”; el voltaje con el que se alimenta el Arduino es la presión sanguínea y la corriente que lo hace funcionar es la sangre que fluye a través de sus circuitos.Esta analogía no es perfecta pero es más que suficiente para comprenderun pocosobre este tema.
  • 39. Arduino IDE, donde colocamosla programación delmicrocontrolador En el cerebro podemos grabar instrucciones utilizando una conexión entre una computadora y el Arduino a través de USB. El lenguaje Arduino,derivadode C, es mucho más amigable que elutilizado porotros microcontroladores,elAssembler. Al colocar un algoritmo en la memoria del microcontrolador es como si dejáramos una parte de nuestra esencia en él (suena a romanticismo). Es enseñarle a un dispositivo electrónico a comportarse de tal forma ante una situación dada. A mi me encanta programar estos dispositivos porque soy yo quien decide su comportamiento y los obligo a hacer lo que yo necesito que hagan; yo soy quien tiene elcontrolsobre su forma de actuar. El Arduino de por sí no posee mucha capacidad para manejar cargas con voltajes mayores a su voltaje operativo, es decir, 5 voltios en corriente directa. Sin embargo, con la electrónica apropiada es posible manejar cargas a voltajes mucho mayores, tanto en corriente alterna como en corriente directa.El controldelencendidoy elapagado de un motortrifásico es una posibilidad con Arduino. El envío de información desde la computadora resulta muy fácil con la comunicación serial. Arduino puede recibir datos enviados por el usuario utilizando herramientas que el Arduino IDE trae en su diseño. Se le puede indicar al Arduino que al recibir determinada instrucciónejecute algún tipo de acción.Podemosobtenerinformación útily sumamente interesante sihacemos uso de sensores. Existen cientos de modelos de sensores y módulos electrónicos que se pueden conectar al Arduino y lograr resultados profesionales. Una correcta combinación de sensores+motores y engranajes, junto con el Arduino le permitirían a los entusias tas de la robótica diseñar sus propios modelosde robots,segúngustosy necesidades.
  • 40. Recientemente algunos modelos de Arduino están incorporando, además del microcontrolador un microprocesador (Arduino Yún), lo cual le permite utilizar sistemas operativos como Linux y amplificar el poder de procesamiento y las capacidades en varios órdenes de magnitud silos comparamos con los modelosiniciales. ¿Para qué se utiliza? Mucho se ha escrito sobre Arduino. De hecho tenemos una sección especial con todos los contenidos publicados sobre este tema donde nuestros lectores pueden nutrirse de nuestros conocimientos y construir sus propios proyectos. Los invito a que visiten la sección de Arduino y la de Arduino+Java, donde se muestra el verdadero poder del Arduino una vez se combina con un lenguaje de alto nivel como lo es Java y la electrónica apropiada. Nuestro Canal de Youtube cuenta con un centenar de videos, muchos mostrando proyectos construidos en basea Arduino. Me despido citando la siguiente frase “el pesimista en toda oportunidad ve un problema. El optimista en cada problema ve una oportunidad”. Querer aprender es lo único que se necesita para entrar al mundo de Arduino. Las herramientas existen, es hora de empezar a utilizarlas.
  • 41. Qué es la programación con arduino y para qué sirve 14 febrero, 2017
  • 43. Si entre tus inquietudes está descubrir qué es la programación con arduino y para qué se utiliza, acabas de llegar al lugar indicado para poner fin a todas tus dudas. Y es que el arduino es nada más y nada menos que una placa basada en un microcontrolador, concretamente un ATMEL. Pero, ¿qué es un microcontrolador? Se trata de una plataforma de hardware libre. Cuenta con un circuito integrado mediante el cual se pueden grabar instrucciones. A su vez, estas instrucciones se escriben usando un lenguaje de programación que permite al usuario establecer programas que interactúan con circuitos electrónicos. El arduino es una placa que tiene todos los elementos necesarios para conectar periféricos a las entradas y salidas de un microcontrolador. Es decir, es una placa impresa con los componentes necesarios para que funcione el microcontrolador y su comunicación con un ordenador a través de la comunicación serial. ¿Cómo funciona el Arduino? Las funciones de Arduino, como ocurre con la mayoría de las placas de microcontroladores, se pueden resumir en 3 factores:  Cuenta con una interfazde entrada. Esta puede estardirectamenteunidaalosperiféricos,oconectarse a ellosa travésde puertos.  La interfazde entrada tiene como objetivotrasladar la información al microcontrolador. El microcontroladores la piezaque se encargade procesaresosdatos.Además,varíadependiendode lasnecesidadesdel proyectoenel que se desee usarla placa,y existe unagranvariedadde fabricantesyversionesdisponibles.  También cuentacon interfazde salida. Este se encarga de llevarlainformaciónprocesadaalosperiféricos autorizadosde hacerel uso final de esosdatos.Enalgunoscasos puede tratarse de otra placaen laque se centralizayprocesala informaciónde formatotalmenterenovada,osencillamente,puede serunapantallaoun altavozencargadode mostrar la versiónfinal de losdatos. Lenguaje de la programación con Arduino: C++ ¿Qué lenguaje utiliza este tipo de programación? La plataforma Arduino se programa con un lenguaje propio basado en el lenguaje de programación de alto nivel Processing, lo que significa que es similar a C++. ¿Qué quiere decir esto? Que se trata de un lenguaje de programación de propósito general asociado a un sistema operativo llamado UNIX. Este lenguaje de medio nivel, trata con objetos básicos como caracteres, números, bits y direcciones de memoria, entre otros. Este tipo de lenguaje posee una gran portabilidad. Gracias a ello se suele utilizar para la programación de sistemas como la construcción de intérpretes, compiladores, y editores de texto.
  • 44. Si alguna ves te preguntaste ¿que es y para que sirve arduino? como lo hice yo hace ya unos años espero poder ayudarte con esta entrada. Arduino es un proyecto nacido en el año 2005 con la idea de desarrollar una placa de hardware libre integrada con un microcontrolador y una interfaz para programarlo. Esta diseñado y construido para que sea muy fácil utilizarlo y en el se pueden desarrollar proyectos multidisciplinarios. La placa se puede comprar a un precio accesible o bien cada persona puede armarlas libremente es sus casas, dado que toda la información del esquema circuital o el PCB son de licencia libre y se encuentran en Internet muy fácilmente,sin dudas esa es una de las ventajas de arduino respecto a otras opciones. El Hardware es una placa que tiene un microcontrolador atmel y varios puertos de entrada/salida digitales y analógicos, existen complementos conocidos como (shields), estos complementos brindan una mayor autonomía a programador y usuario de la placa y hacen de arduino un entorno muy amigable y simple de trabajar. También es una plataforma que cuenta con una infinidad de sensores y periféricos desarrollados y pensados para ser utilizados en arduino, esto facilita mucho la integración de la placa con el mundo que lo rodea, pudiendo de esta manera desarrollar desde robots a cualquier otra cosa que nos imaginemos sin incurrir en un alto costo y perder mucho tiempo en el diseño. Algunos de los periféricos mas comunes yutilizados con frecuencia por los usuarios de arduino son los siguientes.  Sensor de ultrasonido us-100  Sensor de ultrasonido hc-sr04  Sensores infrarrojo  Sensores de temperatura  Servo Motores  Dispositivos GPS  Dispositivos paraconexión bluetooth  Display LCD  Receptor/Emisor de RF Existen muchísimos mas,pero no tiene sentido listarlos todos. Es importante nombrar nombrar las diferentes partes que conforman la placa  Entradas y salidas: Existen varios modelos distintos de la placa arduino, pero todas tienen en común una cantidad definida de periféricos de entrada y salida, según la placa tendrá mas o menos puertos deentrada y salida, los puertos deentrada son los utilizados para ingresar datos que serán procesados por el microcontrolador y los de salida son por donde el microcontrolador entrega el
  • 45. resultado de la operación, el programador puede configurar cada puerto paraindicarle al microcontrolador si ese puerto trabajar como uno de entrada o como uno de salida.  Alimentación: Lamayoría de las placas de arduino son alimentadas con 5 volt aunque algunas lo pueden hacer con tensiones de hasta 12 volt.  Comunicación: Existen algunos puertos destinados a la comunicación de la placa con algún otro dispositivo, estos son los pines RX y TX, mediante estos puertos es que se establece la comunicación como por ejemplo con un display LCD o con el computador para mostrar datos en ella.  Complementos: Como dijimos mas arriba, los complementos o Shields son degran ayuda para los programadores yaque nos reducen el tiempo de desarrollo y nos entregan un producto solido que podemos utilizar fácilmente. Razones para utilizar arduino Existen miles de razones validas para utilizar Arduino , aquí solo nombraremos algunas,las mas relevantes.  Es Open Source: Esto quiere decir que se puedeacceder a toda partedel circuito y del código de las librerías, puedes modificarlas y no necesitas ninguna licencia para utilizarlo.  Facil de programar: Arduino cuenta con una infinidad de librerías que nos resuelven la vida, gran porcentaje del código mas complejo que necesitamos como por ejemplo para establecer una comunicación serie o inicializar un sensor de temperaturaya están resueltos en librerías, solo tenemos que usarlas. Otra gran ventaja es que no se necesita ninguna tarjeta de programación como sucede en la mayoría de las placas de desarrollo, Arduino cuenta con un softwareconocido como bootloader que viene cargado en el microprocesador que se auto programa a si mismo y nos evita la necesidad de contar con una tarjeta programadora para programar el micro.  Documentación: Alser de Hardware y Software libre hay infinidad de información disponible dando vueltas por la red.  Amplia variedad de placas: Arduino no es una única placa, es toda una familia de placas, cada una de ellas cuenta con diferencias y similitudes, según el proyecto que tengamos que hacer utilizamos una u otra.  Costo: Podemos conseguir nuestra placa Arduino por menos de 14 dolares, es un precio muy económico comparado con otras placas que intentan cumplir los mismos requisitos. Obviamente existen diferentes modelos y alternativas, el costo puede varias pero no demasiado.  Diversas aplicaciones: Podemos construir una infinidad de aplicaciones a bajo costo y con poco tiempo de desarrollo, si tenemos imaginación podemos hacer casi cualquier cosa  Proyectos profesionales: Sila tarjeta de Arduino cuenta con el microcontrolador en un zócalo desmontable como por ejemplo el Arduino uno. Podemos utilizar la placa solo para programarlo y dado el caso de tener que hacer algo mas profesional, podemos sacar el micro de la placa y utilizarlo sin el boar, claro que tendríamos que cablear todas las entradas/salidas y las fuentes de alimentación junto con la circuiteria externa de nuestro proyecto. Desventajas de utilizar arduino Ya vimos que es y para que sirve Arduino , ¿pero cuales son sus desventajas?. Si alguna ves intentaste hacer un desarrollo para la venta lo primero que consideras es gastar poco en los materiales para que no sea un objeto caro para los clientes, y es ahi donde esta el primer problema, el microcontrolador que utiliza Arduino es un atmega, que para la mayoría de las aplicaciones queda grande, por ejemplo si queremos hacer una alarma para la casa.. utilizar un microcontrolador como el que tiene Arduino significaría encarecer todo..ya que en si el microcontrolador es caro comparado con otros mas acotados. Si trabajaste en alguna empresa en el diseño con microcontroladores, lo m as probables es que tu jefe te diga. “quiero que hagas esto con este microprocesador por que lo consigo muy barato..” con lo cual en esas situaciones queda descartado el uso de Arduino .. definitivamente no es una opción. Conclusion Desde mi punto de vista Arduino es la mejor opción posible cuando lo que queremos desarrollar no esta destinado a la venta y no disponemos de mucho tiempo para desarrollarlo. En el caso de que lo que hagamos este pensado al consumo y comercialización sera mejor pensar en utilizar otros microcontroladores ya que tenemos que ponderar otros factores “costo, economía y demas” . En el ámbito educativo ARduino es genial, permite entusiasmar a los estudiantes en el mundo de la programación y el diseño de hardware,aunque no explica en detalle el trasfondo de su arquitectura. Bibliografia http://www.modulo0tutoriales.com/10-razones-para-usar-arduino/ https://es.wikipedia.org/wiki/Arduino