You are on page 1of 14

[Escriba el nombre de la compaa]

[Escriba el ttulo del documento]


1

[Escriba el nombre de la compaa]















































INSTITUTO TECNOLOGICO DE
CIUDAD MADERO
TEMA:

MATERIA

NOMBRE DEL ALUMNO:

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 ) .








ARDUINO UNO


ATmega328
5V
Memoria flash: 32 KB.
Reloj: 16 MHz.
Pines digitales: 14 (E/S).
Pines analgicos: 6 (E).






















[Escriba el nombre de la compaa]
[Escriba el ttulo del documento]
4

[Escriba el nombre de la compaa]


























Funcionamiento bsico del Arduino:

ENTORNO DE PROGRAMACIN (IDE)

Entorno de programacin libre.
Linux, Windows, Mac.
Lenguaje: C/C++.
Mltiples libreras.












[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

You might also like