Академический Документы
Профессиональный Документы
Культура Документы
NDICE DE CONTENIDO......................................................................................1
COMPUTACIN FSICA.......................................................................................2
Modulacin por ancho de pulsos......................................................................2
Comunicacin serial..........................................................................................2
Arduino..............................................................................................................2
Programacin....................................................................................................3
LENGUAJE DE PROGRAMACIN......................................................................5
Cuerpo de un programa en Arduino..................................................................5
Estructuras........................................................................................................5
Variables............................................................................................................5
Operadores booleanos......................................................................................6
Operadores matemticos..................................................................................6
Estructuras de control.......................................................................................6
Condicionales....................................................................................................6
Funciones..........................................................................................................7
Funciones digital...............................................................................................7
Funciones anloga............................................................................................7
ARDUINO..............................................................................................................7
Expandir Arduino con los shields......................................................................8
Entradas y salidas:............................................................................................9
Pines especiales de entrada y salida:...............................................................9
Alimentacin de un Arduino..............................................................................9
Terminales Digitales........................................................................................10
Pines Analgicos.............................................................................................11
Pines de alimentacin.....................................................................................11
INSTALANDO DRIVERS....................................................................................12
Pasos...............................................................................................................12
Conociendo el software Arduino.....................................................................13
COMPUTACIN FSICA
La Computacin fsica, significa la construccin de sistemas interactivos fsicos
mediante el uso de software y hardware que pueden sentir y responder al mundo
analgico. Si bien esta definicin es suficientemente amplia para abarcar aspectos como
los sistemas inteligentes de control de trfico de automviles o los procesos de
automatizacin de fbricas, en un sentido ms amplio, la computacin fsica es un
marco creativo para la comprensin de la relacin de los seres humanos en el mundo
digital. En la prctica, a menudo el trmino describe el arte hecho a mano, diseo de
proyectos DIY o pasatiempos que utilizan sensores y microcontroladores para traducir
entradas analgicas a sistemas basados en software, y/o controlar dispositivos
electromecnicos como motores, servos, iluminacin u otro hardware.
El prototipado (crear montajes rpidos con ayuda de una protoboard y componentes
bsicos de electrnica) juega un papel importante en la computacin fsica.
Herramientas como Arduino y Fritzing son tiles para diseadores, artistas, estudiantes
y entusiastas porque ayudan a elaborar prototipos rpidamente.
Modulacin por ancho de pulsos
La modulacin por ancho de pulsos (tambin conocida como PWM, siglas en ingls de
pulse-width modulation) de una seal o fuente de energa es una tcnica en la que se
modifica el ciclo de trabajo de una seal peridica (una senoidal o una cuadrada, por
ejemplo), ya sea para transmitir informacin a travs de un canal de comunicaciones o
para controlar la cantidad de energa que se enva a una carga.
Por ejemplo si le aplicamos PWM a un LED podemos variar su intensidad de brillo y
sile aplicamos un PWM a un motor DC logramos variar la velocidad del mismo con la
caracterstica de mantener su par (fuerza) constante.
Comunicacin serial
Es una interfaz de comunicaciones de datos digitales, frecuentemente utilizada por
computadores y perifricos, donde la informacin es transmitida bit a bit enviando un
solo bit a la vez. Uno de sus usos es monitorear a travs de la pantalla del computador el
estado del perifrico conectado, por ejemplo al pulsar la letra A en el teclado se debe
encender un LED conectado de manera remota al computador.
Arduino
Arduino es una placa con un microcontrolador de la marca Atmel y con toda la
circuitera de soporte, que incluye, reguladores de tensin, un puerto USB (En los
ltimos modelos, aunque el original utilizaba un puerto serie) conectado a un mdulo
adaptador USB-Serie que permite programar el microcontrolador desde cualquier PC de
manera cmoda y tambin hacer pruebas de comunicacin con el propio chip. La tarjeta
Arduino, contiene para interaccin con el usuario trece entradas/salidas digitales, seis
entradas analgicas y un puerto serial que permite realizar comunicacin con perifrico,
2
Para crear un programa que el computador interprete y ejecute las instrucciones escritas
en l, debe usarse un Lenguaje de programacin. En sus inicios los computadores
interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel conocido
como cdigo mquina, siendo ste excesivamente complicado para programar. De
hecho slo consiste en cadenas de nmeros 1 y 0 (Sistema binario).
Para facilitar el trabajo de programacin, los primeros cientficos que trabajaban en el
rea decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o
letras provenientes del ingls, codificndolas as y creando un lenguaje de mayor nivel,
que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa
la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje
ensamblador es bsicamente lo mismo que hacerlo en lenguaje mquina, pero las letras
y palabras son bastante ms fciles de recordar y entender que secuencias de nmeros
binarios.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba,
se hizo necesario disponer de un mtodo sencillo para programar. Entonces, se crearon
los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos
nmeros puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un
lenguaje de alto nivel bastar con slo una.
LENGUAJE DE PROGRAMACIN
Un lenguaje de programacin es un idioma artificial diseado para expresar operaciones
que pueden ser llevadas a cabo por mquinas como los computadores.
Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de
una mquina, para expresar algoritmos con precisin, o como modo de comunicacin
humana.
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen
su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa
informtico se le llama programacin.
Cuerpo de un programa en Arduino
Arduino se programa en el lenguaje de alto nivel C/C++ y generalmente tiene los
siguientes componentes para elaborar el algoritmo:
Estructuras
Variables
Funcione
Estructuras
Son dos funciones principales que debe tener todo programa en Arduino:
setup(){ }
Cdigo de configuracin inicial, solo se ejecuta una vez.
loop(){
.
Esta funcin se ejecuta luego del setup( ), se mantiene ejecutndose hasta que se
desenergice o desconecte el Arduino.
Variables
Es un dato o
conjunto de
datos
que
cambia su valor con la ejecucin del programa.
Operadores booleanos
Usados generalmente dentro del condicional If y sobre el For y While
== (igual a)
!= (diferente de)
(mayor que)
Operadores matemticos
Se aplican al manejo de variables, condicionales y ciclos
= (asignar)
% (mdulo)
+ (suma)
- (resta)
* (multiplicacin)
/ (divisin)
Estructuras de control
Son instrucciones que nos permiten tomar decisiones y hacer diversas repeticiones de
acuerdo a unos parmetros, dentro de las ms importantes podemos destacar:
If
6
Switch/case
For
While
Condicionales
Ideales para tomar decisiones luego de evaluar las condiciones lgicas:
Funciones
Una funcin es un conjunto de lneas de cdigo que realizan una tarea especfica y
puede retornar un valor. Las funciones pueden tomar par- metros que modifiquen su
funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en
tareas simples y para implementar operaciones que son comnmente utilizadas durante
un programa y de esta manera reducir la cantidad de cdigo.
Cuando una funcin es invocada se le pasa el control a la misma, una vez que sta
finaliz con su tarea el control es devuelto al punto desde el cual la funcin fue llamada.
Funciones digital
Orientas a revisar el estado y la configuracin de las entradas y salidas digitales
Funciones anloga
Ideales para la lectura y escritura de valores anlogos
7
ARDUINO
Con las capacidades de Arduino solo debemos tener nociones bsicas de electrnica y
programacin, eso es suficiente para comenzar a desarrollar nuestros proyectos.
Arduino cuenta con una gran comunidad donde se comparte todo lo desarrollado y es
una gran ventana para que puedas ver todo lo que es posible desarrollar.
El proyecto comenz en Ivrea, Italia (el sitio de la compaa de computadoras Olivetti),
en el ao 2005 con el fin de crear un dispositivo para estudiantes para el control
integrado de proyectos de diseo e interaccin, con la finalidad de que fuera ms barato
que los sistemas de creacin de prototipos disponibles en ese entonces. A partir de mayo
de 2011, ms de 300.000 unidades de Arduino han sido distribuidas. Los fundadores
Massimo Banzi y David Cuartielles nombraron el proyecto como Arduino de Ivrea, un
protagonista histrico de la ciudad. En primer lugar "Arduino" es un termino masculino
italiano, que significa "gran amigo".
El proyecto Arduino es un fork (en la ingeniera de software, un fork es un proyecto que
sucede cuando los desarrolladores tienen una copia legal del cdigo fuente y empiezan
el desarrollo independiente de ella, creando una obra distinta de software) de la
plataforma Wiring de cdigo abierto. Wiring fue creado por el artista colombiano y
programador Hernando Barragn como una tesis de maestra en el Instituto de diseo e
interaccin Ivrea, bajo la supervisin de Massimo Banzi y Casey Reas. Por otra parte,
Wiring se basa en Processing y su entorno de desarrollo integrado creado por Casey
Reas y Ben Fry. "Arduino fue construido en torno al proyecto Wiring de Hernando
Barragn. Wiring fue el proyecto de tesis de Hernando en el Instituto de diseo e
interaccin Ivrea. Fue pensado para ser una versin electrnica de Processing que
utiliza nuestro entorno de programacin y fue modelado para la sintaxis de Processing.
Fue supervisado por m mismo y Massimo Banzi, un fundador de Arduino.
Expandir Arduino con los shields
Un Shield o escudo es una placa que permite expandir funcionalidades a tu Arduino,
con lo cual puedes conectar motores, o a la red celular, a una red WiFi, a una red
Ethernet o tener un MP3 en el Arduino, entre muchos ms .
Placa Arduino Uno y sus partes
8
Arduino tambin dispone de 6 pines de entrada analgicos que trasladan las seales a un
conversor analgico/digital de 10 bits.
Pines especiales de entrada y salida:
SPI: Los pines 10, 11, 12 y 13 pueden utilizarse para llevar a cabo
comunicaciones SPI, que permiten trasladar informacin full dplex en un
entorno Maestro/Esclavo.
I2 C
I2 C
Alimentacin de un Arduino
Puede alimentarse directamente a travs del propio cable USB o mediante una
fuente de alimentacin externa, como puede ser un pequeo transformador o,
por ejemplo una pila de 9V.
Los lmites estn entre los 6 y los 12 V. Como nica restriccin hay que saber
que si la placa se alimenta con menos de 7V, la salida del regulador de tensin a
5V puede dar menos que este voltaje y si sobrepasamos los 12V, probablemente
daaremos la placa.
Hay que tener en cuenta que podemos medir el voltaje presente en el jack
directamente desde Vin. En el caso de que el Arduino est siendo alimentado
mediante el cable USB, ese voltaje no podr monitorizarse desde aqu.
10
Terminales Digitales
Las terminales digitales de una placa Arduino pueden ser utilizadas para entradas o
salidas de propsito general a travs de los comandos de programacin pinMode(),
digitalRead(), y digitalWrite(). Cada terminal tiene una resistencia pull-up que puede
activarse o desactivarse utilizando DigitalWrite() (con un valor de HIGH o LOW,
respectivamente) cuando el pin esta configurado como entrada. La corriente mxima
por salida es 40 mA.
Serial: 0 (RX) y 1 (TX). Utilizado para recibir (RX) y transmitir (TX) datos serie
TTL. En el Arduino Diacemila, estas terminales estn conectadas a las
correspondientes patas del circuito integrado conversor FTDI USB a TTL serie.
En el Arduino BT, estn conectados al las terminales correspondientes del
modulo Bluetooth WT11. En el Arduino Mini y el Arduino LilyPad, estn
destinados para el uso de un mdulo serie TTL externo (por ejemplo el
adaptador Mini-USB).
Reset BT: 7. (solo en Arduino BT) Conectado a la lnea de reset del mdulo
bluetooth.
Pines Analgicos
Las Entradas analgicas son de 10 bits, por lo que entregan valores entre 0 y 1023. El
rango de voltaje est dado entre 0 y 5 volts, pero utilizando el pin AREF, este rango se
puede variar a algn otro deseado.
o Los pines de entrada analgicos soportan conversiones analgico-digital
(ADC) de 10 bit utilizando la funcin analogRead(). Las entradas
analgicas pueden ser tambin usadas como pines digitales: entrada
11
Pines de alimentacin
o VIN (a veces marcada como "9V"). Es el voltaje de entrada a la placa Arduino
cuando se est utilizando una fuente de alimentacin externa (En comparacin
con los 5 voltios de la conexin USB o de otra fuente de alimentacin regulada).
Puedes proporcionar voltaje a travs de este pin. Date cuenta que diferentes
placas aceptan distintos rangos de voltaje de entrada, por favor, mira la
documentacin de tu placa. Tambin date cuenta que el LilyPad no tiene pin
VIN y acepta solo una entrada regulada.
o 5V. La alimentacin regulada utilizada para alimentar el microcontrolador y
otros componentes de la placa. Esta puede venir de VIN a travs de un regulador
en placa o ser proporcionada por USB u otra fuente regulada de 5V.
o 3V3. (solo en el Diacemila) Una fuente de 3.3 voltios generada por el chip FTDI
de la placa.
o GND. Pines de tierra.
INSTALANDO DRIVERS
En WINDOWS 7, Vista y XP
12
Pasos
13
14