0% encontró este documento útil (0 votos)
140 vistas52 páginas

LibroRobotica Programacion

Cargado por

Elena
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
140 vistas52 páginas

LibroRobotica Programacion

Cargado por

Elena
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 52

PROGRAMACIÓN Y ROBÓTICA TEMPRANA

electrónica y arduino
PROGRAMACIÓN Y ROBÓTICA TEMPRANA
SOCIEDAD LATINOAMERICANA DE CIENCIA Y TECNOLOGÍA APLICADA
Manuel Fernando Guzmán Muñoz Uriel García Gopar

ELECTRÓNICA
JULIO DE 2016
Programación y Robótica Temprana

Primera edición: julio 2016 AGRADECIMIENTOS


D.R. 2016 Manuel Fernando Guzman Muñoz
A mi Familia que es parte de este proceso.
Comentarios sobre la edición y el contenido de este libro a A los Docentes y Estudiantes que han participado en SOLACYT y su contribución ha
[email protected] abonado en nuestro crecimiento.
A todos aquellos que no les gusta que les enseñen, pero les encanta aprender, este
Queda rigurosamente prohibida, sin autorización escrita de los es su libro, ustedes ponen las reglas y el límite.
titulares del copyright, bajo las sanciones establecidas por las A todo aquel que tiene una idea y no descansará hasta lograrla.
leyes, la reproducción total o parcial de esta obra por cual- A aquellos grandes que han dejado huella en este mundo y me han inspirado; LD,
quier medio o procedimiento, comprendidos la reprografía, el MG, AH, NB, EG, LDC, MC, PM, CC, SA, BG, MZ, SJ, PV, EZ, SM, FC.
tratamiento informático, así como la distribución de ejemplares
de la misma mediante alquiler o préstamos públicos. Porque este mundo es cada vez más digital y no todos somos ingenieros, agradecido
por la oportunidad de documentar los primeros pasos para aquellos curiosos de los
Impreso en México / Printed in Mexico cables y el funcionamiento de las maquinas.

CRÉDITOS
M. Fernando Guzmán Muñoz
AUTORES
Manuel Fernando Guzmán Muñoz A mis padres que me enseñaron a superar todas las adversidades.
Uriel García Gopar A mi amigo Fernando por su apoyo, amistad y la oportunidad de acompañarlo en
este proyecto.
APOYO EN ELECTRÓNICA A mis compañeros y amigos de trabajo que gracias a su esfuerzo, alegría y apoyo
Itzel Cristal Canseco Jiménez han hecho que este libro se haga realidad.
A esos amigos que ya no están pero que me dejaron mucho; me dejaron costumbres,
APOYO EN ARDUINO formas de comer, de hablar, de pensar y hasta de actuar, me dejaron lo mejor que
Victor Hugo Sánchez Trejo puede existir… Muchos recuerdos.

ILUSTRACIÓN Y PORTADA Uriel García Gopar


Paulina Garza Díaz
Estimados lectores: PRÓLOGO
En la actualidad, los temas relacionados con la ciencia, la tecnología y la innovación to-
man un rol de gran importancia en la sociedad del conocimiento, ya que en las últimas ¿Qué tal que pudieras dotar a tu robot, con No obstante, esta limitante no le quita lo diver-
décadas, y cada vez más y más, se vuelve necesario el empaparse y adentrarse a este todos los sentidos y acciones que posees? La- tido; y hasta el reto de que, una vez dentro de
apasionante mundo de descubrimientos, aprendizaje y aplicación de conocimientos. mentablemente para la tecnología, igualar la este mundo, propongas un robot que se acer-
naturaleza es muy complicado, encontrar un que lo más posible al comportamiento natural
Es para los jóvenes, a quienes va dirigido este libro, una gran oportunidad de relacio- componente que le permita interactuar al ro- de cualquier ser vivo.
narse con la electrónica y la robótica, de ser parte activa de estos temas a través de las bot con los fenómenos físicos con la misma ca-
prácticas propuestas y explorar de este fascinante mundo. lidad, rapidez, fidelidad y eficiencia requiere A modo de inicio a este fascinante mundo en
de más trabajo del que imaginas; aun hoy, la este libro vamos a hacer uno de los robots más
El Dr. Manuel Fernando Guzmán Muñoz, Presidente de la Sociedad Latinoamericana de cámara con la mayor cantidad de pixeles no divertidos y recurrentes en las competencias
Ciencia y Tecnología (SOLACYT) así como el Ing. Uriel García Gopar, cuentan con una puede igualar la fidelidad de una buena vista de robótica y este es nada más ni nada menos
gran experiencia en este tema, pero no sólo en la teoría, sino más allá, en el campo de humana. Los componentes electrónicos comer- que un “Seguidor de Línea”, en este caso, lo
la divulgación del conocimiento, de la realización de eventos de gran prestigio para ciales se enfocan primero en algún fenómeno que hace es “ver” por medio de unos sensores
niños y jóvenes, que sin duda aseguran la calidad de los temas propuestos. físico en específico (temperatura, color, distan- una línea ya sea blanca o negra y seguir el ca-
cia, sonido etc) y de ahí eligen un rango de mino mediante el uso de motores.
En fin, se trata de una verdadera invitación a recorrer el libro desde inicio a fin, disfrutan- operación. Es común encontrar en la hoja de
do plenamente de su contenido y sumando el aprendizaje adquirido a nuestra cultura datos de un sensor cosas como: Una vez que hayamos dominado estos conoci-
científica, por la que tanto ha apostado el autor. mientos, avanzaremos a la electrónica digital
¿Puedo trabajar de 0°C a 300°C? con apoyo de nuestro amigo Arduino, una po-
Atentamente derosa placa de circuitos y una de las iniciati-
¿Puedo distinguir rojos? vas más populares para aprender programa-
M.C. Roberto F. Hidalgo Rivas ción y electrónica.
¿Puedo moverme hasta un kilómetro
Presidente MILSET de distancia?
Coord. General de la RED Nacional de Actividades Juveniles en Ciencia y Tecnología.

¿Puedo escuchar hasta treinta


decibeles?
ÍNDICE
Resistencia eléctrica 16

Voltaje e Intensidad eléctrica 19

Ley de Ohm 23

Serie y paralelo 29

Motor 33 “Quien hace electrónica, aplica física”


Itzel Cristal Canseco Jiménez
Transistor 35

Sensores 40

Mi primer Robot 46

Recortable 53

Referencias 97
Materiales a usar Componentes Electrónicos
Conoce el aspecto físico, el símbolo y la función básica de los componente electrónicos que usaras
Nombre Cantidad Nombre Cantidad durante la lectura de este libro.

Protoboard 1 Pulsador 2 Aspecto Nombre Símbolo Función


Bateria 9V 1 Resistencia
Pila AA 220 Ω 7
4 Almacena energía eléctrica para generar corriente de
1K Ω 4
Batería
Pila AAA 4 2.2K Ω 2 electrones en los circuitos.

Portapilas 4 Pilas AA 1 330 Ω 4


10K Ω 2
Portapilas 4 Pilas AAA 1 47K Ω 2
Switch 1 Diodo Un LED es una clase especial de diodo, que emite luz
Potenciometro cuando fluye una corriente a través de él. Tiene dos
LED 5 emisor
22KΩ 1 terminales llamadas Anodo y Cátodo.
de luz El cátodo es indicado por un lado plano en la cubierta
LED ROJO 1 100k Ω 1 (LED) de plástico del LED, o por un terminal más corto.
10k Ω 1
Imán de neodimio 1
Transistor Sensores de luz
2
1 CNY70
2N222 Resistencias Una resistencia o resistor limita o controla la corriente
que fluye a través de un circuito, presentando una opo-
BC557 2 Arduino 1
o Resistores
sición o resistencia al paso de la corriente.
BC547 4
Cable USB 1
Motor de
1
corriente directa Display LCD 2X16 1
Motorreductor Un Potenciómetro es una resistencia variable, cuyo va-
2 Potenciómetro
Alambre de cobre 2 metros lor depende de la posición de su eje móvil.
Llanta 2
Llanta loca 1 Cabe UTP

13
Componentes Electrónicos
Conoce el aspecto físico, el símbolo y la función básica de los componente electrónicos que usaras
durante la lectura de este libro.
Protoboard
Aspecto Nombre Símbolo Función
¿Qué es una protoboard (breadboard)? armar circuitos. Como su nombre lo indica, esta
Un Switch es un dispositivo que abre o cierra un circuito tableta sirve para experimentar con circuitos.
Interruptor, eléctrico. O mejor conocido como proto , es una especie No necesita soldar nada para montar los com-
Switch o Los switchs pueden tener dos o más terminales. de tablero con orificios, en la cual se pueden in- ponentes encima, es como un juego de LEGO
Suiche en formato electrónico.
sertar componentes electrónicos y cables para

NPN
El transistor es un componente utilizado para controlar
Los 5 agujeros de cada fila Las filas verticales y horizontales de Las tiras verticales que recorren toda
corrientes grandes por medio de corrientes pequeñas.
horizontal están conectados la placa de pruebas, conducen la la longitud de la placa está eléctri-
Por tal motivo, puede ser usado como un amplificador
Transistor eléctricamente a través de las electricidad a través de los conte- camente conectada. Estas tiras se
de corriente.
tiras de metal en el interior de nedores de material fino que hay suelen usar para las conexiones de
De acuerdo a su fabricación, los transistores pueden ser
PNP la placa de pruebas. debajo del plástico con agujeros. alimentación y masa.
PNP ó NPN.

Pequeño motor reductor de engranaje y variador de Bus de La fila del medio


Motorreductor
M velocidad que se utiliza en proyectos de robótica ge-
neralmente seguidor de linea y sumobot.
alimentación rompe la conexión
entre los dos lados

10

15

20

25

30

35

40

45

50

55

60
1

5
J

J
de la placa.

I
F G H

F G H
A B C D E

A B C D E
Área de
Sensor de infrarrojos de corto alcance basado en un

10

15

20

25

30

35

40

45

50

55

60
montaje

5
emisor de luz y un receptor, ambos apuntando en la
CNY70 misma dirección, y cuyo funcionamiento se basa en la Tiras metálicas
capacidad de reflexión del objeto, y la detección del conductoras
rayo reflectado por el receptor.

14 15
Dependiendo del grado de resistencia que se
Resistencia eléctrica tiene, podemos decir que existen tres tipos de Un estudio más a fondo de los tipos de materiales
materiales (el estudio es mucho más comple-
Ejercicio
con base a su resistencia eléctrica, te enseñará so-
jo que solo tres) muy usados en electrónica: bre los aislantes ¿Por qué el cable que es un con-
La resistencia eléctrica es una propiedad fí- ductor, requiere de una cubierta aislante?
sica de los materiales; y es de gran utilidad
Los materiales poco resistivos; o sea, materia-
para la Electrónica, pues tiene la labor de ¿Qué es lo que sucede con los electrones cuan-
les que son muy buenos conductores de elec-
controlar la velocidad y cantidad de electro- do se topan en la entrada de una resistencia? Para poder trabajar con resistencias, lo
trones; su movimiento a través de estos mate-
nes que circulan por cierta región del circuito primero que debes de saber es identificar
riales es muy fácil. Un cable de cobre sería un
(como un policía vial); La resistencia eléctrica ¡Los retrasa! La resistencia controla el “cuanto” su valor por medio del código de colores,
ejemplo de este tipo de materiales.
se mide en Ohms y su nomenclatura es el Ω. de electrones dejara pasar al otro extremo de puedes encontrar uno al final del libro.
la misma en cierto momento; NO IMPIDE, CON-
TROLA el flujo de electrones; al final (en condi- Para leer el código de color de una resisten-
Propiedades Físicas: ciones normales de un circuito) todos los elec- cia debes tomarla de forma que la banda
trones a la entrada de la resistencia pasaran a más cercana al borde esté a la izquierda,
on-
El estado natural en el que enc través de ella; pero no todos al mismo tiempo; quedando generalmente una banda de
tramos un elemento en la natu rale za Materiales medianamente resistivos; tam-
eos o). la resistencia eléctrica tiene el trabajo de con- color dorado o plateado a la derecha.
(solido, líquido o gas bién conocidos como semiconductores.
trolar de “cuanto” en “cuanto” pueden pasar
Color. Elasticidad. Olor. Una resistencia eléctrica sería un ejemplo de Ahora tienes que leer las bandas... ¡De
los electrones; por decirlo de algún modo; pa-
este tipo de materiales. izquierda a derecha!
san de dos en dos electrones o de diez en diez;
cuando pasan de dos en dos, la resistencia es
alta y mucho mayor que aquella que permite el La primera banda representa la prime-
Un electrón es una partícula muy pequeña que
ra cifra. ¡Escríbela!
contiene energía, no se pueden apreciar a sim- paso de diez en diez electrones.
ple vista y viaja a velocidades muy altas; todos La segunda banda representa la se-
los aparatos eléctricos que conoces y todos Los materiales muy resistivos; o sea, materiales gunda cifra.¡Escríbela!
aquellos que habrás de conocer y crear, utili- que no son buenos conductores, cuya función Resistencias y Electrónica
zan la energía de los electrones para funcionar. es más de regular el flujo de electrones. Para su uso en la electrónic La tercera banda representa el número
El aire sería un ejemplo de este tipo de materiales. a, disponemos de encap- de ceros que siguen a los dos primeros
sulados llamados resistencia
s; estos ya vienen con sus
Una de las acciones más importantes que se valores definidos de fábrica
, es decir, que el fabrican-
números. ¡Escríbelos!
pueden hacer sobre ellos, es el control de te ha logrado mediante pro
cesos químicos poner a tu
disposición tal o cual cantida
cantidad y esto lo conseguimos con una re- d de resistencia (ohms). ¡Ya tienes el valor de tu resistencia!
sistencia eléctrica.

16 17
Vamos paso a paso, primero es necesario en-
Colorea las resistencias de acuer- Escribe el valor de la resistencia:
Voltaje e Intensidad tender, como lo mencionamos en el tema an-
terior, que los electrones son partículas muy
do a los valores requeridos: eléctrica. pequeñas y su energía es proporcional a su
tamaño, eso quiere decir que para prender un
Tanto la corriente como el voltaje están relacio- foco se necesitan miles de millones de elec-
nados entre sí, son como el día y la noche así trones, pero ¿Cuántos electrones necesitamos
pues un voltaje no puede existir sin una corrien- para prenderlo?
te y una corriente debe tener un voltaje, pero
entonces ¿qué es lo que los hace diferentes?.
Ahí es donde entra la corriente o también lla-
Observa el foco del cuarto donde estás, ahora mada intensidad eléctrica que es el “cuan-
tomando como ejemplo ese foco, explicare- to” (miles de millones) de electrones que son
mos los dos conceptos: producidos por nuestra batería para llenar de
energía a nuestro foco, los cuales por cierto
viajan en forma de flujo constante.

1 KΩ 3.3 KΩ 10 KΩ Cabe mencionar que la intensidad eléctri-


ca es medible en todo momento y lugar de
nuestro circuito con un instrumento llamado
amperímetro; sus unidades de medida son
el Ampere y su nomenclatura es una A.

120 Ω 33 KΩ 220 Ω

18 19
Del otro lado tenemos al voltaje, normalmente Entonces, si la fuerza con la que son empujados
se trata de una batería y la podemos encontrar Para determinar cuánta fuerza lleva un electrón se los electrones, está determinada por nuestra En este caso , ¿Cuál sería el equivalente
representada por una letra V. Esta fuente de vol- utiliza la unidad del voltaje: El Volt o voltio y su no- batería y la intensidad se trata de la cantidad de intensidad eléctrica? R.
menclatura es V y son términos en homenaje a Ales- de electrones que necesita nuestra bombilla
taje es la encargada de almacenar electrones sandro Volta, que en 1800 inventó la pila voltaica y
para que cuando el foco solicite energía, nuestra la primera batería química. para encender; ahora podemos entender la
fuente comience a empujarlos para que avan- diferencia entre ambos conceptos y la razón y ¿Cuál crees que sería el equivalente del
cen por todo el circuito hasta llegar al foco. Algunos voltajes comunes son el de una neurona por la que se encuentran tan relacionados. voltaje? R.
(75 mV), una batería o pila no recargable alcalina
(1,5 V), una recargable de litio (3,75 V), un sistema
En otras palabras, el voltaje, tensión o diferen- eléctrico de automóvil (12 V), la electricidad en una Según los expertos, no es el alto voltaje lo que
cia de potencial es el impulso que necesita una vivienda (230 en Europa, Asia y África, 120 en Norte- mata a una persona cuando es electrocutada,
américa y 220 algunos países de Sudamérica), y un En este caso en específico ¿cuál de
carga eléctrica para que pueda fluir por el con- relámpago (100 MV).
sino la cantidad de corriente que fluye y le llega
al corazón. Así es que si la tensión es alta, pero la las botellas tiene mayor “Voltaje” y cual
ductor de un circuito eléctrico cerrado. Este mo-
corriente es baja; hay más probabilidades de que mayor “Amperaje”? R.
vimiento de las cargas eléctricas por el circuito una persona pueda sobrevivir, mientras que de lo
se establece a partir del polo negativo de la contrario; es muy probable que la persona muera.
fuente hasta el polo positivo de la misma,
aunque esto no es necesariamente
cierto, solo es una convención
para su estandarización.
Ejercicios

La primer analogía que utilizaremos


es la más usada en estos casos,
comparar el agua con la corriente En esta analogía si bien nuestro brazo funciona
eléctrica, como primer ejercicio to- como parte importante para hacer que los electro-
nes o mejor dicho el agua circule de forma constan-
maremos dos botellas de plástico te hacia la cubeta depende el tamaño de la misma
una de 600ml. y otra de 1lt. cuya para que se termine de vaciar en menor tiempo po-
boquilla sea del mismo diámetro y sible, así pues Como vez si bien el Voltaje puede
ser mayor en un componente esto no implica que el
vertemos el agua sobre una cubeta. Amperaje o intensidad eléctrica sea mayor también.

20 21
Para trabajar con esta ley, necesitamos que
Imagina que eres una bate-
En la siguiente analogía necesitarás plumas de di-
ferente grosor y de preferencia diferente color las
Ley de Ohm. los electrones estén en una trayectoria cerra-
da también conocido como circuito eléctrico,
ría, ayuda a los electrones cuales representan la intensidad de corriente y tú
Idealmente los electrones parten del polo ne-
a llegar hasta el foco. serás la batería o mejor dicho quien se encargue de Ahora que conocemos los tres términos más co-
mover los electrones y los ayudarás a llegar al foco. gativo de la fuente, recorren todos elementos y
munes en electrónica, podemos pasar a una
caminos que demanden energía, para volver fi-
ley fundamental para la electrónica.
nalmente al lado positivo y comenzar de nuevo.

Ley científica: Imagina que los electrones, son chicos y chicas


que quieren entrar al circo, la resistencia eléc-
Una ley científica es la trica es el cadenero, y la fuente es la cantidad
descripción de
un fenómeno observado,
y que pueden o
no, reducirse a una ecuaci
de personas que se encuentran en la entrada;
ón matemática. podemos imaginarnos la película de cómo la
resistencia eléctrica controla el flujo de “cuan-
to” en “cuanto” pasan los electrones al circo; si
¿De qué trata esta ley? Georg Simon Ohm, fue se trata de una resistencia ruda (alta) entonces
la primera persona en observar y documentar controla muy bien el acceso, permitiendo can-
que entre voltaje, resistencia y corriente existía tidades pequeñas de vez en vez; en cambio
una relación y dependencia, es decir, el mover si la resistencia es chévere (baja resistencia);
la cantidad de uno de esos elementos afecta a tendremos un flujo mayor de electrones todo el
los otros dos de la manera matemática que se tiempo ¿Cuál es la limitante básica de acce-
so? Pues el ancho de la puerta; que en nuestro
explica a continuación:
caso es la intensidad eléctrica.

Como puedes observar en este caso de-


pendiendo del grosor de la pluma hay por
como es la misma persona la que empu-
ja los electrones o dibuja las líneas el vol-
V= I x R
Fórmula General de la Ley de Ohms
decirlo de un modo mayor intensidad de taje es el mismo. Así pues puede haber
corriente o que es lo mismo mayor canti- una cantidad igual de voltaje pero aun V= Voltaje en Voltios (V)
dad de electrones en un mismo punto pero así tener mayor intensidad de corriente. I = Intensidad en Amperios (A)
R= Resistencia en Ohmios (Ω)

22 23
Si bien la Ley de Ohm está dada por V=I*R Si deseas calcular I, tapamos la parte inferior izquier-
también se puede definir en 2 fórmulas más da del triángulo y nos queda la parte derecha del
I= V/R y R=V/I y a su vez estas se pueden re- triángulo con las letras V y R, como V está arriba de R,
Práctica
Switch
presentar con un práctico e ingenioso Trián- podemos deducir que se trata de una división.
Batería Resistencia
gulo llamado el triángulo de Ohm. La idea 9V 220 Ω
del mismo es bastante sencilla, solo hay que En esta práctica pondrás a prueba LED
cubrir con un dedo el parámetro que se de- la ley de Ohm, observaras de manera práctica y
sea calcular y por arte de magia aparecerá comprobaras con cálculos matemáticos como
la formula correspondiente. se relaciona el voltaje, corriente y resistencia;

Por ejemplo: Lo que necesitas:


FiguraA.: Circuito electrónico sencillo; compuesto por
una fuente de voltaje, Switch, resistencia y LED.

Si deseas calcular V, tapamos la parte superior del 1 Batería de 9V


triángulo y nos queda la parte inferior del triángulo
con las letras i y r, como estas están juntas podemos
I =V R 4 Pilas AA
1 Portapilas 4 pilas AA
Al colocar las resistencias, no importa la direc-
deducir que se trata de una multiplicación. ción en que la coloques, lo único que debes
Si deseas calcular R, tapamos la parte inferior dere- 1 Resistencias de 220 Ω respetar, es que una terminal de la misma coin-
cha del triángulo y nos queda la parte izquierda del 1 Resistencia de 1kΩ cida con una terminal del Switch, y el otro ex-
triángulo con las letras V e I, como V está arriba de I, 1 Switch tremo coincida con la terminal del LED; puedes
podemos deducir que se trata de una división. 1 Led rojo de alta luminosidad apoyarte con cable si así lo requieres, para lo-
(color opcional) grar la unión de las terminales de los elementos.
1 Protoboard
Cables Para colocar el LED deberás observar que las
terminales del mismo, están disparejas, esto nos
Arma el circuito de la figura A; ten cuidado de facilitara la identificación de sus partes; debe-
hacer coincidir las terminales de cada elemen- rás conectar la terminal más larga del LED al ex-
to como se indica, esto asegurara el correcto tremo de la resistencia, y la terminal más corta

V= I x R funcionamiento del mismo. Es de suma impor- al extremo negativo de la fuente. Es importan-


tancia que la batería sea el último elemento te respetar esta configuración del LED, de no
que conectes. hacerlo así, el circuito no funcionara e incluso
puede llegar a dañarse el LED.
R= V I
24 25
Por último, revisa que los extremos coincidan
conforme los pasos anteriormente descritos.
¡Y se hizo la luz! Como recordarás la ley de Ohm nos muestra la
relación que hay entre voltaje, la corriente y la
Ahora Cambia la resistencia de 220ohms por la
de 1 kΩ.
¿Qué sucedió? Cuando nosotros cambiamos el
Switch a “cerrado” es que permitimos que los resistencia, entonces gracias a ella podemos en-
electrones, continúen su camino por el resto del contrar la corriente que hay en nuestro circuito.
También podemos utili-
zar la pequeña muesca circuito; el Switch en modo cerrado es un ¡Ca-
que tiene el LED para ble! Lo que quiere decir que tiene muy poca re-
distinguir el negativo. sistencia y el flujo de los electrones es casi libre. 6V 1 kΩ

La fuente de voltaje (batería) que había estado 9V 220 Ω


almacenando electrones no los empuja hasta
Cátodo que “ve” algún elemento con necesidades de
energía, inicialmente solo “ve” al Switch, este
Ánodo ve el aire pero imagina toda la resistencia que ¿Cuál es la corriente eléctrica?
+ todo el aire de todo el mundo representa para
Ahora al conectar la fuente (batería); nuevamen- tu fuente de voltaje ¡Muchísima! Por eso, evita ¿Cuál es la corriente eléctrica?
la fatiga y deja los electrones donde están; no Ahora cambia el portapilas de 4 pilas AA o lo
te debes respetar la configuración de conexión
obstante una vez que el puente se baja (Swicth que es lo mismo 6V por la pila de 9V.
para asegurar el correcto funcionamiento del
Ahora cambia la pila de 9V por el portapilas de
circuito. Identifica el polo positivo de la batería; en modo cerrado) los electrones comienzan a
4 pilas AA o lo que es lo mismo por 6V
normalmente identificado con un símbolo (+); fluir (corriente eléctrica) por el circuito, rápida-
este extremo de la fuente deberá coincidir con mente atraviesan el Switch se controlan en la
la terminal del Switch, justo la que no coincide resistencia y llegan al LED.
con la resistencia. Por convención, el polo posi- 9V 1 kΩ
tivo de la fuente se une al circuito con un cable
rojo. Antes de conectar el otro extremo (-) de 6V 220 Ω
Observa además que
la batería, asegúrate de que el Switch está en el diagrama que ar-
modo abierto, una vez asegurado esto, debe- maste forma un circui-
rás conectar este polo(-) con la terminal corta to electrónico, pues los
9V 220 Ω electrones fluyan des-
del LED, por convención, el polo negativo de la ¿Cuál es la corriente eléctrica?
de la fuente, recorren
fuente se une al circuito con un cable negro o el circuito y vuelvan a
azul. Por último, una vez conectada la batería, la misma después de ¿Cuál es la corriente eléctrica?
deberás colocar el Switch en “cerrado”. Obser- este recorrido
va lo que sucede.

26 27
Serie y paralelo Req= R1+R2+...+Rn
Todas para una y una para tod
Preguntas as.
En esta configuración la corriente eléctrica solo
puede circular por un único camino, así que el vol-
En la primer práctica trabajamos con una sola re- taje en cada resistencia es diferente.
Ahora; de acuerdo a los cir- e) Si queremos que la corriente sistencia pero en la vida real esto no pasa ya que
cuitos realizados y tus cálculos disminuya conservando el voltaje, la un circuito tiene múltiples resistencias, hay que
matemáticos de estos deduce lo siguiente: resistencia: destacar que la resistencia eléctrica en la fórmu-
Resistencia en Paralelo
a) ¿Se ve afectado el LED por los cam- la de la ley de Ohm debe ser la resistencia TOTAL.
a b
bios realizados al valor del voltaje y la
Por lo cual debemos saber cómo sacar esta
resistencia? resistencia comúnmente llamada resistencia R1
f) Si queremos disminuir la corriente pero equivalente, por lo regular contamos con 2
mantener la resistencia, el voltaje: tipos de configuración para las resistencia las
cuales son en serie y en paralelo, hay que co-
a b
b) Si la resistencia se queda fija y sube el mentar que estas no son las únicas configura- R2
ciones que existen, pero si las mas básicas.
voltaje, la corriente:
Resistencia en Serie Por otro lado; a la manera en cómo están colo-
cadas las resistencias en la figura se le conoce
como configuración en paralelo; y la Resistencia
¿Cómo saber qu
e los electrones equivalente se calcula de la siguiente manera:
c) Si la resistencia aumenta y el voltaje se si regresan a la fu
mantiene, la corriente: ente? a ba b
R1 R2
Req = R1 x R2 x...x Rn
¡Fácil! Teniendo
en cuenta que
se crea ni se de la energía no
creando electrone
struye, y que tu
batería no está A la manera en cómo están conectadas las re-

R1+R2+...+Rn
s; pues, si estos no sistencias en la figura se le conoce como con-
la fuente para co volvieran a
menzar el recorrid
LED se encender
ía una sola vez;
o de nuevo, el figuración en serie; físicamente consiste en dos
d) Si queremos que la corriente aumente; los electrones, via
jando a velocidad
pero el flujo de o más resistencias, conectadas una seguida de
lo mantiene ence es altísimas,
la resistencia o el voltaje ndido. la otra; compartiendo una sola terminal (punto En esta configuración la corriente se divide y circula
A y B) entre cada par de ellas, y para encontrar por los diferentes caminos que forman las resistencias,
el valor equivalente solo se suma los valores de así que el voltaje en todas las resistencias es el mismo.
cada una de ellas:

28 29
Arma el circuito que se muestra a continuación:

Ejercicio Práctica ¿Notas algún cam-


330Ω
2.2KΩ bio respecto al cir-
Si bien ya sabes como son las co-
Circuito en: cuito anterior? R.
nexiones en serie y paralelo, es im-


portante saber identificarlas en un circuito de 1 Batería 9v

33
verdad, por tal motivo en estos ejercicios primero 2 Resistencias 1kΩ
tendrás que identificar que tipo de configuración


es y después se calculará la resistencia equiva- 2 Resistencias de 2.2 kΩ

33
lente de cada uno de los circuitos que te mostra- 1 LED
mos a continuación : Req=
Arma el circuito que se muestra a continuación: Arma el circuito que se muestra a continuación:
Circuito en: 330Ω
220Ω
Circuito en:
220Ω

330Ω

2.2KΩ
1KΩ

2.2KΩ
220Ω

1KΩ
330Ω

Req=
Req=
Calcula la resistencia Equivalente y la co-
Calcula la resistencia Equivalente y la co- rriente del circuito. R.
Circuito en: rriente del circuito. R.
220Ω

Circuito en:
220Ω

220Ω

220Ω
220Ω

220Ω

Req= Req=

30 31
Arma el circuito que se muestran a continuación: Como pueden observar las resistencias equiva- Motor.
lentes funcionan para simplificar un circuito y
¿Notas algún cam- también para poder saber ya sea el caso y Un motor es un dispositivo que convierte ener- Ejercicio
bio respecto al cir- gracias a la ley de Ohm, la corriente o el voltaje gía eléctrica en movimiento, así pues un motor
de manera interna, es un cable largo, que se En el siguiente ejercicio
1KΩ

cuito anterior? R. que tiene el circuito, pero entonces por qué se


ponen tantas resistencias en un circuito , pues enrolla de manera uniforme a lo largo de un vamos a Armar un motor; uno
una de las razones importantes es que sirven cilindro de metal; basado en el fenómeno físico de los mas sencillos que existen.
como bien se dijo en capítulos anteriores para del electromagnetismo.
controlar el flujo de electrones que hay en al- Lo que necesitas:
Responde las preguntas comparando los cir- gun circuito , pero también es recomendable
cuitos anteriores: debido a que las resistencias tienen una tole- Motorreductor 1 Pila AAA (Triple A) o AA (Doble A)
rancia dependiendo de su 4ta. banda la cual Es el motor mas usa- Alambre de cobre
tiene un efecto gausiano y por dicho efecto es do en electrónica. 1 Imán de neodimio
¿Cuáles son las diferencias de los mismos? R.
mejor poner muchas resistencias ya sea en se-
rie y en paralelo que una sola. Nota: El imán de neodimio se encuentra en los
¿Cómo es posible que un cable, sea en este auriculares, parlantes y hasta discos rígidos.
caso, un elemento más que demanda corrien-
te? ¡Tan fascinante como la forma en la que se
¿Le sucede algo al brillo de LED? R. Tolerancia de la resistencia: enrolla el cable! Eso es todo lo que determi-
na, desde la energía que consumirá el motor
Debido a que la tolerancia de una resis-
(usualmente es mucha) hasta como esta ener-
tencia tiene un efecto gausiano, es mejor
gía se transforma en movimiento. Colocamos el imán
poner muchas resistencias ya sea en serie
y/o en paralelo que una sola resistencia. en el lado negati-
vo de la pila (parte
Faraday, Michael plana de la pila)
Explica este comportamiento en términos de
(1791-1867)
la corriente como consecuencia del aumen-
to/disminución de la resistencia. R. Descubrió el principio de el motor eléctrico, la
inducción, la cual es la generación de una co-
rriente eléctrica en un conductor en movimien-
to en el interior de un campo magnético físico.

32 33
Doblamos el alambre de cobre de manera
Transistor En el mercado, existen
dos tipo de transistores:
que una punta del mismo toque la parte po- Una llave de agua en electrónic NPN y PNP, estas siglas
a. solo hacen referencia
sitiva de la pila y la otra toque el imán. (Que Nota: Si lo dejas funcionando un largo
rato, el cable de cobre se calienta y a la distribución de los
no toque el piso porque no podrá girar). Hasta el momento hemos estudiado elementos materiales que lo con-
después cuando lo quieras agarrar te
quemarías los dedos. de dos terminales, sin embargo, también hay forman; el transistor está
de tres terminales; como lo es el transistor, Los Colector constituido de materia-
cuales son administradores de electrones; y en Base les semi conductores.
Emisor
Este tipo de motor es llamado motor ho- su trabajo son los mejores; tanto que desde su
mopolar y se caracteriza porque el campo descubrimiento hasta el día de hoy; ha sido un El hecho de que sea un elemento de tres ter-
magnético del imán mantiene siempre la parte aguas en la historia de la electrónica. minales, convierten al transistor en un elemen-
misma polaridad y es uno de los muchos to altamente sensible a los parámetros de vol-
motores magnéticos que existen, el más ¿Cómo administran los electrones? Haciendo taje y corriente que recibe; dependiendo de
sencillo de todos. uso de las tres terminales que lo conforman y, estos criterios el transistor puede operar en las
que cumplen cada una de ellas, las siguientes siguientes modalidades; que en electrónica se
Este se basa en la fuerza de Lorentz que funciones: conocen como regiones de operación:
Listo ya van a ver como el alambre empie-
aparece sobre la corriente eléctrica que
za a girar. Cambiando la pila o el imán, o El colector: es el encargado de recibir la ener-
en este caso genera la pila al atravesar un Región activa: La base tiene una posición in-
variando las características del cable de gía; su capacidad máxima determina también,
campo magnético en este caso generado termedia entre su máximo y mínimo, es decir
cobre, por ejemplo el grosor, podemos mo- la entrega máxima de energía posible.
por el imán de neodimio, que el flujo de corriente llevan el suficiente em-
dificar la velocidad de giro.
puje y poseen el suficiente espacio para atrave-
La base: es la encargada de controlar “cuan- sar desde el colector al emisor. Esta es la región
ta” energía será entregada a la salida; es decir óptima del trabajo del transistor.
e Lorentz controla el flujo entre la base y el emisor.
La fuerza d Región de corte: La base tiene en esta región,
arga a
e xp e rim enta una c El emisor: que responde al control del colector; una posición; de “cerrado” lo que se traduce a
Es la fuerza
qu e agnético.
c a m p o electrom entrega la energía según las capacidades de la
su paso po
r u n un flujo de corriente muy pero muy pequeña;
base y lo dictado por el colector. que es inutilizable. Es decir, se puede conside-
rar que no hay flujo entre el colector y el emisor.

Región de saturación: En esta región; a la base


la puedes imaginar en el extremo de “abierto”;

34 35
lo que garantiza que todo el flujo de corriente que Esta apertura máxima, permitirá que todo el flu- Arma el circuito que se muestra a continuación:
entra por el colector es transmitida y entregada jo que la base recibe sea entregada a la salida
por el emisor. Podría pensarse que es la región más
óptima; pero lamentablemente; recuerda que es-
con un mínimo de pérdidas.
Práctica
tamos hablando de energía; si esta energía no
lleva un flujo adecuado (controlado y uniforme);
entonces mucha de esa energía se pierde en for- Ejercicio Ahora veamos de manera práctica la eficien-
ma de calor y eso calentará tu circuito y también
Básicamente existen tres posibles cia con que un transistor administra electrones.
el transistor; a la larga eso daña el elemento.
escenarios para observar cómo tra-
baja un transistor; a estas se les conoce Lo que necesitas:
En electrónica, todos los elementos comerciales en electrónica como regiones de operación y en
tienen un documento que presenta las caracterís- este ejercicio tendrás que identificar cual es cada
ticas generales de operación del elemento; a este una de ellas de acuerdo a los dibujos presentados. 1 Transistor 2N222
documento se le conoce como Data Sheet. Bus- 1 Potenciómetro de 22KΩ
ca en tu navegador: 2N222 Data Sheet y aprende
más sobre este transistor en específico. 1 Motor de corriente directa
c e Región 1 Protoboard
En analogía, imagina una llave de agua, cuyo 4 Pilas AA
diámetro es de 2cm; esos 2cm serán la apertu- 1 Portapilas para cuatro pilas AA
ra máxima de llave; el colector es la manija de b Cables UTP Un potenciómetro; es un resistencia va-
la llave de agua, pues está controlando el flujo riable, que según la posición de la perilla
entre la base y el emisor, que es el encargado Para comenzar debes identificar la base, el co- puede ir desde su mínimo de 0Ω hasta el
de entregarte el flujo de agua; puedes tener Región lector y emisor del transistor; apóyate en la figura. máximo indicado por el fabricante
c e
todo el flujo (región de saturación) puedes ima-
colector
ginar como el chorro no es uniforme y se gene- 1 Con la parte plana de la cabeza del transistor
ra mucha presión que ocasiona que gotas de b Transistor NPN
de frente a ti; la primer terminal es el colector,
agua salgan disparadas por fuera del torrente la segunda es la base y la tercera y última el
general y se pierdan; también es posible que emisor; Una vez identificadas las terminales, co-
la manija (colector) esté totalmente cerrada 2
loca el potenciómetro; ten cuidado de hacer
Región base
(región de corte) y eso no genera ningún flujo c e
coincidir los extremos tal como se indica en la
de agua, aun cuando la tubería tenga agua; figura; en el caso del potenciómetro no importa
y el ultimo escenario donde tenemos un flujo
1
2 desde que perspectiva tomes la terminal uno,
moderado y constante (región activa). b 3 3
emisor

36 37
pero si debes asegurarte de que la perilla este Pero la historia no termina ahí; lo siguiente que
en alguno de sus extremos posibles(máxima o debes de saber y observar es que el motor es
mínima resistencia); conecta finalmente el mo- un elemento polarizado; es decir, su compor- ¿Qué le sucedió a la velocidad del motor? R.
tor y lo último que debes conectar es la batería. tamiento depende de que terminal coloques
en positivo y cual en negativo; deja el poten-
Preguntas
NOTA: Si una vez conectada la batería, ciómetro cerca del tope de velocidad máximo
el motor no funciona, mueve la perilla Una vez comprendido esto, iden-
y desconecta tu batería; con cuidado, coloca
del potenciómetro al otro extremo. tifica la situación que se te pide.
las aspas que te proporcionamos al final del li- El motor es uno de los elementos electrónicos
bro como material complementario sobre el eje que más consume energía; es decir, el flujo de
Con el potenciómetro en su máxima capacidad:
Interesante ¿No? ¿Acaso acabas de ver como se del motor, vuelve a conectar la batería y obser- corriente que demanda es muy grande y en
transforma la energía de los electrones, en mo- va el movimiento de las aspas. todo momento; y mientras más oposición en-
vimiento? ¡Claro! Justamente eso es lo que hace cuentre a su movimiento (las aspas que pesan Activa Saturación Corte
un motor; transforma la energía de los electrones más le presentan más oposición) más corriente
en energía mecánica; o sea movimiento. demanda para poder mantener la velocidad;
¿Velocidad del motor? R.
¿Quién empuja los electrones? Pues, debido a
Juega con tu perilla, yendo entre ambos extre- que el valor de la fuente no cambia, pero el
mos de la resistencia variable y observa que es trabajo que realiza el motor es mayor, su veloci- Con el potenciómetro en su mínima capacidad:
lo que cambia en tu motor. Lo primero que de- dad disminuye.
bes entender es que parámetro del transistor se
Activa Saturación Corte
está cambiando al mover la perilla del poten- Con esto podemos aterrizar que el control de un
ciómetro. A continuación tacha la opción que Ahora intercambia las terminales del motor; no olvides motor involucra tres aspectos: Velocidad, senti-
ilustre la situación correcta. desconectar la batería cuando realices los cambios. do y fuerza; esto lo hace un poco complicado ¿Velocidad del motor? R.
¿No? Cada uno de estos aspectos involucra al
control de voltaje y corriente, no precisamente
Activa Saturación Corte ¿Qué sucedió con el sentido de las aspas? R.
en ese orden. Para esto nos sirve un transistor; Con el potenciómetro en el medio:
para administrar precisamente estos paráme-
Explica el motivo de esta situación. R. tros; el transistor es el encargado de administrar Activa Saturación Corte
Nuevamente localiza una velocidad óptima la corriente al motor; y tú eres el encargado de
con el potenciómetro y ahora replica las aspas controlar al transistor ¿Con que terminal? ¡Claro!
en otro material, como cartón y papel casca- Tu ejerces el control sobre la base. ¿Velocidad del motor? R.
ron, asegurando que cada nueva aspa sea
más pesada que la anterior.

38 39
Térmico Hilo de
Sensores hierro
Es decir:
Sintiendo el mundo. Los CNY70 son un par de leds
Fotoeléctrico que envían y reciben rayos
Si una superficie es muy blanca; absorberá
Hilo de de luz (imperceptibles para
¿Cómo sientes el mundo? Al mundo lo puedes constatan el ojo humano); y la informa- poca luz y la mayor cantidad la rebotará de
ver, oler, escuchar, saborear y palpar; y ade- Químico ción útil para ti es cuanta de regreso.
más, tu vida misma genera acciones de impac- esa luz que fue enviada, se
pudo recibir de regreso. Si una superficie es muy negra; absorberá
to en el mundo; el mundo te siente a ti. Cada Hilo de Hilo de
uno de los sentidos que acabamos de describir, Silicio acero cobre mucha luz y solo un poco de luz será rebotada
y, que te permiten interactuar con el ambiente de regreso.
son ¡sensores! ¡Tus sensores! ¿Cómo lo hace? Pues bien, si tu observas el sen-
Una superficie opaca; idealmente absor-
sor, veras que tiene dos leds; uno de ellos es el
berá y rebotará la mitad de la luz recibida.
¿Actuar? También posees actuadores; es decir encargado de enviar rayos de luz al ambiente;
Sensor aquellos instrumentos que utilizas para ejercer el ambiente o superficie recibirá este rayo y de-
Una de las restricciones más grandes que tie-
acciones sobre el mundo; tus manos, tus pies, pendiendo de una propiedad óptica llamada
ositivo que nen este tipo de sensores es la distancia; ¿Por
En electrónica; un sensor es un disp tu movilidad como tal es un actuador. reflexión, rebotará cierta cantidad de luz de
acc iones o qué? Pues el haz de luz que es proyectado tie-
está capacitado para detectar regreso (la otra es consumida por la superficie
Esto s apa rato s pue den ne cierta fuerza de alcance, más lejos de esa
estímulos externos. Miles de millones de nervios, trabajando con tu o distribuida en el ambiente) siguiendo casi la
des físic as o quím icas
transformar las mag nitu distancia la luz se esparce en el ambiente y no
en magnitudes eléctricas.
cerebro para llevar las “sensaciones” interpre- misma trayectoria en la que la recibió.
logra llegar a la superficie para ser reflejada.
tarlas y en base a eso, “actuar”.
Medio reflactante Este fenómeno lo puedes observar con una
linterna, en un cuarto obscuro prende una lin-
Hasta ahora ya puedes nombrar un actuador
Un sensor te permite obtener información de los terna; veras que el rayo lleva un forma y una
¿Verdad? ¡Claro! El motor es el actuador más
fenómenos físicos y químicos que están presen- intensidad definida hasta cierta distancia; más
famoso en el mundo de la electrónica; en la
tes en la naturaleza, para que tu cerebro los lejos, el haz se pierde (se distribuye en el am-
práctica anterior logramos “semi” automatizar
pueda interpretar y actuar al respecto. biente) Si tu no colocas un objeto que refleje,
el control de un motor por medio de un transis-
Emisor Detector antes de que el haz se pierda, pues no podrás
tor; en este capitulo lo que haremos será que
Ejemplos de fenómenos físicos y químicos que tener nada de luz reflejada. Lo mismo ocurre
ese control termine de ser automático por me-
pueden ser medibles por un sensor: para los sensores CNY70.
dio de un par de sensores CNY70.

Funcionamiento de un sensor CNY70.

40 41
Lo primero que debes hacer es identificar las
terminales del transistor puedes apoyarte de la
Como todo dispositivo electrónico; Responde que pasa con el sen-
siguiente imagen:
el CNY70 también cuenta con su sor en cada caso que se ilustra a Práctica
Data sheet ¡Consúlta! continuación: colector
1

La Superficie que ve el sensor es negra. R.


Ahora, veamos como funciona un CNY70.
2
base
Ejercicio Lo que necesitas:

Resistencias
1
2
Sensores de luz; CNY70 3 3
emisor
Un Motorreductor
¿Puedes deducir por que el color del Cartulina de 2x2cm de color negro mate Una vez colocado el transistor, identifica las ter-
LED emisor en el CNY en obscuro? R. La Superficie que ve el sensor es blanca. R. Cartulina de 2x2cm de color blanco mate minales del sensor puedes apoyarte de la si-
Cartulina de 2x2cm de color naranja mate guiente imagen:
Cartulina de 2x2cm de color azul cielo mate
Cartulina de 2x2 cm de color morado mate A B

Arma el circuito que se muestra a continuación:

¿Qué pasaría si fuera de un color bri- La Superficie que ve el sensor es gris. R.


llante o muy cercano al blanco? R. A B
A D
C B
C D

El emisor siempre tendrá un color


más claro que el receptor.
C D

42 43
Coloca el motor y la resistencia en la dirección por ejemplo, algunos cambian su resistencia;
que prefieras y lo último que debes conectar algunos más, entregan cambios de corriente;
es la batería. Una vez que tu circuito está to- hay sensores que abarcan gran cantidad de b) Con estos cambios debes de ser capaz e) ¿Qué le sucede a la velocidad
talmente armado, asegúrate que las terminales rangos; otros por ejemplo, abarcan rangos muy de distinguir cambios en la velocidad del mo- del motor si la superficie es blanca?
de los elementos coincidan tal como se mues- pequeños, sobre todo en aquellos diseñados tor; con base a esto; ¿A qué elemento de la
tra en el diagrama. Por último, debes acercar la para proyectos donde se requiera mucha pre- práctica anterior está sustituyendo el sensor?
superficie negra a unos 5mm de distancia de tu cisión y percibir cambios muy pequeños (mu-
sensor, observa que sucede. cha sensibilidad).

Es importante aclarar que la cantidad de luz


que se envía, depende totalmente de cuanta
energía tenga el LED emisor disponible para
Preguntas f) ¿Qué le sucede a la velocidad del mo-
enviar; y, que la cantidad de luz que se recibe, tor, con respecto a la respuesta anterior, si
y que es un porción de la que previamente se c) ¿Qué le sucede a la velocidad del mo- la superficie es azul claro?
envió, depende de la naturaleza de la superfi- Ahora bien; para concluir tor si la superficie es negra?
cie y de la distancia a la que está colocada la la práctica; haz la prueba
superficie que refleja. con diferentes tonalidades de superfi-
cie; recuerda que debes colocar estas
Ahora bien, con base a la cantidad de luz re- superficies a una distancia máxima de
cibida el sensor entrega un voltaje, que es pro- 5mm; más lejos, el sensor ya no alcanza
porcional a esta cantidad de luz. Son las varia- a “ver” el rayo que rebota de regreso.
ciones del voltaje entregado, lo que nos ayuda
a determinar de qué color es la superficie que a) ¿Qué sucede si colocas la superficie a d) ¿Qué le sucede a la velocidad del mo- g) Si haces cambios rápidos de la superfi-
un cm de distancia del sensor? Explica que tor, con respecto a la respuesta anterior, si cie evaluada ¿En qué regiones está traba-
está viendo. A mayor luz recibida; mayor el vol-
parámetro del transistor estas cambiando, la superficie es obscura? jando el transistor?
taje entregado a la salida del sensor.
y en qué región está trabajando el mismo.
De manera general, todos los sensores mane-
jan rangos que pueden medir y soportar; es
decir rangos en los que son funcionales y a los
que se le conoce como rangos de operación,
depende mucho que fenómeno vas a medir,
con base a eso, se elige el sensor más ade-
cuado; no todos los sensores entregan voltaje

44 45
color de una superficie que tiene frente a sus
Mi primer Robot ojos “sensores ópticos” y en base a lo que “ve”
Integra tus conocimientos. tomar cierta dirección; hay seguidores que El sistema linfático
avanzan hacia adelante mientras detectan Conformado por los transistores; su fun-

¿Qué tal que pudieras dotar a tu robot, con to-


una linea negra o bien blanca; y cuando suce- Infografía ción es distribuir cantidades de energía
de lo contrario giran a los lados para volver a optimas a través de los elementos que
dos los sentidos y acciones que posees tú? así lo requieran, desde las resistencias,
encontrar dicha linea y poder seguir su camino.
Aun cuando pareciera bastante fácil para un LED y motores.
Lamentablemente para la tecnología, igualar
humano un robot seguidor de linea lleva consi-
el cuerpo humano es mucho muy complicado,
go bastante trabajo.
encontrar un sensor que le permita interactuar
al robot con los fenómenos físicos con la misma Vamos primero a expo- A B C D E
El sistema óptico
calidad, rapidez, fidelidad y eficiencia requiere
J I F G H

ner los subsistemas que Conformado por los sensores


de mucho más trabajo del que imaginas; aun
60
60

conformaran tu robot: CNY70, son los encargados de


hoy día, la cámara con la mayor cantidad de
“ver” colores; entregando voltajes
55

píxeles no puede igualar la fidelidad de una


55

INFOGRAFIA DE UN BOS- que nos permiten saber el color de


buena vista humana. Los sensores electrónicos 50

la superficie que esta “viendo”.


QUEJO DEL SEGUIDOR;
50

comerciales se enfocan primero en algún fenó-


como el esqueleto. 45

La naturaleza del robot es seguir líneas de


meno físico en específico (temperatura, color,
45

distancia, sonido etc) y de ahí eligen un rango 40


color obscuro, idealmente negras; y “buscar”
una línea negra si no es el caso.
40

de operación; puedo medir de 0° a 300°; pue-


do distinguir rojos; puedo percibir movimiento
35
35

hasta un metro de distancia, puedo percibir


Los errores más comunes de un robot seguidor de linea son:
30

hasta treinta decibeles. Lo mismo ocurre con El sistema motriz


30

los actuadores; no obstante esta limitante no le


El sistema nervioso
25
25

quita lo divertido; y hasta el reto de que, una 1. Los sensores están muy separados de la superficie y Conformado por dos motores; está con-
no “ven” el haz de luz reflejado. trolado por la respuesta de los sensores;
vez dentro de este mundo de la electrónica,
20
20

Los caminos de los electrones;


propongas sensores/actuadores innovadores. 2. La pista esta manchada o presente partes obscuras.
formador por todos los cables 15
15

El robot, está configurado para caminar


3. Algún transistor no esta conectado como debe. o uniones metálicas que permi- hacia adelante si la línea que está vien-
Un seguidor de linea es un ejemplo básico pero 4. Las baterías ya no tiene mas electrones que entregar. tan el paso de los mismos. do es negra.
10
10

muy ilustrativo de como un robot “siente” y ac-


Deberá cambiar de dirección, en cuan-
5

túa en base a ciertos parámetros; un seguidor


5

to perciba una superficie blanca.


de linea es un robot que es capaz de “ver” el
1
1 A B C D E
J I F G H

46 47
Como ves en esta práctica utilizamos los dos ti- Diagrama Esquemático. Diagrama Pictórico.
pos de transistor que existe un NPN en este caso
el BC547 :

Práctica

D1114

D1114
M
M
colector 1
A B C D E F G H I J
1

3
Transistor NPN 5 5

Vamos a hacer que tu robot BC547


pueda “ver” por medio de unos 10 10

sensores y a moverse mediante un motor. 2


base 330 Ω 330 Ω 15 15

Lo que necesitas:
20 20

1 KΩ
1 Llanta Loca 2

1 KΩ
1 1 25 25

2 Llantas emisor
2 Sensores CNY70 30 30

2 Transistores BC557
y un PNP en este caso el BC557 1 KΩ 1 KΩ
35 35

4 Transistores BC547
4 Resistencias 330 Ω

47 K Ω

47 K Ω
40 40

2 Resistencias 10 K Ω
1 emisor 45 45

4 Resistencias 1k Ω Transistor PNP


BC557
2 Resistencias 47k Ω 50 50

4 Pilas AAA ó AA
10 K Ω 55 55

1 Porta pilas para 4 pilas 2


base 60 60

El objetivo de esta práctica es que al finalizar- 3 10 K Ω


2
la, tengas un robot seguidor de líneas negras; 1
A B C D E F G H I J

como en esta ocasión los elementos son más 3 colector


tendrás, que tener especial cuidado en identi- 330 Ω 330 Ω
fica las terminales de los sensores CNY70 antes
Teniendo en cuenta esto se procederá a armar
de conectarlos y de cada uno de los transisto-
el circuito que se muestra a continuación.
res involucrados.

48 49
Recuerda que la batería es el último elemento
Motor Motor
que debes conectar.

Dale una última revisión antes de conectar la Cómo ves el ancho de la línea de esta pista es el mismo lado corrigiendo la dirección nueva-
batería... ¡Comenzamos! de más o menos 2 cm, por lo cual al momento mente. Este comportamiento lo deberás obser-
de armar nuestro robot tenemos que tener en var en las curvas que tenga tu pista.
cuenta esto para dejar espacio suficiente para
Una vez que esto está conectado se puede com- 0.5 cm que la línea quede entre los sensores, otra cosa ¿Fascinante no? ¿Cómo lo hace? Pon atención,
probar si el emisor está prendido enfocándolo con Sensores
la cámara del celular, la webcam de la computa- importante es que los sensores tienen que estar y veras que los sensores caen sobre la superfi-
dora o alguna cámara digital ya que a simple vista máximo a 5mm de distancia del suelo para que cie blanca de la pista; lo cual genera que los
no es muy perceptible. sensen bien por lo que es recomendable soldar transistores estén trabajando en la región ac-
¿Listo? Ponlo a prueba en tu pista.
cable al sensor y montarlo sobre una superficie tiva y eso mismo se traduce en un flujo cons-
La primer prueba la haremos por cada sen- Por lo regular la pista de una competencia de de cartón para extender el largo y quede a la tante y uniforme hacia los motores (cada par
sor; acerca una superficie blanca no más de este tipo de robot es blanca con una línea ne- altura indicada. de sensores tiene un etapa de tres transistores
5mm de distancia de tu primer sensor (puede gra de 2 hasta 3.5 cm de ancho, nosotros para para controlar); que avanzan en línea recta;
ser cualquiera); un motor debe girar de mane- armar nuestra pista utilizaremos una cartulina En el proceso de fabricación de la pista reco- si uno de los sensores “ve” una región obs-
ra uniforme; prueba ahora una superficie ne- blanca y cinta de aislar negra. mendamos no hacer curvas tan pronunciadas cura o negra; inmediatamente el voltaje del
gra en ese mismo sensor CNY70, el motor debe ya que el robot puede salirse de la misma, esto colector es casi cero, con lo cual el motor no
detenerse con esto se asegura un leve giro del se corrige controlando la velocidad del robot alcanza a moverse.
robot ¿Cierto? Si todo coincide tu sensor funcio- cosa que en este momento no hacemos, sería
na correctamente. Deberás replicar la misma 2 cm interesante que investiguen cual es el proceso Queda de ti, de aquí en adelante; imaginarte
prueba en el otro sensor de CNY70 y observar el para realizar esto. diseños de cualquier tipo, con robots que pue-
mismo comportamiento con el motor opuesto. dan no solo ver y moverse, sino, oler, escuchar,
3.5 cm El comportamiento deberá ser el mismo; sobre medir temperaturas, capaces de grabar, de
Si hasta este momento has obtenido el com- la línea negra el robot avanzará en línea recta; saltar y de ejercer muchas mas acciones sobre
portamiento adecuado, debes montar tu pro- Sensor Sensor si el sensor derecho percibe una línea negra su medio ambiente
toboard sobre una base sólida de 30 x 10 cm; (la pista); el robot deberá girar hacia el mismo
esta base puede ser madera MDF o acrílico;
apóyate de la siguiente figura; para montar Pista
lado para corregir la ruta; si el sensor izquier-
do percibe una línea negra el robot gira hacia ¡Hasta la próxima!
correctamente tus motores y empezar a darle
forma a tu robot.

50 51
Recortable.

Aspas
Código de colores

Con el uso más frecuente de las resistencias, en-


contrarás que también existen diversos tamaños de
resistencias, aun cuando sea el mismo valor comer-
cial. El tamaño va asociado a su tolerancia de po-
tencia. Las utilizadas en la práctica son de 1/4 Watt.

52 53
PROGRAMACIÓN Y ROBÓTICA TEMPRANA
SOCIEDAD LATINOAMERICANA DE CIENCIA Y TECNOLOGÍA APLICADA
Manuel Fernando Guzmán Muñoz Uriel García Gopar
Para leer el código de color de una
resistencia debes tomarla de forma
que la banda más cercana al bor-
de esté a la izquierda, quedando
generalmente una banda de color
dorado o plateado a la derecha.

ARDUINO
Ahora tienes que leer las bandas... JULIO DE 2016
¡De izquierda a derecha!

La primera banda representa la pri-


mera cifra. ¡Escríbela!

La segunda banda representa la se-


gunda cifra.¡Escríbela!

La tercera banda representa el nú-


mero de ceros que siguen a los dos
primeros números. ¡Escríbelos!

54
ÍNDICE Historia 59

Entorno de trabajo 63

Estructuras de Código 68

Entradas y Salidas 69

Estructuras de control 71

Comunicación Serial 73

Mi primer Circuito con Arduino 79

PWM 83

Librerías 86

Juego de Velocidad 91

Recortable 95
Historia.
Arduino.

¡Hola!
Veo que has llegado bien hasta aquí, ahora Si nos centramos en el software podemos desta-
que tienes los conocimientos necesarios de car que esta disponible para las 3 plataformas
electrónica, deja te muestro la casa y por casa más importantes del mercado (Windows, Mac y
me refiero a nuestra placa Arduino. Linux), Aprender el lenguaje de programación
es sencillo, sobre todo si ya tienes experiencia
Arduino es una Plataforma de electrónica en otros lenguajes de programación como C o
“Open-source” o de código abierto que cuen- Java ya que Wiring / Processing el lenguaje con
ta con software y hardware abierto un concep- que se programa se basa en ellos.
to que te recomiendo ampliamente que inves-
tigues, ya que presenta todo un nuevo campo Por otro lado la placa Arduino cuenta con di-
en el área de las licencias de uso. ferentes versiones disponibles en el merca-
do todos los tamaños y cada una orientada
a distintas implementaciones, por ejemplo, si
quieres trabajar un proyecto en el que tienes
un espacio reducido, puedes pensar en un Ar-
duino micro el cual es de solo la tercera par-
te del Arduino más sencillo y por consiguiente
más utilizado que sería el Arduino uno, también
Tanto el software como el hardware son muy podemos contar con placas específicas para
populares pero lo mejor es que son fáciles de conectarse a internet Arduino yun o con mayor
usar, por lo cual pronto te sentirás interesado en cantidad de pines de entradas y salidas como
todo lo que puedes hacer con algunos conoci- el Arduino mega.
mientos de electrónica y programación.

59
DIAGRAMA DE PINES
Arduinos en el mercado.
Pins 13 LED Pins Digitales

ARDUINO UNO
El único componente que Usar estos pins con las
actúa como dispositivo de instrucciones digital-
salida incorporado a su ar- READ(), digitalWrite() y En el mercado existen una gran variedad de arduinos en la siguiente tabla encontrarás cuatro
duino UNO. Lo usará cuando analogWrite(). La instruc- de los más utilizados.
ejecute su primer programa. ción analogWrite() solo
Este LED es muy útil para la trabaja con los pins con
depuración. el símbolo PWM. Nombre Características Ventajas Consideraciones
Botón de reset
Procesador Atmel Atmega 328
Puesta a cero del mi-

GND

9
8

7
6
5
4
3
2
1
0
AREF

13
12

10
11

GND

9
8

7
6
5
4
3
2
1
0
AREF

13
12

10
11
RESET

RX0
TX0
cro-controlador ATmega
DIGITAL (PWM= )
RESET

RX0
14 Entradas/Salidas digitales

TX0
ICSP2
L
DIGITAL (PWM= )
TX ON
ICSP2 Arduino
(6 de ellas son PWM)
TM

LED de Encendido
RX

L 1

Amplia documentación en foros.

ICSP
TX ON 6 Entradas analógicas Tamaño grande para
Indica que la placa ar-
Arduino
TM

RX El modelo más popular. espacios reducidos.


duino está siendo ali- POWER ANALOG IN
16Mhz Velocidad de Reloj 68.6mm x 53.4mm.

RESET
IOREF
1 mentada. Útil para la

GND
GND
3V3
Puerto USB

VIN
5V

A0

A1

A2

A3

A4

A5
depuración. Incluye jack de alimentación.
Conexión USB B

ICSP
Usado para alimentar
y cargar los programas 2KB SRAM
a su arduino, y para la
comunicación con el Arduino
Microcontrolador 32KB FLASH
programa de arduino
ATmega UNO
(mediante la instrucción
Serial.printin() etc.) POWER ANALOG IN
El corazón de la placa
RESET
IOREF

Procesador Atmel Atmega 32u4


GND
GND
3V3

VIN
arduino UNO.
5V

A0

A1

A2

A3

A4

A5
20 Entradas/Salidas digitales
(7 de ellas son PWM)

MOSI
D12D

D11

D10

GND

RST

RX1

TX1
D9

D8

D6

D5

D4

D3

D2

SS
D7
TM

Conector de Arduino L
TX RX
Buen tamaño para
LEDs TX y RX
MICRO
12 Entradas analógicas espacio reducido
alimentación

ICSP

MISO
3V3

GND
REF

RST

VIN

SCK
A4
A0

A1

A2

A3

A5

NC

5V
NC
13
16Mhz Velocidad de Reloj Gracias a sus capacidades USB No posee un conector
Este conector se utiliza Estos diodos LEDs indica Pines GND y 5V Entradas Analógicas. puede emular las funciones de de alimentación externa
para alimentar la placa cuando se realiza una co- Conexión Micro USB un mouse y un teclado
de arduino cuando no municación entre arduino y Usar estos pins con la instruc-
Usar estos pins para propor- ción analog RED().
esta conectada a un ordenador. Parpadean rápi- 2.5KB SRAM
cionar una tensión de +5V y
puerto USB. Acepta ten- damente cuando se carga el
masa para los circuitos exter-
siones entre 7 y 12 V. programa así como durante
nos a la placa. Arduino 32KB FLASH
la comunicación serie. Útil
para la depuración. MICRO

60 61
Arduinos en el mercado.
Opciones no oficiales y compatibles.
Nombre Características Ventajas Consideraciones
Además de las versiones oficiales, que tes abiertas permite que otras personas
puedes adquirir directamente desde y/o empresas puedan realizar versiones
Procesador Atmel Atmega
328V o Atmega 168 su página, es fácil encontrar en el mer- idénticas y comercializarlas.
cado muchas opciones de distintas
a4/
18
a5/ a3/
19 17

14 Entradas/Salidas digitales
(6 de ellas son PWM)
marcas que pueden conocerse como Para el caso de las versiones compati-
- a2*/
16 Tiene pines especiales para
B G
coser sensores y actuadores “no oficiales”. Estas son idénticas a las bles, se trata de versiones basadas en
+ 11 6 Entradas analogicas utilizando un hilo conductivo.
Enfocado a textiles oficiales pero están selladas bajo otra Arduino pero que agregan distintos com-
y “weareables” marca, generalmente se trata de versio- ponentes con la intención de orientarlos
On

Off

5 10 8Mhz Velocidad de Reloj Gracias a sus capacidades


6 9 USB puede emular las funcio- nes más económicas. Estos modelos no a casos más específicos. Es común en-
Conexión USB B nes de un mouse y un teclado. contrarlas en kits de robótica educativa.
oficiales son ampliamente recomenda-
1KB SRAM dos para estudiantes y si deseas econo-
Arduino mizar un poco. No se trata de piratería
16KB FLASH
LiLyPad ya que la licencia de hardware de fuen-

Procesador Atmel Atmega 2560

54 Entradas/Salidas digitales
(15 de ellas son PWM)
L

TX
RX

Compatible con los códigos


Entorno de Trabajo
RESET

16 Entradas analogicas y shields de Arduino UNO.


Tamaño grande para
16Mhz Velocidad de Reloj Excelente para proyectos espacios reducidos.
educativos y aprendizaje. 101.52mm x 53.3mm Para iniciar, vamos a instalar el IDE de Arduino, Selecciona la versión de sistema de operativo
Conexión USB B
podemos descargar la versión oficial más re- que usas y solo resta esperar de acuerdo a la
8KB SRAM ciente desde el siguiente enlace: velocidad de tu acceso a internet.
Arduino 256KB FLASH
https://www.arduino.cc/en/Main/Software
MEGA

62 63
Instalación del IDE 3 El proceso va a extraer e instalar todos
los archivos necesarios para ejecutar co- Menú
Botones de
1 Elegir los componentes a instalar. rrectamente el software de Arduino (IDE). acceso rápido

Editor de texto
para escribir el
código.

2 Elija el directorio de instalación (sugerimos Área de


mantener la opción por defecto). mensajes
IDE Arduino
Consola
llo integrado que
Entorno de desarro -
programas y subir
permite escribir los
uino.
los a su placa Ard
Botones de acceso rápido
Nuevo Guardar
Ahora que tenemos el IDE vamos a conocer-
Monitor
lo un poco, en realidad es una interfaz muy Verificar Serial
limpia y estoy seguro que te sentirás cómo-
do trabajando con ella en poco tiempo. Cargar
Abrir

64 65
Realizado todo el proceso, ahora si podemos
quemar nuestro programa con toda confianza,
Pin 13
Así que, después de ésta introducción vamos con lo que veremos una barra de progreso y en un mo-
Ejercicio nos interesa, conectemos esa placa a la computadora y mento podremos darnos cuenta que en nues-
hagamos que funcione. tra placa se enciende y apaga el LED ubicado

GND

9
8

7
6
5
4
3
2
1
0
AREF

13
12

10
11
RESET

RX0
Primer programa cerca del pin 13.

TX0
DIGITAL (PWM= )
ICSP2
L

“Hola mundo” Basta con conectar el Arduino, una vez que la


computadora lo reconoce, solo confirmamos que Es muy importante que corrobores cada vez
TX
RX Arduino
TM
ON

(hacer parpadear un LED)


seleccionamos la placa y puerto correctos. Esto que conectas tu Arduino que sea el modelo co-
1

podemos verlo en la parte inferior derecha. rrecto. Esto para no afectar tu placa.

ICSP
Para iniciar vamos a cargar el código de
1 ejemplo de “Hola Mundo”, para esto nos
dirigimos al menú:
POWER ANALOG IN

RESET
IOREF
En caso de que el modelo de Arduino no sea el co-

GND
GND
3V3

VIN
5V

A0

A1

A2

A3

A4

A5
Archivo > Ejemplos > 01.Basics > Blink. rrecto, podemos elegirlo en el menú:

“Herramientas > Placa”


Ahora, vamos a verificar que nuestro códi-
2 go esté correcto, para esto basta con pre-
sionar el botón “Verificar” que se encuen-
Donde podremos elegir entre las placas más popu-
lares disponibles. Una vez hecho esto es importante LED
verificar en la opción “Procesador” que sea la co-
tra en la parte superior izquierda marcado
rrecta; si no aparece quiere decir que el modelo de
con una “palomita”.
placa tiene una sola opción, pero algunas placas

¡Felicidades!
como el Arduino Nano, disponen de distintos proce-
sadores según la versión.
VERIFICAR
Para el caso del puerto podemos encontrarlo en
menú: Ya tienes un “hola mundo” y acaba de iniciar
Veremos los datos del programa en el apar-
3 tado de consola, una vez verificado nuestro
código procedemos a “quemarlo” en nues-
“Herramientas > Puerto” tu aprendizaje en el mar de opciones que ofre-
ce Arduino.
tro Arduino. y encontraremos una lista de los puertos disponibles
en ese momento. En caso de no encontrar ninguno,
te recomiendo revisar que tu arduino esté correcta-
mente conectado.
CARGAR

66 67
comentarios. Los bloques de comentarios son
Estructuras de espacios que nuestro programa ignora y que La siguiente función es loop, todo el código de Entradas y salidas.
código. nos permiten hacer más legible nuestro código.
Estos pueden ser una línea definida por una do-
esta función se repetirá en un ciclo continuo,
permitiendo a tu programa mantener la comu-
ble diagonal: nicación entre los componentes. ¿Recuerdas cuáles son los dispositivos de entra-
Lo primero que tenemos que entender es que da y salida de una computadora? Bueno pues
hay una estructura en las funciones de Arduino. // Esta línea es ignorada por el programa este proceso funciona de la misma manera. Si
Códigos
Esta no y va marcar un error lo que deseas es Leer un dato, entonces se tra-
1 void loop()
Códigos 2 { ta de un pin de entrada. Ahora, si lo que buscas
1 void setup() Y también pueden ser bloques que permiten 3 digitalWrite(pin, HIGH); //Activa ‘pin’ es escribir sobre ese pin, se trata de un estado
más de una línea definidos por una diagonal 4 delay(1000); //espera un segundo de salida.
2 { 5 digitalWrite(pin, LOW); //Desactiva ‘pin’
y asterisco.
3 código; 6 delay(1000); //espera un segundo
4 } 7 } Dentro del setup de nuestro código es impor-
/*
5 void loop() tante declarar los pines que vamos a utilizar en
Este es un bloque de comentario
el programa, para esto usamos la función pin-
6 { mucho más largo y
puede ser multilinea Mode, la cual recibe como parámetros el nú-
7 código; Una función es un bloque de código que tiene
*/ mero del pin y su estado INPUT y OUTPUT, pines
8 } un nombre y un grupo de declaraciones que se
de entrada o pines de salida.
9 ejecutan cuando se llama a la función.
La primera función que tenemos por defecto en
10 tipo funcion(parametros){ nuestros programa es la función setup, esta fun- La estructura de la función es la siguiente:
En primer lugar se declara el tipo de la función,
11 código; ción no recibe parámetros. Y se ejecuta cuando pinMode(num_pin, estado).
que será el valor retornado por la función (int,
12 } inicia Arduino, es una buena idea usarla para void...). A continuación del tipo, se declara el
declarar algunas variables, definir el estado de nombre de la función y, entre paréntesis, los pa-
nuestros pines o cualquier instrucción que solo rámetros que se pasan a la función.
En programación, la estructura del código es queremos se ejecute al iniciar nuestra placa Algunas anotaciones que debes tomar en cuenta es
importante para que funcione correctamente, Códigos que las palabras INPUT y OUTPUT se escriben en ma-
yúsculas, esto es porque se trata de valores cons-
esto es igual en Arduino. Ahora veremos las fun- Códigos 1 tipo funcion(parametros){ tantes. De igual manera toma en cuenta que el pin
ciones y sintaxis para codificar nuestros progra- 1 void setup() 2 código; analógico cuenta con una “A” antes del número que
mas dentro del IDE de Arduino. 2 {
3 pinMode(pin, OUTPUT); //ajusta ‘pin’ como salida
3 } está marcado en tu placa.
4 }
Antes de comenzar quiero contarte que los
lenguajes de programación permiten hacer

68 69
Pongamos un ejemplo sencillo. Si yo quiero por les solo pueden tener dos valores 0 y 1, en este ro 3 y que el valor devuelto es asignado a la
ejemplo, poner el pin digital número 7 en modo caso definidas como HIGH y LOW. variable “valor2” de tipo entero. Un dato muy Estructuras
de entrada, para hacer una lectura, la función importante, a diferencia de la escritura donde de control.
sería la siguiente: //leer un valor de un pin digital: los valores van desde 0 hasta 255, en este caso
int valor1 = digitalRead(5); los valores de lectura comprenden desde el 0
Dentro de Arduino disponemos de una serie
pinMode(7, INPUT); hasta el 1024. Una vez más; basta una simple
de instrucciones para procesar nuestros datos
Ahora la función solo recibe un parámetro que regla de 3 para determinar el valor del voltaje
que pueden ser de gran utilidad. A estas se les
Ahora si lo que me interesa es poner el mismo indica el número del pin. Además podemos ver necesario para generar un valor específico.
conoce como estructuras de control y pueden
pin ahora en modo de escritura, este modo es un ejemplo de asignación, ya que el valor de-
ser de selección, iterativas o secuenciales. Es
el utilizaremos para encender un led. vuelto es guardado en la variable “valor1” que Como extra, encontrarás en varios programas
importante comentar que se trata de palabras
es de tipo entero. la función delay(); esta función permite pausar
reservadas y no debemos usar estos nombres
pinMode(7, OUTPUT); la ejecución de todos los procesos dentro de
para variables. Esto principalmente para evitar
//escribir sobre valores analógicos: nuestro Arduino por un tiempo definido expre-
confusiones.
Uno más, si por ejemplo lo que quieres es leer analogWrite(A2, 128); sado en milisegundos. Esto es muy útil sobre
un valor que viene de un pin analógico, diga- todo para que nosotros (los humanos) podamos
Toma en cuenta que cuando escribimos sobre seguir el paso de los procesos que suceden en IF, ELSE
mos que el número 4:
un pin analógico tenemos una gama mayor de nuestra placa.
valores, en este caso tenemos valores desde el La instrucción if es la más popular de todas y
pinMode(A4, INPUT); 0 hasta el 255, cada valor en esta escala re- //pausar el programa 2 segundos se trata de una validación de tipo booleano,
presenta una salida de voltaje, que va desde 0 delay(2000); es decir de una pregunta que se responde con
Ahora vamos con las 4 funciones que más utili- si o no. Pongamos, por ejemplo, que tenemos
hasta los 5 volts, así que basta con hacer una
zarás durante este libro. Se trata de las funcio- una variable “contador” y queremos confirmar
regla de 3 para saber cual es el voltaje de sali- Para conocer más funciones (además de las
nes de lectura y escritura para valores analógi- que contador es igual a 5, entonces veríamos
da que vamos a obtener. que trabajaremos en este libro) puedes encon-
cos y digitales: algo como esto:
trar como apartado una guía rápida con todas
//Suponiendo que lo que deseas es escribir en un pin digital:
//leer un valor analógico: las funciones,tipos de variable y estructuras de Códigos

digitalWrite(7, HIGH); int valor2 = analogRead(A3); control que puedes utilizar en Arduino. Un ex- // Si contador es igual a 5
celente trabajo hecho por el usuario MicroCo- if( contador == 5 ) {
En este caso la función recibe dos parámetros, Para este punto habrás notado que cada fun- deSV de GitHub. Si necesitas una descripción // El contador si es igual a 5
el primero es el número del pin y el segundo el ción es muy explícita en su nombre; en realidad más amplia o bien todos los detalles de alguna }
valor a enviar. Como se trata de un valor HIGH si habláramos inglés sería muy fácil recordarlas opción a implementar las referencias en la pá-
escribe un valor “alto” en el pin digital 7, es decir en esta cuarta función podemos entender que gina de Arduino pueden ser una buena idea: Observa que para poder validar es necesario
tenemos una salida de 5 volts. Las salidas digita- se trata de la lectura del pin analógico núme- colocar 2 signos igual, con un solo signo se tra-
https://www.arduino.cc/en/Reference/HomePage ta de una asignación, no te preocupes eso lo

70 71
veremos más adelante. Ahora que sabemos una condición que indica cuando termina y Para poder enviar y recibir datos del Arduino a
que contador efectivamente es igual a 5 pode- por último un incremento. En el ejemplo ve- Comunicación Serial nuestra computadora el IDE cuenta con una
mos seguir con el bloque de nuestro programa. mos que i inicia en cero, cada que el bloque herramienta llamada Monitor serial que se en-
se repite i aumenta 1; cuando i es igual a 9 ya cuentra en el menú rápido.
Pero, ¿qué pasa si queremos hacer otra cosa no es menor, así la instrucción no se cumple y Seguramente ya te han hablado sobre la im-
en caso que nuestro contador no sea 5? Bueno el ciclo termina. portancia de la comunicación, y como en
para eso contamos con la instrucción ELSE, que cualquier ambiente social, la comunicación Monitor
se trata de la acompañante de nuestro IF: WHILE. permite al ser humano desarrollarse y formar Serial
parte de una sociedad.
Códigos La sentencia while se puede traducir como
// Si contador es igual a 5 “mientras”. Así podemos repetir un bloque de
Bueno para el caso de las máquinas, la buena A través de esta ventana se puede enviar o
if( contador == 5 ) { código hasta que la validación se cumpla:
comunicación entre ellas y la comunicación con recibir información utilizando el puerto serie.
// El contador si es igual a 5 Códigos el usuario resultan uno de los pilares al momen- Nótese que para poder abrir esta ventana es
} else { while( vacaciones == true ) { to de desarrollar nuevas tecnologías. De hecho, necesario que tengamos nuestra placa Arduino
// Contador no es igual a 5 verYoutube(); una de las características que permitió crecer conectada a nuestra PC mediante USB.
} } en popularidad a la placa Arduino es la habili-
dad de comunicarse a través del puerto COM. Zona para
FOR Esto se conoce como comunicación serial. enviar datos
Para el caso de una instrucción iterativa, es de- DO WHILE es muy parecida a la sentencia
cir que se repite constantemente tenemos dis- WHILE, con la diferencia que el bloque de có- El Arduino puede conectarse a la computadora
ponible la función FOR en la que se define el digo primero se ejecuta y luego revisa la con- vía USB (Universal Serial Port) lo que nos permite
número de veces que nuestro bloque de códi- dición. Es la vieja técnica de más vale pedir alimentarlo con el voltaje necesario para funcio-
go se va a repetir: perdón que permiso. De esa manera las ins- nar y al mismo tiempo, gracias al convertidor Se-
trucciones en el bloque siempre se ejecutan rial-USB, sea reconocido como un puerto COM. Datos recibidos
Códigos
/* repetir iniciando i en cero, repite mientras i sea
al menos una vez. de Arduino
menor que 9, aumenta i cada que termina un bloque */ Códigos
for(int i=0; i<9; i++){ // comer papas y luego pedir permiso. Además de la comunicación vía USB tene-
//Bloque de código que se repite 9 veces. do { mos la posibilidad de comunicarnos con otros
} comerPapasFritas(); equipos gracias a nuestros pines RX, TX que se
} while ( permiso == true ); encuentran disponibles en nuestra placa.
Monitor Serial
Nuestra sentencia for, dispone de 3 elementos,
la declaración de una variable y valor inicial,

72 73
Para iniciar la comunicación serial con Arduino Serial.Read()
utilizando el Monitor Serial debemos conocer int Serial.Read()
Para obtener más información sobre las dis-
algunos comandos en el Arduino IDE.
tintas posibilidades de Serial.println() y
Serial.print() puede consultarse el sitio Lee o captura un byte (carácter) desde el puer-
Práctica
Serial.begin(baud_rate); web de Arduino. to serie. Devuelve el siguiente byte (carácter)
desde el puerto serie ó -1 si no hay ninguno. ¡Vamos a lanzar los dados!
Abre el puerto serie y fija la velocidad en bau- Como dueño de un casino, necesitas un nuevo
dios para la transmisión de datos en serie. El va- Serial.available() Ejemplo juego que simule el lanzamiento de dos dados
lor típico de velocidad para comunicarse con cada que el usuario presiona la tecla “p”, El re-
el ordenador es 9600, aunque otras velocida- Devuelve un entero con el número de bytes (ca- Códigos
sultado del lanzamiento es enviado mediante
des pueden ser soportadas. racteres) disponibles para leer desde el buffer comunicación serial a la computadora para ser
serie, ó 0 si no hay ninguno. Si hay algún dato int incomingByte = 0; // almacenar el dato serie mostrado en el monitor serial de nuestro IDE y tus
Códigos
disponible, Serial.available() será mayor void setup() { socios puedan ver el resultado de cada juego.
void setup() {
// abre el Puerto serie configurando la velocidad en 9600 bps que 0. El buffer serie puede almacenar como Serial.begin(9600); /* abre el puerto
Serial.begin(9600); máximo 128 bytes. serie,y le asigna la velocidad de Si el resultado es 7 entonces un LED parpadeara
} 9600 bps */ 3 veces para indicar al usuario que ha ganado,
Ejemplo: } de lo contrario solo prenderá por 3 segundos y
void loop() { se apaga.
Cuando se utiliza la comunicación serie los Códigos // envía datos sólo si los recibe:
pines digitales 0 (RX) y 1 (TX) no pueden uti- if (Serial.available() > 0) { Lo que necesitas:
int incomingByte = 0; // almacena el dato serie
lizarse para otros propósitos. // lee el byte de entrada:
void setup() {
Serial.begin(9600); /* abre el puerto serie y le asigna la velo- incomingByte = Serial.read(); Cable USB
Serial.print(data); cidad de 9600 bps */ //lo vuelca a pantalla Arduino
} Serial.print(“He recibido: “);
Serial.println(data); void loop() {
// envía datos sólo si los recibe:
Serial.println(incomingByte, DEC); Veamos los detalles del problema: en primer lu-
La función Serial.print() Imprime los datos if (Serial.available() > 0) { } gar en este caso no vamos a conectar ningún
en el puerto serie. Para el caso del coman- // lee el byte de entrada: } circuito aún, basta con conectar la placa con
incomingByte = Serial.read();
do Serial.println() toma la misma forma el cable usb a nuestra computadora. Para el
//lo vuelca a pantalla
que Serial.print(), pero es más fácil para Serial.print(“He recibido: “); caso del LED que necesitamos nuestro Arduino
la lectura de los datos en el Monitor Serie del Serial.println(incomingByte, DEC); UNO cuenta con LED integrado en el pin digital
} número 13. Así que eso será más que suficiente.
software porque agrega un retorno de carro
}
y salto de línea.

74 75
27 digitalWrite(pinLed, HIGH);
delay(500);
Funciones a considerar:
28
29 digitalWrite(pinLed, LOW); En arduino disponemos, entre otros, de los siguientes tipos de datos:
30 delay(500);
31 digitalWrite(pinLed, HIGH);
Serial.begin( baud_rate ); 32 delay(500);
Serial.available() 33 } else { Tipo de Dato Descripción Valores Posibles
del línea”);
Serial.println(“datos con fin 34 //prende una vez por que perdiste
35 Serial.println(“Lo sentimos, intenta nuevamente”);
Serial.readString(); digitalWrite(pinLed, HIGH);
random(numero_min, numero_ma
x); 36
delay(3000);
Boleano(binario) (1, 0, true, false)
37 boolean Ej. true
delay(tiempo_espera) 38 }
39 } else {
40 Serial.println(“Tecla incorrecta, presiona P para lanzar”);
41 } Caracter
Escribe el siguiente código en el IDE de Arduino char ASCII (0, 127)
42 } Ej. “a”
y cárgalo a tu placa: 43 }

Códigos Numerico -32,768 a 32,767


int Ej. 1280, -1280 (Valor de 16bits)
1 int pinLed = 13;
void setup() {
2
3 Serial.begin(9600);
Para iniciar debo pedirte que observes que Numérico grande -2,147,483,648 a 2,147,483,647
4 pinMode(pinLed, OUTPUT); cada línea del código de solución está nume- long Ej. 1280000, -1280000 (Valor de 32bits)
5 Serial.println(“Presiona p para a tirar los dados”); rada, de esa manera podemos referirnos a al-
6 }
7 guna parte del código de manera más exacta. Númerico pequeño 0 a 255
8 void loop() { byte Ej. 128 (Valor de 8bits)
digitalWrite(pinLed, LOW); //iniciamos con el led apagado
9
//vamos a ver si llega algo en el teclado
Y veamos que la línea uno nos presenta la de-
10
11 if(Serial.available() > 0) { claración de una variable de tipo entero con Números naturales y el cero 0 a 65535
12 String leerTeclado = Serial.readString(); un valor 13. En Arduino es importante declarar word Ej. 12800 (Valor de 16bits)
13 if(leerTeclado == “p”){
14 byte dado1 = random(1,7); nuestras variables correctamente. Una variable
15 Serial.println(“Valor Dado 1: “ + String(dado1) ); es un espacio de memoria al que asignamos un Números de punto flotante
16 byte dado2 = random(1,7);
nombre y donde podemos almacenar distintos -3.4028235E+38 a 3.4028235E+38
17 Serial.println(“Valor Dado 2: “ + String(dado2) ); float (precisión de 6 decimales)
byte total = dado1 + dado2; datos. Se trata de algo muy parecido a cuando (Valor de 32bits)
18 Ej. 128.123456, -128.654321
19 Serial.println(“Resultado: “ + String(total) );
20 if( total==7 ){ en matemáticas el profesor dice que x=2+4 o
//prende 3 veces por que eres ganador cuando decimos que el área es base por altura Idéntico al float.
21 -3.4028235E+38 a 3.4028235E+38
22 Serial.println(“GANASTE :)”); double (precisión de 6 decimales)
digitalWrite(pinLed, HIGH); y lo representamos con una “A”. (Valor de 32bits)
23 Ej. 128.123456, -128.654321)
24 delay(500);
25 digitalWrite(pinLed, LOW);
26 delay(500);

76 77
Mi primer circuito con arduino.

35

40

45

50

55

60
Entradas y salidas digitales.
Preguntas

35

40

45

50

55

60
Así, retomando, nuestra declaración nos dice tros definimos. Para este caso, nosotros espera-
que almacenamos el número 13 en la variable mos un valor entre el 1 y el 6. Observa que el
Veamos que tal tus habilidades Es tiempo de juntar la programación con com-
pinLed que es de tipo entero. ¿Se te ocurre una segundo valor colocado es 7; esto es porque, a
de traducción: ponentes electrónicos para llevar la progra-
forma de optimizar esta línea y ocupar menos diferencia del valor mínimo, el valor máximo no
memoria? Anótalo a continuación: está considerado dentro del rango. Así podemos Traduce a lenguaje natural las siguientes líneas: mación al mundo físico. Suena divertido ¿no?,
obtener como valor máximo el 6. pues manos a la obra. Como ya dijimos ante-
digitalWrite(pinLed, HIGH) riormente el Arduino cuenta con pines digita-
Si lo traducimos a lenguaje natural, esa línea les y analógicos que pueden ser usados como
dice algo como: entradas o salidas, en este caso trabajaremos
con los pines digitales.
Almacena en la variable “dado1” de tipo byte un
valor aleatorio mayor o igual a 1 y menor que 7. Serial.println(“GANASTE :)”);
Otro de los elementos que seguramente iden- Recuerda que cuando tu Arduino está conec-
tificarás es la función Serial de la cual hemos tado, ya sea por batería o cable USB, siempre
estado hablando. hay corriente. Por eso es importante verificar
¡Cuántas cosas podemos decir que no lo esté cuando manipulas los compo-
En la línea 11 observa que usamos la función en solo una línea de código! nentes electrónicos ya que puede causar da-
Ahora convierte las siguientes instrucciones a código: ños tanto a los componentes del circuito como
available para esperar a que exista un valor en
el buffer del monitor. Dentro de la siguiente línea, Esa es sin duda una de las grandes característi- al mismo Arduino.
en la línea 12 usamos una función que aún no cas de los lenguajes de programación. La faci- Inicia la comunicación serial a 4800 baudios.
comentamos. Serial.readString() la cual lidad para expresar fácilmente instrucciones de
je
realiza un casting para devolvernos una cade- tipo lógico-matemático. Salidas de Volta
na de texto (string) de los valores obtenidos.
e en-
alimentado pued
El Arduino al ser lid a.
Otra función nueva es random() que la usamos Retrasa la ejecución del programa por 5 los pines de sa
tregarte 5 volts en
en la línea 14, esta función como su nombre en segundos
inglés lo dice nos devuelve un valor aleatorio
que se encuentre dentro del rango que noso-

78 79
¿Ya observaste que la declaración de varia-
Funciones a considerar: Escribe el siguiente código en el IDE de Arduino
ble en la línea 1 de nuestro nuevo código es
y cárgalo a tu placa:
Práctica pinMode(num_pin, status);
diferente? Esto se debe a que se trata de un
; arreglo o matriz. Un arreglo es un conjunto de
digitalWrite(num_pin, valor) Códigos
Acelerador de partículas. digitalRead( num _pi n);
1 int pinArray[] = {5,6,7,8};
datos del mismo tipo. En este caso se trata de
2 int indice = 0; un conjunto de datos enteros. Los valores los
Vamos a generar un acelerador de partículas 3 int boton = 10;
podemos definir como una lista entre llaves {} y
que al presionar un botón inicie el proceso de 4
5 void setup() { separándolos por coma. Se precavido de que
aceleración. Por seguridad, al soltar el botón Diagrama de conexión: 6 // declaramos los pines como salida todos los datos que agregues cumplan con la
for (indice=0;indice<4;indice++) {
debemos detener el proceso y evitar que aca- J I F G H A B C D E
7
pinMode(pinArray[indice], OUTPUT); restricción de formato, es decir pon enteros con
8
bes en el pasado. 60 60
9 } enteros, booleanos con booleanos, caracteres
10 // Ahora el boton como entradas
11 pinMode(boton, INPUT); con caracteres.
Lo que necesitas: 55 55

12 }
13 Además de la declaración usada en nuestro
14 void loop() {
4 Leds
50 50

15 // al presionar el boton 1 enciende nuestro acelerador código, podemos declarar una matriz indican-
if( digitalRead(boton) == HIGH ){
5 Resistencias de 220 Ω 45 45 16
aceleradorParticulas(50); do el tipo de dato y el tamaño:
17
1 Pulsador 18 }
1 Protoboard
40 40
19
}
// arreglo de bytes de 5 posiciones
20
1 Cable USB 21 void aceleradorParticulas(int espera){ byte arregloWow[4];
// recorremos los pines en escala ascendente
35 35

1 Arduino 22
for (indice=0;indice<4;indice++) {
23
30 30
24 digitalWrite(pinArray[indice], HIGH); Te estarás preguntando ¿Pero, por qué si son 5
delay(espera);
Recuerda que los pines tienen polaridad, así 25
digitalWrite(pinArray[indice], LOW);
posiciones ponemos el número 4? esto es porque
26
que hay que prestar atención al ánodo y cá-
0 RX0 25 A5 25
delay(espera); la posición 0 también cuenta, asi que 0, 1, 2, 3 y 4
ON
27

ANALOG IN
1 TX0 ICSP

1
A4

todo al conectarlos. Si tienes dudas para co- } son las posiciones que tenemos disponibles. Una
2 ) A3

28
3 A2

// recorremos los pines en escala descendente


DIGITAL (PWM=

4 A1

nectarlos, te recomiendo ver la práctica “Ley 29 vez declarado es posible asignar el valor:
5 20 A0 20

for (indice=2;indice>0;indice--) {
6

30

POWER
7 VIN

digitalWrite(pinArray[indice], HIGH);
de Ohm” del apartado de electrónica.
GND
TM

31
8
GND

delay(espera);
9
Arduino

15 5V 15

32 //asigna el valor 7 a la posición 0


10
3V3

digitalWrite(pinArray[indice], LOW);
11
RESET

33
12
IOREF

delay(espera); arregloWow[0] = 7
13

Para conocer el valor de la resistencia recuer- 34


GND
10 10
RX
L

TX

}
AREF

da que contamos con un material para reco- 35


ICSP2

36 }
nocerlas fácilmente. Así que es tiempo de sacar Para leer un valor de un arreglo basta con escri-
5 5

bir el nombre y la posición que deseamos:


RESET

tu tarjetita para Resistencias. 1


J I F G H A B C D E
1

80 81
/* asigna a la variable “v1” el valor con- Siguiendo la limitación del microcontrolador
tenido en la posición 3 de arregloWow */ aceleradorParticulas(50); PWM de manejar las señales analógicas, la opción
v1 = arregloWow[3]; Modulación por ancho de pulso que tiene es simular la salida analógica; esto se
Así el valor de espera es de 50 para nues- hace activando una salida digital durante un
Algo nuevo en este código es que usamos una tra función, intenta cambiar ese valor por tiempo y mantenerla apagada durante el resto,
nueva función. El definir funciones propias ayu- los siguientes valores: 30000, 1000 y 10. En electrónica hay muchos componentes que tra- en realidad existe más de una forma de hacerlo
da a hacer el código más legible y permite re- Anota tus observaciones. bajan con señales analógicas entre los más desta- pero una de las formas más sencillas y por ende
utilizar elementos de tu código. Algo muy ne- cados están los potenciómetros y los sensores. usada en tu Arduino es la modulación de ancho
cesario cuando trabajamos con espacios de de pulso (PWM) En esta modulación se mantiene
memoria limitados. Ya hemos comentado que para leer una señal ana- constante la frecuencia (es decir, el tiempo entre
lógica en el Arduino basta con usar: disparo de pulsos), mientras que se hace variar
Para declarar una función basta con poner el la anchura del pulso.
tipo de dato que devuelve, el nombre, si reci- analogRead();
Ciclo de trabajo 10%
be parámetros, si recibe más de uno son sepa-
rados por coma, y el bloque de código que En el fondo esta función es bastante compli- 5V
corresponde a esa función encerrado entre lla- cada, primero tenemos que entender que un Promedio
0V
ves {}. Los tipos de datos son los mismos que al microcontrolador no tiene capacidad algu- Ciclo de trabajo 30%
declarar variables. En este caso el tipo “void” na para trabajar con señales analógicas, de
5V
indica que no devuelve ningún valor. modo que tiene que convertirlas a digitales Promedio
¿Cómo harías para que este valor fuera esto se hace con un ADC (Conversor Ana- 0V
aumentando conforme pasa el tiempo? lógico Digital).
Periodo

Ciclo de trabajo 50%


5V
Anota tus observaciones.
Ejercicio La precisión tiene costo 0V
Promedio

Anchura pulso
Ciclo de trabajo 90%
microcontroladores
Por norma general en los
ica s son más escasas, más 5V
Observa que nosotros estamos pasando las entradas analóg Promedio

entradas digitales.
un parámetro llamado “espera” en la lentas y más caras que las 0V

función aceleradorParticulas y que es de En una salida PWM el valor de tensión realmente es Vcc.
tipo entero. Este parámetro lo definimos Por ejemplo, si estamos alimentando un dispositivo que
cuando llamamos a la función, en este Escribirlos también va más allá de un; necesita 3V en realidad estaremos suministrando 5V du-
caso en la línea 17: rante un 60% del tiempo y 0V durante el 40% pero si el
analogWrite(); dispositivo soporta como máximo 3V podemos dañarlo.

82 83
Regresando al Arduino este implementa por Diagrama de conexión: Escribe el siguiente código en el IDE de Arduino
hardware salidas PWM en varios de sus pines, J I F G H A B C D E
y cárgalo a tu placa:
que aparecen identificados en la placa con el
símbolo “~” junto al número del pin. Práctica 60 60
Códigos
1 int pinLed = 9;
2
Ahora que hemos ahondado en 55 55
3 void setup() {
PWM en Arduino la cuestión de las salidas y entradas 4 pinMode(pinLed, OUTPUT);
5 pinMode(A0, INPUT);
analógicas, parece algo confuso, pero nada 50 50 6 }
En Arduino Uno, Mini y Nano, disponemos como una práctica para ver la forma tan sencilla y 7
de 6 salidas PWM de 8bits en los pines 3, 8 void loop() {
útil que puede ser para nosotros este proceso. 9 int pot = analogRead(A0);
5, 6, 9, 10 y 11.
/* mapeamos un valor de 10 bits para escribir en uno de 8 */
45 45
10
11 int intensidad = map(pot, 0, 1023, 0, 255);
Lo que vamos a realizar es un indicador de inten- analogWrite(pinLed, intensidad);
12
sidad, nuestra perilla establecerá la intensidad 40 40
13 }
que será vista desde nuestro indicador. Muy útil
cuando deseas hacer tableros de control para 35 35

lanzamientos de cohetes.
Se trata de un código muy interesante, porque
podemos darnos cuenta como podemos leer y
RESET

Lo que necesitas: 30 30

escribir valores analógicos de una forma muy


1 Led
0 RX0 A5
sencilla. Básicamente leemos el valor que el

ON

ANALOG IN
1 TX0 ICSP

1
A4

potenciómetro nos devuelve, este valor que es


ICSP2

25 25

1 Resistencia 220 Ω
2 A3

)
3 A2

1 Potenciómetro 100K Ω de 10 bits puede tener un rango entre 0 y 1023.

DIGITAL (PWM=
4 A1

5 A0

AREF
TX
RX

1 Protoboard
L

20 20

POWER
GND
7 VIN

GND
Ahora para cuando queremos pasar el valor a

TM
1 Arduino
13 8
GND
IOREF
12
nuestro LED para que encienda de acuerdo a
9

Arduino
5V
RESET
Arduino

1 Cable USB
10
11 11 15
3V3
15

la intensidad. Necesitamos un valor de 8 bits, es


3V3 RESET
10 12
IOREF
5V
9
13

GND
8
GND
decir un rango de 0 a 255. Para eso usamos la

RX
L

TX
Funciones a considerar:
POWER

GND
AREF
TM

10 10
función map que nos permite hacer esa con-
DIGITAL (PWM=

VIN 7

versión, se trata de una regla de 3 ya definida.

ICSP2
6
A0 5
A1 4 analogRead(pin); 5 5

analogWrite(pin, valor);

RESET
La función map requiere de 5 parámetros: el
A2 3
ANALOG IN

in, nuevoMax);
A3 2
)

A4
ICSP TX0 1 map(valor, min, max, nuevoM valor, el mínimo de rango, el máximo del rango,
ON
1

1 1
A5 RX0 0
el nuevo valor mínimo y el nuevo valor máximo.
J I F G H A B C D E

84 85
Librerias. Ahora, es posible que cuentes ya con la libre-
LiquidCrystal.h
Ejercicio Gestor de Librería: ría en un archivo comprimido (.zip) en ese caso
solo necesitas importarla. Esto lo puedes hacer
unas librerías estándar,
Arduino dispone de alg desde el menú Programa:
Una de las grandes fortalezas de Arduino es el menú Programa.
puedes encontrarlas en
la oportunidad de aumentar la funcionalidad rería.
Ahora que te parece si intentamos una a través de códigos precargados conocidos Programa -> Incluir Lib Programa-> Incluir Libreria -> Añadir librería .ZIP
opción con más LEDs. De tal manera como librerías. Incluso muchos fabricantes de
que de acuerdo al valor obtenido en hardware incluyen sus librerías para hacer im-
el potenciómetro se enciendan o apa- plementaciones en Arduino con sus productos. Para cargar una librería dentro de nuestro proyec-
guen 5 LEDs. ¡Manos a la obra! “Existen cientos de librerías desarrolladas por to, existen diferentes formas, basta con dirigirnos a
terceros en internet, que nos ayudarán a co- nuestro gestor de librerías que se encuentra en el
Vamos a probar si recuerdas la fun- nectar prácticamente cualquier dispositivo a menú Programa:
ción map(), completa la línea abajo nuestras tarjetas con Arduino.” Menciona Geek-
suponiendo que tienes un valor de 10 Factory y además nos ofrece una lista de con- Programa -> Incluir Libreria -> Gestionar Librerías
bits que quieres representar en como sulta sobre los archivos que incluye normalmen- Con esto un navegador de archivos nos permiti-
porcentaje: te una librería: Para encontrar una serie de ficheros y actualiza- rá seleccionar la ubicación de nuestra librería y
ciones disponibles en internet. cargarla. Después de este proceso, tendremos
Un archivo .cpp (código de C++) ya disponible la librería para usarla en nuestros
int nuevoValor1 = map (valorBits, A, B, C. D)
programas. Sin embargo, si la librería contaba
Un archivo .h o encabezado de C con ejemplos, estos serán visibles hasta que se
A= reinicie el entorno de desarrollo.
Un archivo Keywords.txt
B= Si todo falla, no te preocupes, respira tres veces
y recuerda que tienes la opción de instalarla de
Muy posiblemente la librería incluye un ar-
manera manual, para esto basta con copiar los
C= chivo readme con información adicional
ficheros .ccp, .h y el directorio de ejemplos de
sobre la librería para el desarrollador.
ser necesario en la carpeta Arduino/libraries que
D= está en tu carpeta dentro de mis “documentos”.
Directorio de sketch de ejemplo (opcional).

86 87
La complejidad de nuestros circuitos va en 17 lcd.setCursor(0, 0); Cuando cargamos la librería, veremos
aumento, así que te recomendamos revisar la 18 lcd.print(“La bola dice:”); cómo se agrega una línea a nuestro
correcta conexión de todos los componentes 19 lcd.setCursor(0, 1);
Práctica antes de realizar pruebas con el código. 20 switch(respuesta) {
código, la instrucción #include nos
permite poder hacer uso de nuestro
21 case 0:
lcd.print(“Si”);
librería en nuestro programa. Justo
La bola 8 era un juguete muy 22
Recuerda el tipo de respuesta que necesitas: después de la carga de la librería, lo
23 break;
popular hace algunos años, la Si, No, Puede ser, Tal vez, No lo creo... que hacemos es una instancia para
24 case 1:
persona puede hacer una pregunta lcd.print(“No”); hacer uso de las funciones disponi-
25
que se responda con sí o no, y veía a través Funciones a considerar: 26 break; bles. Piensa en una instancia como
de una ventana la respuesta a su pregunta. Las 27 case 2: una copia local del funcionamiento
respuestas pueden ser afirmativas, negativas #include <libreria.h> 28 lcd.print(“Tal vez”); de nuestra librería.
o neutras. La referencia que seguro ubicas es 29 break;
cuando Woody pregunta a una Bola 8 si Andy 30 } En este caso el nombre de nuestra
lo llevará a Pizza Planeta en la película Toy Story 31 }
Escribe el siguiente código en el IDE de Arduino instancia es lcd, que va a tener todas
de Pixar. 32 }
y cárgalo a tu placa: las funciones de LiquidCrystal. Es por
eso que lo usamos de esta manera
Ahora desarrollaremos un pequeño juego en
1

en todo el código: lcd.funcion(),


nuestro Arduino parecido a la Bola 8, donde al Códigos de esta manera le indicamos a Ar-

10

15

20

25

30

35

40

45

50

55

60
1

5
presionar un botón, la respuesta a nuestra pre-

J
#include <LiquidCrystal.h> duino donde se encuentra esa fun-

I
1

F G H

F G H
gunta aparecerá en nuestro display LCD. 2 ción y podemos ejecutarla sin nin-
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

A B C D E

A B C D E
3 gún problema.
Lo que necesitas: 4

10

15

20

25

30

35

40

45

50

55

60
1

5
5 int boton = 6; En general, notarás que la mayoría
6 de librerías incluyen una descripción
1 Arduino void setup() {
7
1 Cable USB lcd.begin(16, 2);
con las distintas funciones que po-
8
1 Protoboard 9 pinMode(boton, INPUT); seen y cómo usarlas. Pero si por al-
1 Display LCD 2x16 10 Diagrama guna razón no es así, puedes revisar

GND

9
8

7
6
5
4
3
2
1
0
AREF

13
12

10
11
RESET

RX0
TX0
DIGITAL (PWM= )

de conexión: en el código fuente para encontrar


ICSP2

lcd.print(“BOLA 8”);
L

1 Botón 11 TX ON

a qué métodos tienen acceso, para


Arduino
TM

}
RX

12
1 Resistencia de 220 Ω
1

13 void loop() { el caso de Arduino puedes revisar el

ICSP
1 Potenciómetro 10K Ω 14 if (digitalRead(boton) == HIGH) { archivo .h dentro de la carpeta de tu
1 Resistencia de 10K Ω 15 int respuesta = random(0,3); POWER ANALOG IN
librería, donde encontrarás listadas

RESET
IOREF

GND
GND
lcd.clear();

3V3

VIN
16

5V

A0

A1

A2

A3

A4

A5
88 89
las funciones disponibles. Recuerda que las fun- default. Esta se ejecuta siempre que no entres
ciones a las que puedes acceder son aquellas en ninguno de los casos anteriores: Juego de Velocidad.
de tipo public. Integra tus conocimientos.
1
Códigos
switch(respuesta) { //opciones para los valores de respuesta
Práctica
Además; en este ejemplo, podemos ver una 2 case 0: //en caso que sea cero
nueva estructura de control. Se trata de la es- 3 lcd.print(“Si”); //imprime en el display “Si” Ahora que ya tienes todos los conocimientos Lo que necesitas:
4 break; // finalizar
tructura switch. Que nos permite elegir un com- case 1: //en caso que sea uno básicos de Arduino, es tiempo de ponerlos en
5
portamiento adecuado dependiendo del valor 6 lcd.print(“No”); //imprime en el display “no” práctica y ver que tal te va con un proyecto 5 LEDS
que pasamos como parámetro. Si tomamos, 7 break; //finalizar
más grande. En este caso, como quien se di- 2 Pulsadores
8 case 2: // en caso que sea dos
por ejemplo, el código para esta práctica diría 9 lcd.print(“Tal vez”); //imprime en el display “Tal vez” vierte aprende más, vamos a realizar un peque- 8 Resistencias de 220 Ω
algo como esto: 10 break; //finalizar ño juego electrónico de destreza y velocidad. 1 Arduino
11 default:
Códigos lcd.print(“Error”);
1 Cable USB
12
1 switch(respuesta) { //opciones para los valores de respuesta 13 break; El funcionamiento es sencillo, la luz va a viajar en- 1 Protoboard
2 case 0: //en caso que sea cero 14 } tre los LEDs de nuestro juego de la misma manera 1 Display LCD 2x16
3 lcd.print(“Si”); //imprime en el display “Si”
4 break; // finalizar que lo hacía en la práctica del acelerador de 1 Potenciómetro de 10kΩ
5 case 1: //en caso que sea uno partículas. Aunque ahora agregaremos uno más.
6 lcd.print(“No”); //imprime en el display “no”
7 break; //finalizar Toma en cuenta que son varias las funcionali-
8
9
case 2: // en caso que sea dos
lcd.print(“Tal vez”); //imprime en el display “Tal vez”
Ejercicio El objetivo del juego es detener la luz en el LED
de en medio (LED 3), para detener la luz hay
dades que necesitamos se encuentren dispo-
10 break; //finalizar nibles. Esto requiere tomar en cuenta cada ac-
Sin consultar internet elige alguna librería que presionar los dos botones al mismo tiempo. tividad y limitar al máximo el uso de la función
11 } dentro de tu IDE y menciona las funciones Si aciertas, entonces ganas 1 punto y aumen- delay(); recuerda que al usarla vamos a dete-
que podemos usar. Después investiga los métodos que men-
ciona en su documentación y compara. tas de nivel donde se vuelve más rápido. Ahora ner todas las ejecuciones. Y eso no es ideal.
si te quedas en los leds de en medio laterales
Cómo puedes notar podemos tener n cantidad Librería: (LED 1, 2, 4 y 5) pierdes.
de casos que nos permiten evaluar el valor de Métodos disponibles antes Métodos disponibles según Funciones a considerar:
respuesta. Piensa en una serie de if anidados de revisar la documentación: la documentación:
Para hacerlo interesante, vamos a usar el dis-
entre ellos. La palabra break nos indica que
play de la práctica pasada para mostrar en la millis();
hay que salir del ciclo y es muy útil para evi-
pantalla el nivel y la puntuación mayor. Una vez
tar que el programa siga considerando casos
que quien esté jugando pierda, entonces reini-
cuando ya encontró el que correspondía.
ciamos todos los valores.
Además, si deseas mejorar el control de errores
en esta instrucción contamos con la opción

90 91
Códigos 47 if(indice == 0){ 95 } Diagrama de conexión:
48 digitalWrite(pinArray[4], LOW); 96 pantalla();
1 #include <LiquidCrystal.h> 49 } else { 97 }
2 50 digitalWrite(pinArray[ indice-1 ], LOW); 98
3 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 51 } 99 void perdio(){
4 52 100 //le decimos al usuario que perdio

A5

A4

A3

A2

A1

A0

VIN

GND

5V
GND

3V3

RESET
IOREF
int boton1 = 0;
ANALOG IN POWER

5 53 //prendemos el led nuevo 101 lcd.clear();


6 int boton2 = 1; 54 digitalWrite(pinArray[indice], HIGH); 102 lcd.setCursor(0, 0);
7 55 103 lcd.print(“PERDISTE”);
8 int pinArray[] = {6,7,8,9,10}; 56 //aumentamos el indice 104
9 57 if(indice < 4){ 105 //apagamos los leds

ICSP
10 int nivel = 1; 58 indice++; 106 for (indice=0;indice<5;indice++) { 1

11 int velocidad = 80; 59 } else { 107 digitalWrite(pinArray[indice], LOW); Arduino RX

12 int indice = 0; 60 indice = 0; 108 }


TM
ON TX

13 int record = 0; 61 } 109 L


ICSP2

14 bool b1 = LOW; 62 } 110 //reiniciamos variables


) DIGITAL (PWM=

RX0
TX0
RESET

AREF
bool b2 = LOW;

GND
15 63 } 111 nivel = 0;

10
11
12
13
0
1
2
3
4
5
6
7

8
9
16 unsigned long previo = 0; 64 112 velocidad = 80;
17 unsigned long tiempo = 0; 65 } 113 indice = 0;
18 66 114
19 void setup() { 67 void pantalla(){ 115 delay(500);
20 lcd.begin(16, 2); 68 //mostramos los datos en nuestro display 116
21 69 lcd.clear(); 117 pantalla();

60

55

50

45

40

35

30

25

20

15

10

1
22 pinMode(boton1, INPUT); 70 lcd.setCursor(0, 0); 118 }

A B C D E

A B C D E
23 pinMode(boton2, INPUT); 71 lcd.print(“NIVEL: “);
24 72 lcd.print(nivel);
25 for (indice=0;indice<5;indice++) { 73 lcd.setCursor(0, 1);
26 pinMode(pinArray[indice], OUTPUT); 74 lcd.print(“MAX: “);

F G H

F G H
27 } 75 lcd.print(record);
28 76 }

I
29 lcd.print(“VAMOS A JUGAR”); 77

J
30 } 78 void paroUsuario(int indice){

60

55

50

45

40

35

30

25

20

15

10

1
0
31 79 //controlamos los datos de acuerdo al lugar donde se quedó el indice
32 void loop() { 80 switch(indice){
33 tiempo = millis(); //obtenemos el tiempo de ejecución 81 case 3:
34 82 aumentaNivel();
35 b1 = LOW; 83 break;
36
37
38
b2
b1
b2
=
=
=
LOW;
digitalRead(boton1);
digitalRead(boton2);
84
85
86
default:
perdio();
break;
¡Ya notaste
39
40 if(b1 == HIGH && b2 == HIGH) {
87
88 }
}
cuanto código!
41 paroUsuario(indice); 89
42 } else { 90 void aumentaNivel(){
43 if(previo+velocidad <= tiempo){ 91 nivel++;
44 previo = tiempo;//asignamos el ultimo estado de cambio 92 velocidad -= 8;
45 93 if(record<nivel){
46 //apagamos el led anterior 94 record = nivel;

92 93
Observa que se han creado una serie de fun- Y con esta práctica llegamos al final de las activi-
ciones para definir momentos del proyecto. Por dades. Te invito a que revises una vez más cada Recortable.
ejemplo: tenemos una función para aumentar uno de ellos e intentes hacerlos cada vez más efi-
de nivel, una para cuando el usuario pierde y cientes. Prueba nuevas funcionalidades, cambia
una más para mantener actualizada la pan- la estructura del código. El mundo de Arduino es
talla. Además, ahora podemos ver que las va- muy extenso y esto se trata solo de una introduc-
riables que son declaradas hasta arriba, que ción a ello, ya tienes las herramientas básicas y el
llamamos variables globales son accesibles camino está ahí. Es hora de seguirlo y pulir esas
desde todas esas funciones, sin embargo, si de- herramientas para convertirte en un experto.
claramos una variable dentro de una función,
ésta sólo sería accesible desde esa misma fun- A manera de conclusión.
ción donde la inicializamos. Esto se conoce
como variables locales. Quiero felicitarte por llegar hasta a aquí, sin duda
durante estos ejercicios y actividades hemos en-
Observa, también, que el uso de la función delay se contrado un proceso de aprendizaje que resulta
limitó al máximo. Esto es porque al tener tantos de mucho valor para tu desarrollo. Y ahora, si has
pines de entrada y salida esperando valores, encontrado interés en la electrónica y la progra-
si nosotros detenemos nuestro programa, por mación, déjame decirte que ya formas parte de
ejemplo para cambiar el estado de los LEDs, esas personas que encuentran una gran satis-
todas las acciones también se detendrán. Así, facción en la creación de cosas nuevas.
mientras el delay está “esperando” al presionar
Como dijo Nikola Tesla:
un botón no pasaría nada.

“No creo que haya alguna emoción más intensa para un in-
ventor que ver alguna de sus creaciones funcionando. Esa
emoción hace que uno se olvide de comer, de dormir, de todo”

94” 95
Referencias

Anónimo, (2016). [online] Disponible en: http://www.reflexio- Info-ab.uclm.es. (2016). Sensor CNY70. [online] Disponible
na.biz/shop/content/27-codigo-de-color-de-las-resistencias en: http://www.info-ab.uclm.es/labelec/solar/otros/infrarro-
jos/sensor_cny70.htm
Arduino Projects Book. (2013). 2nd ed. Torino, Italia: Arduino LLC.
Luis Llamas. (2016). Salidas analógicas PWM en Arduino.
Arduino.cc. (2016). Arduino - Reference. [online] Dinponi- [online] Disponible en: http://www.luisllamas.es/2015/08/sa-
ble en: https://www.arduino.cc/en/Reference/HomePage lidas-analogicas-pwm-en-arduino/

Areatecnologia.com. (2016). Homopolar Motor Explicación Panama Hitek. (2013). Comunicación Serial con Arduino -
y Funcionamiento Facil. [online] Disponible en: http://www. Panama Hitek. [online] Disponible en: http://panamahitek.
areatecnologia.com/electricidad/motor-homopolar.html com/comunicacion-serial-con-arduino/

Cuaderno de Cultura Científica. (2016). La ley de Ohm | Expe- Playground.arduino.cc. (2016). Arduino Playground - Ar-
rientia docet | Cuaderno de Cultura Científica. [online] Disponi- duino en Español - Wiki Comunitaria. [online] Disponible
ble en: http://culturacientifica.com/2016/04/26/la-ley-ohm/ en: http://playground.arduino.cc/Es/Es

Definición ABC. (2016). Definición de Voltaje. [online] Dispo- Ruben, J. (2014). Como Instalar una Librería de Arduino -
nible en: http://www.definicionabc.com/ciencia/voltaje.php Geek Factory. [online] Geek Factory. Disponible en: http://
www.geekfactory.mx/tutoriales/como-instalar-una-libre-
Definición.de. (2016). Definición de intensidad — Definicion. ria-de-arduino/
de. [online] Disponible en: http://definicion.de/intensida-
d/#ixzz4IN5tISau Taringa.net. (2012). Armá un motor en 1 minuto. [online]
Disponible en: http://www.taringa.net/posts/hazlo-tu-mis-
Es.wikipedia.org. (2016). Michael Faraday. [online] Dispo- mo/14026836/Arma-un-motor-en-1-minuto.html
nible en: https://es.wikipedia.org/wiki/Michael_Faraday

96 97
98 99

También podría gustarte