N CONTROL: FOTO [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 2
[Escriba el nombre de la compaa]
Introduccin
QU ES ARDUINO?
Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en software y hardware libre, flexible y fcil de usar. Se cre para artistas, diseadores, aficionados y sobre todo para la educacin y la introduccin a la electrnica. Cualquiera puede crear entornos u objetos interactivos. Arduino puede tomar informacin del entorno a travs de sus pines de entrada de toda una gama de sensores y puede afectar a todo aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programacin Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software.
Un factor clave en el xito de Arduino ha sido adems, su carcter de proyecto de cdigo abierto. No slo el software de control es gratuito sino que las especificaciones tcnicas de la placa Arduino estn a disposicin de todo el mundo. Cualquier empresa o ingeniero puede descargarlas de la Red, estudiarlas y emplearlas para producir un nuevo dispositivo, modificado segn las necesidades concretas del proyecto. Esto ha convertido al microcontrolador de Cuartielles y compaa en todo un emblema del movimiento maker. El corazn de Las impresoras 3D Makerbot es tambin una placa Arduino
Marco terico
Arduino se utiliza en muchos programas educativos de todo el mundo, especialmente por los diseadores y artistas que quieran crear fcilmente prototipos , pero no necesitan un conocimiento profundo de los detalles tcnicos que hay detrs de sus creaciones. Debido a que est diseado para ser utilizado por personas no tcnicas, el software incluye un montn de cdigo de ejemplo para demostrar cmo utilizar las diferentes instalaciones de la placa Arduino.
Arduino es mejor conocido por su hardware, pero tambin se necesita un software de programa que de hardware. Tanto el hardware como el software se llaman " Arduino. La combinacin le permite crear proyectos que detectan y controlan el mundo fsico. El software es, de cdigo abierto y multiplataforma. Los tableros son de bajo costo para comprar, o puede construir su propia (los diseos de hardware son tambin de cdigo abierto).
[Escriba el nombre de la compaa] [Escriba el ttulo del documento] 3
[Escriba el nombre de la compaa]
Software Arduino
Los programas de software, llamados esquemas, se crean en un ordenador utilizando el Arduino integrado entorno de desarrollo (IDE). El IDE permite escribir y editar cdigo y convertir este cdigo en instrucciones comprensibles por hardware Arduino. El IDE tambin la transferencia de esas instrucciones a la placa Arduino (un proceso llamado uploading ) .
[Escriba el nombre de la compaa] [Escriba el ttulo del documento] 5
[Escriba el nombre de la compaa]
ESQUEMA BSICO
//Inicializacion de variables //Inicializacion del sistema Void setup() { } //Bucle principal Void loop() { }
COMUNICACIN CON EL MONITOR
[Escriba el nombre de la compaa] [Escriba el ttulo del documento] 6
[Escriba el nombre de la compaa]
CONTROLAR UN LED
COMPILAR, CONECTAR Y LISTO
Funciones. Segmentar el cdigo en funciones permite al programador crear piezas modulares de cdigo que realizan una tarea definida y vuelven a la zona del programa en la que fueron llamadas. El caso tpico para crear una funcin es cuando uno necesita realizar la misma accin mltiples veces dentro de un mismo programa. [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 7
[Escriba el nombre de la compaa]
Para programadores acostumbrados a utilizar BASIC las funciones en Arduino permiten (y extienden) la utilidad de usar subrutinas (GOSUB en BASIC). La estandarizacin de fragmentos de cdigo en funciones tiene diversas ventajas: Las funciones ayudan al programador a ser organizado. Adems ayudan a conceptualizar el programa. Las funciones codifican una accin en un lugar, as que slo deben ser depuradas de errores una vez. Reducen las posibilidades de error en modificaciones, si el cdigo debe ser cambiado. Las funciones hacen el sketch ms pequeo y ms compacto por que las secciones de cdigo se reutilizan varias veces. Hacen ms fcil la reutilizacin de cdigo en otros programas por hacerlo ms modular y, como efecto paralelo, usando funciones se obtiene un cdigo ms legible. Hay dos funciones necesarias en un sketch de Arduino: setup() y loop(). El resto de funciones debe ser definido fuera de las llaves de estas dos funciones. Como ejemplo vamos a crear una funcin muy simple que multiplica dos nmeros.
Planteamiento del problema, rbol del problema. Se han visto algunos errores en software y algunos defectos en hardware. Como ha dicho el equipo Arduino, cerca de 3% del total de las tarjetas producidas pueden presentar algn defecto fsico,:desde bordes (rebabas), pines mal soldados, errores de impresin entre otros. Un caso reciente publicado en wtfmoogle, abri una discusin seria sobre unos defectos. (Es claro que todos los distribuidores que den alguna tarjeta defectuosa deben cambiarla por una nueva.) En el blog, se habla de la decepcin y baja calidad que tiene la nueva UNO, que caen en ese margen de error, en la imagen podemos ver uno de esos errores. Otros errores ms se han visto en el software, tal como el manejo de PWM con la funcin analogWrite() en pines 9 y 10, tambin exista un error en la identificacin de los dispositivos, lo cual han corregido en una nueva versin del IDE la 0021, que est disponible para: Mac,Linux, y Windows. Tambin se menciona que existe un error cuando se envan datos va serial usando la nueva mega UNO. Una solucin es borrar el archivo ACM en /var/lock (no especifican si es un error propio de Linux o Mac, o si es en ambos), tambin dicen que puede darse un reset fsico (presionando el SW de Reset) desconectar y reconectar el cable USB.
Hiptesis [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 8
[Escriba el nombre de la compaa]
Aplicaciones El mdulo Arduino ha sido usado como base en diversas aplicaciones electrnicas: Xoscillo: Osciloscopio de cdigo abierto. Equipo cientfico para investigaciones. Arduinome: Un dispositivo controlador MIDI. OBDuino: un econmetro que usa una interfaz de diagnstico a bordo que se halla en los automviles modernos. Humane Reader: dispositivo electrnico de bajo coste con salida de seal de TV que puede manejar una biblioteca de 5000 ttulos en una tarjeta microSD. The Humane PC: equipo que usa un mdulo Arduino para emular un computador personal, con un monitor de televisin y un teclado para computadora. Ardupilot: software y hardware de aeronaves no tripuladas. ArduinoPhone: un telfono mvil construido sobre un mdulo Arduino. Esquema de conexiones Entradas y salidas Poniendo de ejemplo al mdulo Diecimila, ste consta de 14 entradas digitales configurables como entradas y/o salidas que operan a 5 voltios. Cada contacto puede proporcionar o recibir como mximo 40 mA. Los contactos 3, 5, 6, 8, 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 comunicacin USB. Diecimila tambin tiene 6 entradas analgicas que proporcionan una resolucin de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios, aunque es posible cambiar el nivel ms alto, utilizando el contacto Aref y algn cdigo de bajo nivel. Lenguaje de programacin Arduino La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programacin de alto nivel Processing. Sin embargo, es posible utilizar otros lenguajes de programacin y aplicaciones populares en Arduino, debido a que Arduino usa la transmisin serial de datos soportada por la mayora de los lenguajes mencionados. 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 comunicacin fluida. Algunos ejemplos son: 3DVIA Virtools: aplicaciones interactivas y de tiempo real. Adobe Director BlitzMax (con acceso restringido) C C++ (mediante libSerial o en Windows) C# [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 9
[Escriba el nombre de la compaa]
Cocoa/Objective-C (para Mac OS X) Flash (mediante ActionScript) Gambas Isadora (Interactividad audiovisual en tiempo real) Instant Reality (X3D) Java Liberlab (software de medicin y experimentacin) Mathematica Matlab MaxMSP: Entorno grfico de programacin para aplicaciones musicales, de audio y multimedia Minibloq: Entorno grfico de programacin, corre tambin en las computadoras OLPC Perl Php Physical Etoys: Entorno grfico de programacin usado para proyectos de robtica educativa Processing Pure Data Python Ruby Scratch for Arduino (S4A): Entorno grfico de programacin, modificacin del entorno para nios Scratch, del MIT) Squeak: Implementacin libre de Smalltalk SuperCollider: Sntesis de audio en tiempo real VBScript Visual Basic .NET VVVV: Sntesis de vdeo en tiempo real Funciones bsicas y operadores Arduino est basado en C y soporta todas las funciones del estndar C y algunas de C++. A continuacin se muestra un resumen con la estructura y sintaxis del lenguaje Arduino: Sintaxis Bsica Delimitadores:;, {} Comentarios: //, /* */ Cabeceras: #define, #include Operadores aritmticos: +, -, *, /, % Asignacin: = Operadores de comparacin: ==, !=, <, >, <=, >= Operadores Booleanos: &&, ||, ! Operadores de acceso a punteros: *, & Operadores de bits: &, |, ^, ~, <<, >> Operadores compuestos: [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 10
[Escriba el nombre de la compaa]
o Incremento y decremento de variables: ++, -- o Asignacin y operacin: +=, -=, *=, /=, &=, |= Estructuras de control Condicionales: if, if...else, switch case Bucles: for, while, do... while Bifurcaciones y saltos: break, continue, return, goto Variables En cuanto al tratamiento de las variables tambin comparte un gran parecido con el lenguaje C. Constantes HIGH/LOW: representan los niveles alto y bajo de las seales de entrada y salida. Los niveles altos son aquellos de 3 voltios o ms. INPUT/OUTPUT: entrada o salida. false (falso): Seal que representa al cero lgico. A diferencia de las seales HIGH/LOW, su nombre se escribe en letra minscula. true (verdadero): Seal cuya definicin es ms amplia que la de false. Cualquier nmero entero diferente de cero es "verdadero", segn el lgebra de Boole, como en el caso de -200, -1 o 1. Si es cero, es "falso". Tipos de datos void, boolean, char, unsigned char, byte, int, unsigned int, word, long, unsigned long, float, double, string, array. Conversin entre tipos 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 mbito de las variables static, volatile, const [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 11
[Escriba el nombre de la compaa]
Utilidades sizeof() Funciones Bsicas E/S Digital pinMode(pin, modo) digitalWrite(pin, valor) int digitalRead(pin) E/S Analgica analogReference(tipo) int analogRead(pin) analogWrite(pin, valor) E/S Avanzadas hiftOut(dataPin, clockPin, bitOrder, valor) unsigned long pulseIn(pin, valor) Tiempo unsigned long millis() unsigned long micros() delay(ms) delayMicroseconds(microsegundos) Matemticas min(x, y), max(x, y), abs(x), constrain(x, a, b), map(valor, fromLow, fromHigh, toLow, toHigh), pow(base, exponente), sqrt(x) Trigonometra sin(rad), cos(rad), tan(rad) Nmeros aleatorios randomSeed(semilla), long random(mx), long random(mn, mx) Bits y Bytes lowByte(), highByte(), bitRead(), bitWrite(), bitSet(), bitClear(), bit() [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 12
[Escriba el nombre de la compaa]
Interrupciones externas attachInterrupt(interrupcin, funcin, modo) detachInterrupt(interrupcin) Interrupciones interrupts(), noInterrupts() Comunicacin por puerto serie Las funciones de manejo del puerto serie deben ir precedidas de la palabra "Serial" aunque no necesitan ninguna declaracin en la cabecera del programa. Por esto se consideran funciones base del lenguaje. Estas son las funciones para transmisin serial: begin(), available(), read(), flush(), print(), println(), write()
Objetivo Hay muchos otros microcontroladores y plataformas con microcontroladores disponibles para la computacin fsica. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el complicado trabajo de programar un microcontrolador en paquetes fciles de usar. Arduino, adems de simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a otros sistemas a profesores, estudiantes y amateurs: Asequible - Las placas Arduino son ms asequibles comparadas con otras plataformas de microcontroladores. La versin ms cara de un modulo de Arduino puede ser montada a mano, e incluso ya montada cuesta bastante menos de 60 Multi-Plataforma - El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayora de los entornos para microcontroladores estn limitados a Windows. Entorno de programacin simple y directo - El entorno de programacin de Arduino es fcil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados. Pensando en los profesores, Arduino est basado en el entorno de programacin de Procesing con lo que el estudiante que aprenda a programar en este entorno se sentir familiarizado con el entorno de desarrollo Arduino. Software ampliable y de cdigo abierto- El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a travs de libreras de C++, y si se est interesado en profundizar en los detalles tcnicos, se puede dar el salto a la programacin en el lenguaje AVR C en el que est basado. De igual modo se puede aadir directamente cdigo en AVR C en tus programas si as lo deseas. [Escriba el nombre de la compaa] [Escriba el ttulo del documento] 13
[Escriba el nombre de la compaa]
Hardware ampliable y de Cdigo abierto - Arduino est basado en los microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los mdulos estn publicados bajo licencia Creative Commons, por lo que diseadores de circuitos con experiencia pueden hacer su propia versin del mdulo, amplindolo u optimizndolo. Incluso usuarios relativamente inexpertos pueden construir la versin para placa de desarrollo para entender cmo funciona y ahorrar algo de dinero.
Justificacin
Impacto tico, social, tecnolgico econmico y ambiental Yo dira que su facilidad de uso. Con Arduino personas de cualquier edad y sin conocimientos previos en tecnologa pueden comenzar a construir nuevos ingenios en cuestin de horas. Solo hace falta un ordenador y una placa. Todo el software y la documentacin estn en internet de forma libre y gratuita. La apertura de la plataforma es lo que atrae a muchos, que empiezan con pequeos proyectos y terminan por hacer cosas increbles, desde impresoras 3D a satlites. Arduino es una plataforma electrnica que facilita la creacin de objetos o entornos interactivos. El dispositivo cuenta con software compatible con Windows, Linux y MacOS y hardware libres, de modo que cualquier usuario puede adaptarlo a sus necesidades As mismo existe el programa Arduino At Heart, que busca apoyar y beneficiar a marcas y personas que quieran que sus productos sean reconocibles gracias al uso de hardware creado por Arduino. El principal beneficio para quienes hagan parte de este programa, es la posibilidad de sacar ventaja del conocimiento proporcionado por una comunidad global y, adems, ofrecerle al destinatario final de sus productos la oportunidad de modificarlos y trabajar sobre ellos a travs de un cable micro USB y al IDE de Arduino (Interactive Development Enviroment), un software compuesto por una serie de herramientas de programacin que facilitan el desarrollo de entornos interactivos.
[Escriba el nombre de la compaa] [Escriba el ttulo del documento] 14
[Escriba el nombre de la compaa]
Fuentes de informacin utilizadas http://www.elcultural.es/version_papel/ARTE/33047/Arduino_la_tecnologia_para_artistas_ es_una_revolucion http://www.forosdeelectronica.com/f47/error-arduino-uno-80567/ http://nacionarduino.wordpress.com/2010/10/03/problemas-y-errores-en-arduino/ http://es.wikipedia.org/wiki/Arduino
Kaspersky Lanza Una Herramienta para Eliminar El Troyano Flashback Investing in A EGA Futura Sistema de Facturacion Concepto? Think About These Advices