Sie sind auf Seite 1von 35

Manual de proyectos Arduino

Instalacin en Windows
1. Despus de terminar la descarga, haga doble clic en el archivo
"instalar Arduino" si aparece una ventana de advertencia de
seguridad, haga clic en "Ejecutar" o "permitir" y acepte el acuerdo
de licencia. Haga clic en "Siguiente" para elegir la carpeta para
instalar el IDE y luego haga clic en "instalar".

2. Conectar el Arduino al ordenador con el cable USB. El tablero


mandara
automticamente energa de la conexin USB del
ordenador y el LED verde (etiquetado ON) se encender.
3. Windows debe iniciar su proceso de instalacin del controlador
cuando el tablero est conectado. Cuando su equipo no sea capaz
de encontrar los controladores por s mismo; necesita apuntar a la
carpeta correcta.
Windows XP: Si Windows update le pregunta sobre la ruta
para el software, seleccione "s, slo por esta vez " y luego
"Instalar desde una lista o ubicacin especfica"
Windows 7: En Windows 7, si una ventana emergente le
pide que instale el controlador automticamente o para
buscar en el ordenador, elegir buscar el controlador en el
equipo. En Vista, contine directamente con el siguiente
paso, seleccione la opcin recomendada.

4. Si la instalacin no se inicia automticamente, haga clic en el


men Inicio y abra el panel de control. A continuacin, vaya al
administrador de dispositivos siguiendo estos pasos:
Windows XP: cambiar a vista clsica -> Sistema ->
Hardware -> Administrador de dispositivos
Windows vista: vista clsica -> Administrador de
dispositivos
Windows 7: sistema y seguridad-> Sistema ->
Administrador de dispositivos

5. Buscar el dispositivo arduino en la categora de "otros dispositivos"


o "dispositivos desconocidos" y seleccione "actualizar controlador"

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

o "Actualizar software de controlador" haciendo clic con el botn


derecho del ratn.

6. Haga clic en "Examinar" y seleccione la carpeta "drivers" (no la


carpeta "drivers USB FTDI") en la carpeta arduino. Pulse el botn
"OK" y "siguiente" si aparece un cuadro de dilogo acerca de una
prueba sobre el logotipo de Windows, haga clic en "Continuar".
Windows ahora instalar el controlador.
7. En el "Administrador de dispositivos", en "Puertos (COM & LPT)",
debera ver un puerto similar a "UNO Arduino (COM4)"

Captulo 1

Conocer sus herramientas


Va hacer un circuito sencillo con algunos interruptores,
un LED, y una resistencia
La electricidad es un tipo de energa, tanto como el calor, la gravedad, o
la luz. La energa elctrica fluye a travs de conductores, como el
alambre. Usted puede convertir la energa elctrica en otras formas de
energa para hacer algo interesante, como encender una luz o hacer
algo de ruido de un altavoz.
Los componentes que puede utilizar para hacer esto, son transductor
elctrico, como altavoces o bombillas. Los transductores cambian otros
tipos de energa en energa elctrica y viceversa. Las cosas que
convierten otras formas de energa en energa elctrica a menudo se
llaman sensores, y las cosas que convierten la energa elctrica en otras
formas de energa son a veces llamados actuadores. Usted har la
construccin de circuitos para mover la electricidad a travs de
diferentes componentes. Los circuitos son circuitos cerrados de alambre
con una fuente de alimentacin (como una batera) y algo que hacer til
con la energa, llamada carga.
En un circuito, la electricidad fluye desde un punto de mayor energa
potencial (por lo general referido como el poder o +) a un punto de
energa potencial ms baja. Planta (a menudo representada con un - o
GND) es generalmente el punto de energa menos potencial en un
circuito. En los circuitos que estn construyendo, la electricidad fluye
slo en una direccin. Este tipo de circuito se denomina corriente
continua, o DC. En la corriente alterna (AC) los circuitos de electricidad

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

cambia de direccin 50 o 60 veces por segundo (dependiendo de donde


usted vive). Este es el tipo de electricidad que proviene de una toma de
corriente.
Hay algunos trminos que usted debe conocer al trabajar con circuitos
elctricos. Actual (medida en amperios, o amperios; con el smbolo A) es
la cantidad de carga elctrica que fluye ms all de un punto especfico
en su circuito. Voltaje (medido en voltios; con el smbolo V) es la
diferencia de energa entre un punto en un circuito y otra. Y finalmente,
la resistencia (medida en ohmios; con el smbolo ) es la cantidad de un
componente que resiste el flujo de energa elctrica.
Una manera de imaginar esto es pensar en un desprendimiento de rocas
que va abajo de un acantilado, como se muestra en la figura 1. Cuanto
mayor sea el acantilado, ms energa tendr las rocas cuando llegan a la
parte inferior. La altura del acantilado es como el voltaje en un circuito:
cuanto mayor sea el voltaje en la fuente de energa, ms energa se est
llevando por el acantilado. El nmero de rocas es como la corriente en
un circuito elctrico. Las rocas pasan por arbustos en el lado del
acantilado, perdiendo algo de energa en el proceso, la energa se
consume para aplastar a los arbustos. Los arbustos son como
resistencias en un circuito, que ofrece resistencia al flujo elctrico y su
conversin en otras formas de energa

Figura 1

Es necesario que haya una ruta completa de la fuente de energa


(encendido) para el punto de menor energa (tierra) para hacer un

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

circuito si no hay camino para la energa para viajar, el circuito no


funcionar.
Toda la energa elctrica se utiliza en un circuito por los
componentes. Cada componente convierte parte de la energa en
otra forma de energa. En cualquier circuito, toda la tensin se
convierte en otra forma de energa (luz, calor, sonido, etc.).
El flujo de corriente en un punto especfico en un circuito siempre
ser el mismo que entra y que sale.
La corriente elctrica buscar el camino de menor resistencia a
tierra. Dos caminos posibles dado, ms de la corriente elctrica
que irn por el camino con menos resistencia. Si usted tiene una
conexin que conecta corriente y la tierra juntos con ninguna
resistencia, se causara un corto circuito, la fuente de alimentacin
y cables que convierten la energa elctrica en luz y en calor, por
lo general como chispas o una explosin.

Figura. 2

Qu es un tablero?
El tablero es el lugar primario para ir construyendo circuitos. La que
viene en el kit es sin soldadura, llamada as porque usted no tiene
que soldar nada, algo as como LEGO en formato electrnico. Las filas
horizontales y verticales de la placa, como se muestra en la figura 3,
llevan electricidad a travs de conectores metlicos delgados bajo el
plstico con agujeros.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

A travs de estos proyectos, vers dos puntos de vista de los


circuitos: uno en vista protoboard (como en la figura 5), que se ve
como las cosas en su kit. La otra es una vista esquemtica (como en
la figura 6), que es una forma ms abstracta de mostrar las
relaciones entre los componentes en un circuito. Los esquemas no
siempre muestran donde los componentes se colocan uno respecto al
otro, pero muestran cmo estn conectados.

Figura 5

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Figura 6

Sus primeros componentes


Un LED, o diodos emisores de luz, es un componente que convierte la
energa elctrica en energa luminosa. Los LEDs son componentes
polarizados, lo que significa que slo permiten que la electricidad

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

fluya a travs de ellos en una direccin. La pata ms larga en el LED


se llama nodo, se conectar a voltaje. La pata ms corta es un
ctodo y se conectar a tierra. Cuando se aplica voltaje al nodo del
LED, y el ctodo est conectado a tierra, el LED emite luz.
Una resistencia es un componente que resisten el flujo de energa
elctrica (ver la lista de componentes para obtener una explicacin
sobre las rayas de colores en el lado). Convierte parte de la energa
elctrica en calor. Si usted pone una resistencia en serie con un
componente como un LED, el resistor utilizar parte de la energa
elctrica y el LED recibir menos energa como resultado. Esto le
permite proporcionar la cantidad de energa que necesita cada
componente. Se utiliza una resistencia en serie con el LED para evitar
que recibir demasiada tensin. Sin la resistencia, el LED sera ms
brillante por unos momentos, pero se quemar rpidamente.
Un interruptor interrumpe el flujo de electricidad, rompiendo el
circuito cuando est abierto. Cuando un interruptor est cerrado, se
completar un circuito. Hay muchos tipos de interruptores. Los que
estn en su kit se llaman interruptores momentneos, o pulsadores,
ya que slo se cierran cuando se aplica presin.

Figura 7

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Construir el circuito
Figura 8

Su primer circuito interactivo, usando un interruptor, una resistencia


y un LED. Arduino es slo la fuente de alimentacin para este circuito;
en proyectos posteriores, podrs conectar sus pines de entrada y de
salida para controlar los circuitos ms complejos.

Figura 9

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Usted va a utilizar el Arduino en el proyecto, pero slo como una


fuente de poder. Cuando se conecta a un puerto USB o una batera de
9 voltios, el Arduino proporcionar 5 voltios entre su pasador de 5v y
su pin de tierra que puede utilizar.
1. Si su Arduino est conectado a una batera o un ordenador a
travs de USB, desconctelo antes de construir el circuito.
2. Conectar un cable rojo al pin de 5v en el Arduino, y poner el
otro extremo en una de las lneas de buses en su placa.
Conecte a tierra en el Arduino a la lnea de bs un alambre
negro. Es til para mantener su color alambre consistente (rojo
por el poder, negro para la tierra) a travs de su circuito.
3. Ahora que tiene voltaje en su tablero, coloque el conmutador a
travs del centro del tablero. El interruptor se sentar a travs
del centro en una direccin. La curva en las patas del punto de
conmutacin para el centro del tablero.
4. Utilizar una resistencia de 220 ohm para conectar la
alimentacin a un lado del interruptor. Las ilustraciones de este
libro utilizan 4 bandas. Su equipo puede tener una mezcla de
resistencia de 4 y 5 bandas. Utilice la ilustracin al lado para
comprobar el adecuado para este proyecto. Mira la pgina 41
para una explicacin detallada de los cdigos de colores para
resistencias.
En el otro lado del interruptor, conecte el ANODO (pata larga)
del LED. Un cable conctelo al ctodo (pierna corta) del LED a
tierra. Cuando est listo, conecte el cable USB en el Arduino.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Usarlo
Una vez que todo est preparado para ir, pulse el botn. Usted debe ver
la luz del LED. Felicidades, usted acaba de hacer un circuito. Una vez
que hayas cansado de pulsar el botn para encender la luz, es el
momento de cambiar las cosas mediante la adicin de un segundo
botn.

Circuitos en serie
Componentes en serie vienen uno tras otro
Una vez que haya eliminado la fuente de alimentacin agregar un
interruptor junto a la que ya est en su placa. Conectarlos entre s en
serie como se muestra en la fig.10. Conecte el nodo (pata larga) del
LED hasta el segundo interruptor. Conecte el ctodo del LED a tierra.
Encienda el Arduino nuevo: ahora para encender el LED, hay que pulsar
dos interruptores. Dado que estos son en serie, ambos deben ser
cerrados para que el circuito se complete.

Figura 10

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Circuitos en paralelo
Componentes en paralelo corren lado a lado
Ahora que usted ha dominado el arte de las cosas en serie, es hora de
cablear los interruptores en paralelo. Mantener a los interruptores y LED
donde se encuentran, pero eliminar la conexin entre los dos
interruptores. Alambre ambos interruptores a la resistencia. Conectar el
otro extremo de ambos interruptores al LED, como se muestra en la fig.
12. Ahora al pulsar cualquiera de los botones, el circuito se completa y la
luz se enciende.

Figura 11

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Captulo 2
Interfaz nave espacial
Su Arduino va a comenzar en una pelcula de ciencia
ficcin
Ahora que usted tiene los fundamentos de la electricidad bajo control, es
hora de pasar a controlar las cosas con Arduino. En este proyecto, que
ser la construccin de algo que podra haber sido una interfaz nave
espacial en una pelcula de 1970 de ciencia ficcin. Usted va a hacer un
panel de control fresco con un interruptor y las luces que se encienden
al pulsar el interruptor. Usted puede decidir si las luces significan
"Engage Hyperdrive" o "disparar los lseres". Un LED verde se enciende,
hasta que se pulse un botn. Cuando el Arduino recibe una seal desde
el botn, la luz verde se apagar y otras 2 luces comenzarn a
parpadear.
Los pines digitales de Arduino pueden leer slo dos estados: cuando hay
voltaje en un pin de entrada, y cuando no lo es. Este tipo de entrada es
normalmente llamado digital (o, a veces binario, para el personal de dos
estados). Estos estados se refieren comnmente como altas y bajas.
HIGH es lo mismo que decir "no hay tensin de aqu" y bajo significa "No
hay tensin en este pin". Al encender un pin a nivel alto de salida
usando un comando llamado digitalWrite (), que ests de encenderlo.
Mida la tensin entre el pasador y la tierra, obtendrs 5 voltios. Al
encender un pin SALIDA BAJA, ests apagando.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Los pines digitales de Arduino pueden actuar como entradas y salidas.


En su cdigo, podrs configurarlos en funcin de lo que quiere. Cuando
los pasadores son salidas, se puede encender componentes como LEDs.
Si configura los pines como entradas, se puede comprobar si se est
presionando o no un interruptor. Desde los pines 0 y 1 se utilizan para
comunicarse con el ordenador, lo mejor es comenzar con el pin 2.

Figura 1

1. Cablear tu protoboard a las conexiones de 5v y tierra Arduino, al


igual que el proyecto anterior. Colocar los dos LED rojo y un LED
verde en el tablero. Adjuntar el ctodo (pata corta) de cada LED a
tierra a travs de una resistencia de 220 ohmios. Conecte el nodo
(pata larga) del LED verde al pin 3. Conecte los LEDs rojos nodos
a los pines 4 y 5, respectivamente.
2. Colocar el interruptor en el tablero tal como lo hizo en el proyecto
anterior. Conecte un lado a voltaje, y el otro lado a pin digital 2 en
el Arduino. Usted tambin tendr que aadir una resistencia de
10k ohmios desde la tierra hasta el pasador de interruptor que se
conecta a la placa Arduino. Esa resistencia pull-down conecta el
pin a tierra cuando el interruptor est abierto, por lo que lee BAJA
cuando no hay tensin que entra por el interruptor.

El cdigo
Algunas notas antes de empezar

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Cada programa de Arduino tiene dos funciones principales. Las


funciones son partes de un programa de ordenador que se ejecutan
comandos especficos. Las funciones tienen nombres nicos, y son
"llamados" cuando sea necesario. Las funciones necesarias en un
programa de Arduino se llaman setup () y loop (). Estas funciones
deben ser declaradas, lo que significa que abra que le digas al Arduino lo
que estas funciones harn. Setup () y loop () se declaran como se ve
abajo.
En este programa, usted va a crear una variable antes de entrar en la
parte principal del programa. Las variables son nombres que asigne a los
lugares de la memoria del Arduino para que pueda realizar un
seguimiento de lo que est sucediendo. Estos valores pueden cambiar
en funcin de las instrucciones del programa.
Los nombres de variables deben ser descriptivos de cualquier valor que
estn almacenando. Por ejemplo, un switchstate llamado variable () le
dice lo que es las tiendas: el estado de un interruptor. Por otro lado, una
variable llamada "x" no te dice mucho acerca de lo que las tiendas.

Vamos a empezar la codificacin


Para crear una variable, es necesario declarar de qu tipo es. El tipo de
datos int celebrar un nmero entero (tambin llamado un entero); eso
es cualquier nmero sin coma decimal. Cuando se declara una variable,
por lo general da un valor inicial tambin. La declaracin de la variable
como cada declaracin debe terminar con un punto y coma (;).

Configurar la funcionalidad del pin


El setup () se ejecuta una vez, cuando el Arduino se enciende por
primera vez. Aqu es donde puede configurar los pines digitales para ser
entradas o salidas usando una funcin llamada pinMode (). Los pines
conectados a los LEDs sern los resultados y la clavija del interruptor
ser una entrada.

Crear la funcin de bucle


El loop () funciona de forma continua despus de que la setup () ha
completado. El loop () es donde se comprueba el voltaje en las entradas
y salidas de vuelta por intervalos. Para comprobar el nivel de tensin en
una entrada digital, se utiliza el digitalRead funcin () que comprueba el
pin elegido para la tensin. Para saber qu pines comprobar, digitalRead
() espera un argumento.
Los argumentos son datos que se pasa a la funcin, dicindoles cmo
deben hacer su trabajo. Por ejemplo, digitalRead () necesita un

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

argumento: el pasador para comprobar. En su programa, digitalRead ()


va a comprobar el estado de pin 2 y almacenar el valor en la variable
switchState.
Si hay tensin en el pin cuando digitalRead () es llamada, la variable
switchState obtendr el valor ALTO (o 1). Si no hay voltaje en el pin,
switchState obtendr el valor BAJO (o 0).

Construir sus naves espaciales


digitalWrite () es el comando que le permite enviar 5v o 0v a un pin de
salida. digitalWrite () toma dos argumentos: qu pin de controlar, y qu
valor para establecer que el pin, alto o bajo. Si desea desactivar los LEDs
rojo encendido y el LED verde apagado dentro de su declaracin if (), el
cdigo se vera as.

Void setup () {
}
Void loop () {
}
1. Int switchState = 0;
2. Void setup(){
3. pinMode(3, output);
4. pinMode(4, output);
5. pinMode(5, output);
6. pinMode(2, input);
7. }
8. Void loop(){
9. switchState=digitalRead(2);
10.
//para comentar
11.
If (switchState == LOW) {
12.
// no se presiona el botn
13.
digitalWrite(3, HIGH); // led verde
14.
digitalWrite(4, LOW); // led rojo
15.
digitalWrite(5, LOW); //led rojo
16.
else { //el botn es presionado
17.
digitalWrite(3, LOW);
18.
digitalWrite(4, LOW);
19.
digitalWrite(5, HIGH);

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

20.
21.
22.
23.
24.
25.
26.

delay(250); // se espera un cuarto de segundo


// alternar leds
digitalWrite4, HIGH);
digitalWrite(5, LOW);
delay(250); // se espera un cuarto de segundo
}
}// vuelve al principio del bucle

Usarlo
Una vez que su Arduino se programa, debera ver la luz verde
encendida. Cuando se presiona el interruptor, las luces rojas empiezan a
parpadear, y la luz verde se apagar. Intente cambiar el tiempo de los
dos delay (); cuenta de lo que ocurre con las luces y la forma en que la
respuesta del sistema cambia dependiendo de la velocidad del
parpadeo. Cuando se llama a un retraso () en el programa de gira, este
detiene toda otra funcionalidad. No lecturas del sensor va a pasar hasta
que haya pasado ese perodo de tiempo. Mientras que los retrasos son a
menudo tiles, al disear sus propios proyectos de asegurarse de que no
estn innecesariamente interfiriendo con su interfaz.

Cmo leer los cdigos de colores de


resistencias
Los valores de resistencia estn marcados usando bandas de colores, de
acuerdo con un cdigo desarrollado en la dcada de 1920, cuando ya
era demasiado difcil escribir nmeros en tales objetos diminutos.
Cada color corresponde a un nmero, como se ve en la tabla de abajo.
Cada resistencia tiene ya sea 4 o 5 bandas. En el tipo de 4 bandas, las
dos primeras bandas indican los dos primeros dgitos del valor mientras
que el tercero indica el nmero de ceros que seguir (tcnicamente
representa la potencia de diez). La ltima banda especifica la tolerancia:
en el ejemplo siguiente, el oro indica que el valor de la resistencia puede
ser 10k ohmios ms o menos 5%.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Captulo 3

Lobo metro
Convierte el Arduino en una mquina de amor. Usando una entrada analgica,
t registrars realmente que tan caliente estas.

Mientras qu4e los interruptores y botones son geniales, hay mucho ms


en el mundo fsico que el encendido y el apagado. Aun cuando Arduino
es una herramienta digital, es posible para esta obtener informacin de
sensores anlogos midiendo cosas como temperatura o luz. Para hacer
esto, tomaras ventaja del convertidor analgico a digital del Arduino
(ADC).
Anlogo en patas A0-A5 pueden mandar valores entre 0-1023, los cuales
asigna en un rango de 0 volts a 5 volts.
T estars usando un sensor de temperatura para medir que tan caliente
esta tu piel. Este componente de salida vara el voltaje dependiendo de
la temperatura que censa. Tiene tres patas, una que se conecta a tierra,
otra que se conecta a voltaje y una tercera que manda un voltaje
variable a tu Arduino. En el bosquejo para este proyecto, t leers la
salida del sensor y la usaras para prender y apagar leds, indicando que
tan caliente ests. Hay muchos modelos diferentes de sensores de
temperatura. Este modelo, el TMP36, es conveniente porque manda un
voltaje que cambia directamente proporcional a la temperatura en
grados Celsius.
El ardruino ID viene con una herramienta llamada el monitor de serial
que te permite reportar los resultados de un microcontrolador. Usando el
monitor de serial, t puedes obtener informacin acerca del estatus del
sensor, y obtener una idea de acerca de que est pasando en tu circuito
y cdigo mientras corre

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

En este proyecto, t necesitas checar la temperatura del ambiente del


cuarto antes de proceder. T estars checando cosas manualmente justo
ahora, pero esto tambin puede ser complementado a travs de
calibracin. Es posible usar un botn para colocar una temperatura base,
o para hacer que el Ardruino tome una muestra antes de empezar el
Loop () y usarlo como un punto de referencia. El proyecto 6 tiene
detalles acerca de esto, o t puedes mirar el ejemplo de calibracin que
viene ligado con el software de Ardruino
Crear una interface para tu sensor para interactuar con personas. Cortar
un papel en la forma de una mano es un buen indicador. Si te sientes
suertudo, crea un conjunto de labios para besar a alguien, ve que
tambin esas luces se encienden. T probablemente tambin quieres
etiquetar los leds para darles algn significado. Puede ser que un led
signifique que tu eres un pez frio, 2 leds significan que eres clido y
amigable, y 3 leds significa que tu eres tan caliente como una vela.
1. Corta una pieza de papel que encajar sobre la protoboard dibuja
un juego de labios donde el sensor estar, y corta algunos crculos
para que los leds pasen a travs de ellos.
2. Coloca el recorte sobre la protoboard para que los labios cubran el
sensor y los leds encajen en los agujeros. Presiona los labios para
ver qu tan caliente estas

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Un par de constantes tiles.


Constantes son similares a las variables en las cuales ellas te
permiten nombrar cosas nicas en el programa, pero a diferencia
de las variables ellas no pueden cambiar. Nombra la entrada
analgica para una referencia fcil y crea otra llamada constante
para sostener la temperatura de base.
Para cada 2 grados encima de esta base, un led se encender.
T ya has visto la base de datos, usada aqu para identificar cual
pata del sensor est encendida. La temperatura est siendo
almacenada como un flotante o un nmero de punto flotante. Este
tipo de nmero tiene un punto decimal, y es usado para nmeros
que pueden ser expresados como fracciones.
Inicializar el puerto serial a la velocidad deseada
En la preparacin tu usars un nuevo comando, serial begin ().
Este abrir una conexin entre el Ardruino y la computadora, as tu
podrs ver los valores desde una entrada analgica en la pantalla
de tu computadora.
El argumento 9600 es la velocidad a la cual el ardruino se
comunicara, 9600 bits por segundo tu usaras el monitor de serial
del ardruino ID para ver la informacin que tu escogiste para
mandar desde tu microcontrolador. Cuando tu abres el monitor de
serial del ID verifica que el rango es 9600.
Inicializar la direccin de la pata digital y apagarla
Los siguiente es un for () bucle para establecer algunas patas
como salidas. Estas sern las patas a las que t adjuntaste los leds

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

antes. En lugar de darles un nombre nico y escribir el pinMode ()


funcin para cada uno, tu puedes usar un for () bucle para ir a
travs de ellos rpidamente. Este es un atajo si t tienes grandes
nmeros similares que tu deseas iterar a travs de tu programa.
Dile al for () bucle correr a travs de las patas 2 a la 4
secuencialmente.
Leer la temperatura del sensor
En el loop () tu usaras una variable local llamada sensorval para
almacenar las lecturas de tu sensor. Para obtener el valor del
sensor, t llamaras analogRead () que tomara un argumento:
que pin deber tomar un voltaje para leer. El valor, el cual est
entre 0 y 1023, es una representacin del voltaje en el pin.
Enviar el valor del sensor de temperatura a la computadora.
La funcin serial.print () manda informacin del ardruino a la
computadora conectada. T puedes ver esta informacin en tu
monitor serial. Si te da serial.print () un argumento en comillas,
mostrar el texto que tu escribiste. Si t das una variable como un
argumento, mostrara el valor de esa variable
Convertir la lectura del sensor en voltaje
Con un poco de matemticas, es posible averiguar el voltaje real
sobre la pata. El voltaje ser un valor entre 0 y 5, y tendr una
parte fraccional (por ejemplo, puede ser 2.5 volts), asi tu
necesitaras almacenarla dentro de un float. Crea una variable
llamada voltaje para guardar este nmero. Divide sensorVal entre
1024.0 y multiplcalo por 5. El nuevo nmero representa el voltaje
en la pata.
As como con el valor del sensor, t imprimirs esto en el monitor
de serial.
Convertir el voltaje a temperatura y enviar el valor a la
computadora.
Si t examinas la hoja de datos del sensor, hay informacin acerca
del rango de voltaje de salida. Las hojas de datos son como
manuales para componentes electrnicos. Ellas estn escritas por
ingenieros, para ingenieros. La hoja de datos de este sensor
explica que por cada 10 milis volts de cambio del sensor es
equivalente a un cambio de temperatura de 1 grado Celsius.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Tambin indica que el sensor puede leer temperaturas por debajo


de los 0 grados. Es por esto que t necesitars crear un offset para
valores por debajo del congelamiento (0 grados). Si t tomas el
voltaje, sustrae 0.5, y multiplica por 100, t obtendrs la
temperatura exacta en grados Celsius. Almacena este nuevo
nmero en una variable de punto flotante llamada temperatura.
Ahora que t tienes la temperatura real, imprime tambin eso en
el monitor de serial. Desde que la variable temperatura es la
ltima cosa que t estars imprimiendo en este bucle, t vas a
usar un comando diferente de sealamiento. Serial.print (). Este
comando crear una nueva lnea el monitor serial despus de que
se manda el valor. Esto ayuda a hacer las cosas ms fciles para
leer cuando tus estas imprimiendo algo.
Apaga los leds para una temperatura baja.
Con la temperatura real, tu puedes establecer un if ()else
enunciado para iluminar los leds. Usando la lnea de base de
temperatura como punto de inicio, t encenders un led por cada
3 grados de incremento de temperatura sobre la lnea de base. T
estars buscando un rango de valores as como t te muevas a
travs de la escala de temperatura.

Enciende un led con baja temperatura


El && operador significa and (y) en sentido lgico. Tu puedes checar
para mltiples condiciones si la temperatura es 2 grados mayor que la
base y si es menor que 4 grados sobre la base.

Enciende 2 leds si la temperatura es media


Si la temperatura esta entre 2 y 4 grados la base, este bloque de
cdigos enciende as tambin el led en la pata 3.

Enciende 3 leds para una temperatura alta


El convertidor analgico a digital puede solo leer muy rpido, por lo que
deberas poner un pequeo retardo en el final de tu loop () . Si tu lees
del muy frecuentemente, tu valores te aparecern errticos

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Con el cdigo cargado al Arduino selecciona el icono de monitor de


serial. Tu deberas ver una serie de valores viniendo en esta forma:
Sensor: 200. Volts: .70, degrees C. 17
Prueba poniendo tus dedos alrededor del sensor mientras est
conectado en la protoboard y ve que ocurre con los valores en el monitor
de serial. Haz una nota de que temperatura es cuando el sensor es
dejado al aire libre.
Cierra el monitor de serie y cambia la constante de la lnea base de
temperaturaent u programa a los valores que t observaste. Carga tu
programa otra vez y trata de sostener el sensor en tus dedos. As como
la temperatura aumenta, t deberas de ver los leds encenderse uno por
uno. Felicitaciones, cosa caliente!!

Captulo 4

MEZCLA DE COLORES EN LAMPARAS


Parpadear LEDs puede ser divertido, pero qu pasa
con el desvanecimiento, o la mezcla de colores? Es de
esperar que es slo una cuestin de proporcionar
menos voltaje a un LED para conseguir que se
desvanecen.
El Arduino no puede variar la tensin de salida en sus pines, slo puede
salida de 5V Por lo tanto usted tendr que usar una tcnica llamada
modulacin de ancho a desvanecerse (PWM) a desvanecerse LED
PWM convierte rpidamente en el pin de salida de alta y baja durante un
perodo fijo de tiempo. El cambio se produce ms rpido que el ojo
humano puede ver. Es similar a la forma en que las pelculas de trabajo,
de forma rpida a parpadear una serie de imgenes fijas para crear la
ilusin de movimiento.
Cuando se est convirtiendo rpidamente en el pin de ALTA y BAJA, es
como si estuviera cambiando el voltaje. El porcentaje de tiempo que un
pin es alto en un perodo se denomina "ciclo de trabajo". Cuando el pin
es ALTO para la mitad del perodo y BAJO para la otra mitad, el ciclo de
trabajo es del 50%. Un ciclo de trabajo inferior le da un LED ms dbil
que un ciclo de trabajo superior.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

El Arduino Uno tiene seis pines reservados para PWM (pines digitales 3,
5, 6, 9, 10 y 11), que puede ser identificado por el - al lado de su nmero
en el tablero.
Para las entradas de este proyecto, que va a utilizar foto resistores
(sensor que cambia su resistencia en funcin de la cantidad de luz que
les llega, tambin conocido como fotoclulas o luz - Resistencias
dependientes). Si conecta un extremo de la resistencia a que Arduino, se
puede medir el cambio en la resistencia mediante la comprobacin de la
tensin en el pin.
1) Cablear su tablero por lo que tiene la energa y la tierra en ambos
lados, slo los proyectos anteriores.
2) Colocar los tres fotorresitores en el tablero para que crucen la brecha
central de un lado a otro, como se muestra en la Fig. 1. Conecte un
extremo de cada fotoresistora la energa. Una el otro lado, adjunte una
resistencia de 10 k Ohm a tierra. Esta resistencia est en serie con la
fotorresistencia, y juntos forman un divisor de tensin. La tensin en el
punto donde se juntan es proporcional a la relacin de sus resistencias,
de acuerdo con la Ley de Ohm (ver Proyecto 1 para ms informacin
sobre la Ley de Ohm). A medida que la resistencia de la fotorresistencia
cambia cuando la luz golpea, la tensin en este cruce cambia tambin.
En el mismo lado de la resistencia, conecte los foto resistores a
analgico en los pines 0, 1 y 2 con cable de conexin.
3) Tome los tres geles de colores y colocar uno encima de cada uno de
los foto resistores. El gel de color rojo sobre la fotorresistencia conectada
a A0, el verde sobre el que est conectado a A1, y el azul sobre el que
est conectado a A2. Cada uno de estos filtros permite slo la luz de una
determinada longitud de onda a travs de la sonda que est cubriendo.
El filtro rojo slo permite el paso de luz roja, el filtro verde pasa slo la
luz verde y el filtro azul pasa esta nica luz. Esto le permite detectar los
niveles de color relativos en la luz que incide en el sensor.
4) El LED con 4 patas es un ctodo comn RGB LED. El LED rojo tiene
separad0, verde, y los elementos azules dentro, y uno de tierra (el
ctodo). Mediante la creacin de una diferencia de voltaje entre el
ctodo y la tensin que sale de los pines PWM del Arduino (que
estn conectados a los nodos a travs de 220 ohmios de
resistencia), causa que el LED cambie entre sus tres colores.
Tome nota de cual pin es el ms largo en el LED al colocarlo en
su tablero, y conectar esa clavija a tierra. Conecte los otros tres
pines a los pines digitales 9, 10 y 11 en serie con resistencias de
220 ohmios. Asegrese de conectar cada cable de LED al pin PWM
CORRECTO, de acuerdo con la figura de la izquierda.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Fig.1

Fig. 2

Fig. 3

EL CODIGO

CONSTANTES TILES. Configure las constantes para los pasadores que


est utilizando para la entrada y salida, para que pueda realizar un
seguimiento de qu pares de sensores con los que el color en el LED.
VARIABLES PARA ALMACENAR LAS LECTURAS DE LOS SENSORES, AS
COMO EL NIVEL DE LUZ DE CADA LED. Aadir las variables de los valores
de los sensores de entrada y de los valores de salida podrs usar a
desvanecerse el LED. Usted puede utilizar el tipo de datos int para todas
las variables.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

ESTABLECIMIENTO DE LA DIRECCIN DE LOS PINES DIGITALES Y LA


CONFIGURACIN DEL PUERTO SERIE. En la configuracin (), comenzar
la comunicacin en serie a 9600 bps. Al igual que en el ejemplo anterior,
que va a utilizar esto para ver los valores del sensor en el monitor serie.
Adems, usted ser capaz de ver los valores asignados que utilizar
para desaparecer el LED. Tambin, definir los pines LED como salida con
pinMode ().
LEYENDO EL VALOR DE CADA SENSOR DE LUZ. En el bucle () leer los
valores de los sensores en AO, A1 y A2 con analogRead () y almacenar
el valor en las variables apropiadas. Ponga una pequea demora ()
entre cada analogRead () como el ADC toma un milisegundo para
hacer su trabajo.
INFORMAR LAS LECTURAS DE LOS SENSORES A LA COMPUTADORA.
Imprimir los valores de los sensores en una lnea. El "\ t" es el
equivalente a pulsar la tecla "tab" en el teclado.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

CONVERSIN DE LAS LECTURAS DE LOS SENSORES. La funcin para


cambiar el brillo de los LED a travs de PWM se llama analogWrite ().
Se necesita dos argumentos, el PIN para escribir y un valor entre 0: 255.
Este segundo nmero representa el ciclo de trabajo generar la salida de
Arduino en el pin especificado. A valores de 295 fijarn el pin ALTA todo
el tiempo, haciendo que el LED conectado tan brillante como lo puede
ser. Un valor de 127 se ajuste al pin alto en medio tiempo del perodo,
hacindolo con un regulador de intensidad de LED. O establecera el pin
bajo todo el tiempo, apagando el LED. Para convertir la lectura del
sensor desde un valor entre 0-1023 a un valor entre 0-253 para
analogWrite (), dividir la lectura del sensor por 4.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

REPORTAR LOS NIVELES DE LUZ LED CALCULADOS. Imprimir los nuevos


valores asignados en su propia lnea.
AJUSTAR LOS NIVELES DE LUZ LED

USARLO
Una vez que haya programado su Arduino y por cable, abra el monitor
serie. El LED probablemente ser de un color blanquecino, segn el color
predominante de la luz en su habitacin. Mira los valores provenientes
del sensor en el monitor de serie, si usted est en un entorno con una
iluminacin estable el nmero probablemente debera ser bastante
consistente.
Apague la luz de la habitacin en que est y ver qu pasa con los
valores de los sensores. Con una linterna iluminar cada uno de los
sensores de forma individual y el aviso de cmo los valores cambian en
el monitor serie, y observe cmo cambian de color los LED. Cuando los
foto resistores estn cubiertos con un gel que slo reaccionan a la luz de
una determinada longitud de onda. Esto le dar la oportunidad de
cambiar cada uno del color de forma independiente.

Usted puede notar que la produccin de la fotorresistencia no cubre


todo el camino desde 0 a 1023. Eso est bien para este proyecto, pero

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

para una explicacin ms detallada de cmo calibrar para el rango que


ests leyendo, ver proyecto 6.
Probablemente se dar cuenta de que el desvanecimiento del LED no es
lineal. Cuando el LED es aproximadamente a la mitad de brillo, que
parece dejar de recibir mucho ms brillante. Esto se debe a que nuestros
ojos no perciben brillo linealmente. El brillo de la luz depende no slo en
el nivel que analogWhrite (), sino tambin de la distancia de la luz
desde el difusor, la distancia del ojo de la luz y el brillo de la luz en
relacin con otra luz en la habitacin.
Cmo puedes usar esto para dejarle saber si es un buen da fuera
mientras se est trabajando en el interior? Qu otro tipo de sensores se
puede utilizar para controlar el color del LED?

El LED en s misma es bastante limpio, pero no es mucho de una


lmpara. Sin embargo, hay un nmero de diferentes maneras en que
puede difundir la luz para hacer que se asemejan a algo as como una
incandescente tradicional. Una pelota de ping pong con un agujero
cortado para el LED se deslice en hace un buen difusor. Otras formas
incluyen cubrir la luz con pegamento traslucido, o lijar la superficie de la
luz. No importa qu camino tomar, te vas a perder al menos un poco de
brillo cuando se difunde, pero probablemente se ver mucho mejor.
Ya no se limita a slo encender las luces de encendido y apagado, ahora
tiene control sobre cmo ser algo brillante u opaca, analogWhrite ()
es la funcin que permite a los componentes PWM conectados a los
pines 3, 5, 6, 9, 10 o 11 , variando el ciclo de trabajo.

Captulo 5

Estado de nimo
Usar un servo motor para hacer un indicador mecnico de punto fuera
dependiendo del estado en que ests
Los servomotores son un tipo especial de motor que no gira alrededor
de un crculo, sino que se mueven a una posicin especfica y
permanecer all hasta que se les indique a moverse de nuevo.
Un Servo normalmente slo girar 180 grados (una media de un crculo).
Combinando uno de estos motores con una pequea pieza de cartn,
podrs dar a conocer si deben venir y pedir su ayuda en su prximo
proyecto o no.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

De manera similar a la forma en que utiliz pulsos PWM a un LED en el


Proyecto de la lmpara mezcla de colores, los servomotores esperan un
nmero de impulsos que les indican qu ngulo para pasar. Los pulsos
siempre vienen en los mismos intervalos de tiempo, pero la anchura
vara entre 1.000 y 2.000 microsegundos. Si bien es posible escribir un
cdigo para generar estos pulsos el software Arduino viene con una
biblioteca que le permite controlar fcilmente el motor.
Debido a que el servo slo gira 180 grados, y su entrada analgica va
desde 0 - 1023 tendr que utilizar una funcin llamada mapa () para
cambiar la escala de los valores que vienen del potencimetro.
Una de las mejores cosas de la comunidad Arduino son las personas con
talento que extienden su funcionalidad a travs de software adicional. Es
posible que cualquiera pueda escribir bibliotecas para extender la
funcionalidad de la Arduino. Hay bibliotecas para una amplia variedad de
sensores y actuadores y otros dispositivos. Una biblioteca de software se
expande la funcionalidad de un entorno de programacin. El software
Arduino viene con un nmero de bibliotecas que son tiles para trabajar
con hardware o datos. Una de las bibliotecas incluidas est diseada
para su uso con servomotores. En su cdigo, se puede importar la
biblioteca, y toda su funcionalidad estar disponible para usted

Construir el circuito
1) Conecte 5v y la tierra a un lado de su tablero del Arduino
2) Colocar un potencimetro en el tablero, y conecte un lado a 5v, y el
otro a tierra. Un potencimetro es un tipo de divisor de tensin. A
medida que gira la perilla, cambia la relacin de la tensin entre el pin
central y energa. Usted puede leer este cambio en una entrada
analgica. Conecte el pin central para pin analgico 0. Esto controlar la
posicin de su servomotor.
3) El servo tiene tres cables que salen de ella. Uno de ellos es la energa
(rojo), uno es de tierra (negro), y el tercero (blanco) es la lnea de control
que recibir la informacin de Arduino Plug tres conectores macho en
los extremos hembra del servo (ver fig. 3). Conecte las cabeceras
(headers) para tu protoboard para que cada pin est en una fila
diferente. Conecte 5v al cable rojo, tierra al cable negro y el cable blanco
al pin 9.
4) cuando un servomotor empieza a moverse, se basa ms corriente que
si ya estuviera en movimiento. Esto causar una cada de la tensin en
su tablero. Al colocar un condensador de 100uF a travs de corriente y la
tierra que entre en su potencimetro. Estos se llaman condensador de
desacoplamiento debido a que reducen o desacoplan, cambios causado

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

por los componentes del resto del circuito. Tenga mucho cuidado para
asegurarse de que se est conectando el ctodo a tierra (que es el lado
con una raya negro por el lado) y el nodo a energa. Si pones los
condensadores al revs, pueden explotar.

Fig. 1 Construccin del circuito

Fig. 2

Fig. 3. Su servomotor viene con conectores hembra por lo que tendrs


que aadir contactos macho para conectarlo a la protoboard

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

El cdigo
Importacin de biblioteca

Para utilizar la biblioteca servo, primero tendr


que importarlo. Esto hace que las adiciones de
biblioteca disponibles para su esquema.
Creacin del objeto Servo
Para referirse al servo que vas a tener que crear
una instancia con nombre de la biblioteca de
servo en una variable. Esto se conoce como un
objeto. Al hacer esto, usted est haciendo un
nombre nico que tendr todas las funciones y
posibilidades que ofrece el servo de la biblioteca.
A partir de ahora en el programa, cada vez que se
refieren a mi Servo estars hablando con el
objeto servo.
Declaracin de variables
Configurar una constante llamada para el pasador
del potencimetro se une a, y variable para
contener el valor de entrada analgica y el ngulo
que desea que el servo se mueva a.
Asociar el objeto Servo con el pin En la puesta en marcha() usted va a necesitar
de Arduino, inicializar el puerto decirle a Arduino que pin del servo est
serie
conectado.
Incluya una conexin en serie para que pueda
comprobar los valores del potencimetro y ver la
forma en que se asignan a los ngulos en el
servomotor.
Leyendo
el
valor
del En el bucle (), leer la entrada analgica e
potencimetro
imprimir el valor al monitor serie
Mapeo
de
potencimetro
servo

valor
del Para crear un valor utilizable para el servo motor
a los valores de su entrada analgica, es ms fcil utilizar la
funcin mapa (). Esta prctica funcin escala
nmeros por usted. En este caso se va a cambiar
valores entre 0-1023 a valores entre 0-179. Se
necesita cinco argumentos, el nmero a puede
escalar (aqu es potVal), el valor mnimo de la
entrada (0), el valor mximo de la entrada
(1023), el valor mnimo de la salida (0), y el valor
mximo de la salida (179). Guarde este nuevo
valor en la variable de ngulo.
A continuacin, imprima el valor asignado al
monitor serie.
Al girar el servo
Por ltimo, es el momento de mover el sevo. El
comando escribir servo () mueve el motor al
ngulo especificado. Al final del bucle () se pone

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

un retraso de modo que el servo tiene tiempo


para mover a su nueva posicin.

Usarlo
Una vez que su Arduino se ha programado y encendido, abra el monitor
serie. Usted debe ver una corriente de valores similares a esta:
potVal : 1023, angle : 179

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

potVal : 1023, angle : 179

Cuando se activa el potencimetro, debera ver los nmeros cambiar.


Ms importante an, usted debe ver que su servo motor pas a una
nueva posicin. Note la relacin entre el valor de potVal y el ngulo en el
monitor de serie y la posicin del servo. Usted debe ver resultados
consistentes a medida que gira el pot.

Una cosa buena acerca del uso de potencimetros como entradas


analgicas es que ellos le darn una amplia gama de valores entre 0 y
1023. Esto los hace tiles en proyectos de pruebas que utilizan la
entrada analgica.

Los servomotores son motores regulares con un nmero de marchas y


algn
circuito
interior.
La
mecnica
interior
proporciona
retroalimentacin al circuito por lo que siempre es consciente de la
posicin. Si bien puede parecer que se trata de un rango limitado de
movimiento, es posible conseguir que se haga una amplia variedad de
diferentes tipos de movimientos con algunos mecanismos adicionales.
Hay una serie de recursos que describen los mecanismos en detalle
como robives.com/mechs o el libro Making Things por Dustyn Roberts.

El potencimetro no es el nico sensor que puede utilizar para controlar


el servo. Utilizando la misma configuracin fsica (una flecha que apunta
a una serie de diferentes indicadores) y un sensor diferente, Qu tipo
de indicador puede usted hacer? Cmo funcionara esto con la
temperatura (como en el Love-o-Meter)? Podra decir la hora del da con
una fotorresistencia? De qu valores de asignacin entran en juego con
ese tipo de sensores?
Los servomotores pueden ser fcilmente controlados por
Arduino usando una biblioteca, que es una coleccin de cdigo
que se extiende un entorno de programacin. A veces es para
cambiar la finalidad de los valores mediante la asignacin de
ellos de una escala a otra.
Ahora que ya est en marcha y funcionando, es el momento para que la
gente sepa si usted est disponible para ayudarles en sus proyectos, o si
quiere que lo dejen solo planear su prxima creacin.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Con unas tijeras, corte un pedazo de cartn con la forma de una flecha.
Coloque el servo a 90 grados (comprobar el valor del ngulo en el
monitor serie si no est seguro). Colocar cinta en la flecha, de modo que
est orientado en la misma direccin que el cuerpo del motor. Ahora
usted debera ser capaz de girar la flecha 180 grados cuando se gira el
potencimetro. Tome un pedazo de papel que es ms grande que el
servo con la flecha adjunta y dibuja un semicrculo en l. En un extremo
del crculo, escribir "Stay Out". En el otro extremo, escriba "Come in".
Ponga "Knock please en el medio del arco. Coloque el servo con la
flecha en la parte superior del papel. Felicidades, tienes una manera de
decirle a la gente lo ocupado que est con sus proyectos.

Earvin Josafat Ortiz Aguilar y Raymundo vila Espinosa

Das könnte Ihnen auch gefallen