Teoría Básica de Arduino y Electrónica
Teoría Básica de Arduino y Electrónica
La mayoría de los cursos arduinos traen guías como esta que aborda el aprendizaje sobre el concepto DIY (Do it yourself) o
en español 5Hazlo tú mismo. Luego de una cuidadosa selección de componentes electrónicos y apoyados en la placa
Arduino se crea el producto Kit Básico de Arduino apoyado de esta guía.
Abordamos temas fundamentales como el hardware y software libre, revisando de manera cuidadosa el proyecto Arduino y
apoyándonos en el Software Fritzing para lograr montajes muy llamativos y semejantes a la realidad. No es necesario que
sepas de electrónica y programación porque con los siguientes dos capítulos abordamos los conceptos desde lo más básico
hasta lo fundamental. Luego de conocer estos conceptos tenemos un capítulo dedicado a que conozcas los componentes
electrónicos como un LED, un motor, un buzzer y muchos más. Hemos diseñado un capítulo especial sobre Arduino y Fritzing
los cuales no puedes dejar de ver.
El prototipado (crear montajes rápidos con ayuda de una protoboard y componentes básicos de electrónica) juega un papel
importante en la computación física. Herramientas como Arduino y Fritzing son útiles para diseñadores, artistas, estudiantes y
entusiastas porque ayudan a elaborar prototipos rápidamente.
Hardware libre
Dado que el hardware tiene asociados a él costos variables
directos, ninguna definición de software libre se puede
aplicar directamente sin modificación. En cambio, el término
hardware libre se ha usado principalmente para reflejar el
uso del software libre con el hardware y el lanzamiento libre
de la información con respecto al hardware, a menudo
incluyendo el lanzamiento de los diagramas esquemáticos,
diseños y montajes.
Se llama hardware libre a los dispositivos de hardware
cuyas especificaciones y diagramas esquemáticos son de
acceso público, ya sea bajo algún tipo de pago o de forma
gratuita. La filosofía del software libre (las ideas sobre la
libertad del conocimiento) es aplicable a la del hardware
libre. Se debe recordar en todo momento que libre no es
sinónimo de gratis. El hardware libre forma parte de la
cultura libre.
Software libre y Creative Commons
Software libre Creative Commons
El software libre (en inglés free software, aunque esta Creative Commons (CC) es una organización no
denominación también se confunde a veces con "gratis" gubernamental sin ánimo de lucro que desarrolla planes
por la ambigüedad del término "free" en el idioma inglés, para ayudar a reducir las barreras legales de la
por lo que también se usa "libre software" y "logical creatividad, por medio de nueva legislación y nuevas
libre") es la denominación del software que respeta la tecnologías. Las licencias Creative Commons o CC están
libertad de los usuarios sobre su producto adquirido y, inspiradas en la licencia GPL (General Public License) de
por tanto, una vez obtenido puede ser usado, copiado, la Free Software Foundation, compartiendo buena parte
estudiado, modificado, y redistribuido libremente. de su filosofía.
Según la Free Software Foundation, el software libre se La idea principal detrás de ellas es posibilitar un modelo
refiere a la libertad de los usuarios para ejecutar, copiar, legal ayudado por herramientas informáticas, para así
distribuir, estudiar, modificar el software y distribuirlo facilitar la distribución y el uso de contenidos. Existe una
modificado. serie de licencias Creative Commons, cada una con
diferentes configuraciones, que permite a los autores
poder decidir la manera en la que su obra va a circular en
internet, entregando libertad para citar, reproducir, crear
obras derivadas y ofrecerla públicamente, bajo ciertas
diferentes restricciones. La licencia de la presente obra
se expone en la página 16.
Arduino
Plataforma de electrónica abierta
Arduino es una plataforma de electrónica abierta
para la creación de prototipos basada en software y
hardware libre, flexibles y fáciles de usar. Se creó Interacción con el entorno
para artistas, diseñadores, aficionados y cualquier Arduino puede tomar información del entorno a
interesado en crear entornos u objetos interactivos. través de sus pines de entrada, para esto toda una
gama de sensores puede ser usada y puede afectar
aquello que le rodea controlando luces, motores y
Programación otros actuadores.
El microcontrolador en la placa Arduino se programa
mediante el lenguaje de programación Arduino
(basado en Wiring) y el entorno de desarrollo
Arduino (basado en Processing). Accesibilidad
Las placas pueden ser hechas a mano o comprarse
montadas de fábrica; el software puede ser
descargado de forma gratuita. Los ficheros de
diseño de referencia (CAD) están disponibles bajo
una licencia abierta, así pues eres libre de
adaptarlos a tus necesidades.
[Link]
Fritzing
[Link]
ELECTRÓNICA
Concepto de electrónica
Estudia y emplea sistemas cuyo funcio-
namiento se basa en la conducción y el
control del flujo de los electrones u
otras partículas cargadas eléctricamen-
te.
Voltaje
Voltaje AC
Es la corriente eléctrica en la que la magnitud y
dirección varían cíclicamente. La forma de onda de
la corriente alterna más comúnmente utilizada es la
de una onda seno.
Corriente
Es el flujo de electrones a través de un conductor o semiconduc-
tor en un sentido. La unidad de medida de ésta es el amperio (A).
Una corriente eléctrica, puesto que se trata de un movimiento de
cargas, produce un campo magnético, un fenómeno que puede
aprovecharse en el electroimán, este es el principio de funciona-
miento de un motor.
Ley de Ohm
La ley dice que la corriente (I) que circula por
un conductor eléctrico es directamente proporcional
al voltaje (V) e inversamente proporcional a
la resistencia (R).
Sistemas electrónicos
Un sistema electrónico es un conjunto de circuitos que interact-
úan entre sí para obtener un resultado. Una forma de entender
los sistemas electrónicos consiste en dividirlos en entradas, sali-
das y procesamiento de señal.
Entradas
Las entradas o Inputs: Son sensores (o transductores) electróni-
cos o mecánicos que toman las señales (en forma de tempera-
tura, presión, humedad, contacto, luz, movimiento, pH etc.)
del mundo físico y las convierten en señales de corriente o
voltaje.
Procesamiento de señal
Variable digital
Variable análoga
Divisor de voltaje
Un divisor de voltaje es una configuración de circuito eléc-
trico que reparte el voltaje de una fuente (Vin) entre una
o más resistencias (R1, R2) conectadas en serie (una a
continuación de otra).
3Q
Comunicación serial
Es una interfaz de comunicaciones de
datos digitales, frecuentemente utili-
zado por computadores y periféricos,
donde la información es transmiti- 3T
da bit a bit enviando un solo bit a la
vez. Uno de sus usos es monitorear a
través de la pantalla del computador
el estado del periférico
conectado, por ejemplo al pulsar la letra A en el teclado se debe encender
un LED conectado de manera remota al computador.
COMPONENTES ELECTRÓNICOS
Microcontrolador
Un microcontrolador (abreviado μC,UC o MCU) es un circuito
integrado programable, capaz de ejecutar las órdenes grabadas
en su memoria. Está compuesto de varios bloques funcionales,
los cuales cumplen una tarea específica. Un microcontrolador
incluye en su interior las tres unidades funcionales principales:
unidad central de procesamiento (CPU), memoria y periféricos de entrada y salida
(I/O).
Resistencia
4C
Símbolo Componente
4D
Ejemplo
4E
Símbolo Componente
Un diodo es un componente electrónico de dos terminales que permite la circulación
de la corriente eléctrica a través de él en un solo sentido. Tiene dos partes: el cáto-
do y el ánodo.
Transistor
4F
Símbolo Componente
El transistor es un dispositivo electrónico semiconductor que cumple funciones de
amplificador, oscilador, conmutador o rectificador. Tiene tres partes: la base (B), el
emisor (E) y colector (C).
Condensador
4G
Símbolo Componente
Un condensador o capacitor es un dispositivo utilizado en electrónica, capaz de
almacenar energía sustentando un campo eléctrico. Está formado por un par de
superficies conductoras, generalmente en forma de láminas o placas, en situación
de influencia total separadas por un material dieléctrico o por el vacío.
Las placas, sometidas a una diferencia de potencial, adquieren una deter-
minada carga eléctrica, positiva en una de ellas y negativa en la otra.
LED
Símbolo Componente
4H
Un LED (Diodo emisor de luz, también "diodo luminoso") es un diodo semiconductor
que emite luz. Se usan como indicadores en muchos dispositivos,
y cada vez con mucha más frecuencia en iluminación. Los LEDs
presentan muchas ventajas sobre las fuentes de luz incandescen-
te como un consumo de energía mucho menor, mayor tiempo de
vida, menor tamaño, gran durabilidad y fiabilidad.
LED RGB
4I
Símbolo Componente
Pulsador
Símbolo Componente
4J
Un botón o pulsador es utilizado para activar alguna función. Los botones son por lo
general activados al ser pulsados, normalmente con un dedo. Un botón de un dispo-
sitivo electrónico funciona por lo general como un interruptor eléctrico, es decir en
su interior tiene dos contactos, si es un dispositivo NA (normalmente abier-
to) o NC (normalmente cerrado), con lo que al pulsarlo se activará la fun-
ción inversa de la que en ese momento este realizando.
Reed switch
4K
Símbolo Componente
Potenciómetro
4L
Símbolo Componente
Un potenciómetro es una resistencia cuyo valor de resistencia es variable. De esta
manera, indirectamente, se puede controlar la intensidad de corriente que fluye por
un circuito si se conecta en paralelo, o controlar el voltaje al conectarlo en serie.
Son adecuados para su uso como elemento de control en los aparatos
electrónicos. El usuario acciona sobre ellos para variar los parámetros
normales de funcionamiento. Por ejemplo, el volumen de un radio.
Fotocelda
4M
Símbolo Componente
Es una resistencia, cuyo valor en ohmios varía ante las variaciones de la luz inciden-
te. Una fotocelda presenta un bajo valor de su resistencia ante la presencia de luz y
un alto valor de resistencia ante la ausencia de luz.
4N
Símbolo Componente
El zumbador, buzzer en inglés, es un transductor electroacústico que produce un
sonido o zumbido continuo o intermitente de un mismo tono. Sirve como mecanismo
de señalización o aviso, y son utilizados en múltiples sistemas como en automóviles
o en electrodomésticos. Inicialmente este dispositivo estaba basado en un sistema
electromecánico que era similar a una campana eléctrica pero sin el badajo metáli-
co, el cual imitaba el sonido de una campana.
Motor DC
4O
Símbolo Componente
El motor de corriente continua (DC) es una máquina que convierte la energía eléc-
trica en mecánica, provocando un movimiento rotatorio. Esta máquina de corriente
continua es una de las más versátiles. Su fácil control de posición, paro y velocidad
la han convertido en una de las mejores opciones en aplicaciones de con-
trol y automatización de procesos. Por ejemplo, los puedes encontrar en
la tracción de los carros de juguetes de pilas o en las llantas de los robots.
PROGRAMACIÓN
Concepto de programación
A medida que la complejidad de las tareas que realizaban las computadoras aumen-
taba, se hizo necesario disponer de un método sencillo para programar. Entonces,
se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multi-
plicar dos números puede necesitar un conjunto de instrucciones en len-
guaje ensamblador, en un lenguaje de alto nivel bastará con sólo una.
Lenguaje de programación
Un lenguaje de programación es un idioma artificial
diseñado para expresar operaciones que pueden ser
llevadas a cabo por máquinas como los computadores.
Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para
expresar algoritmos con precisión, o como modo de
comunicación humana.
Lenguaje máquina
El Lenguaje de máquina es el sistema de códigos
directamente interpretable por un circuito micro-
programable, como el microprocesador de un com-
El lenguaje máquina trabaja con dos niveles de voltaje. Dichos niveles, por abstrac-
ción, se simbolizan con el cero (0) y el uno (1), por eso el lenguaje de máquina sólo
utiliza dichos signos. Esto permite el empleo de las teorías del álgebra
booleana y del sistema binario en el diseño de este tipo de circuitos y en
su programación.
Lenguaje emsamblador
El lenguaje ensamblador o assembler es un lenguaje de
programación de bajo nivel para los computadores, mi-
crocontroladores, y otros circuitos integrados programa-
34
Lenguaje de alto nivel
Un lenguaje de programación de alto nivel se caracteriza
por expresar los algoritmos de una manera adecuada a la
capacidad cognitiva humana, en lugar de la capacidad
ejecutora de las máquinas. 5E
Para los lenguajes de alto nivel se requiere de ciertos
conocimientos de programación para realizar las secuen-
cias de instrucciones lógicas. Los lenguajes de alto nivel
se crearon para que el usuario común pudiese
solucionar un problema de procesamiento de
datos de una manera más fácil y rápida.
Algoritmo
Estructuras 5G
Variables
Funciones
35
Estructuras
Son dos funciones principales que debe tener todo programa en Arduino:
setup(){
}
Código de configuración inicial, solo se ejecuta una vez.
loop(){
}
Esta función se ejecuta luego del setup(), se mantiene ejecutándose hasta que se
des- energice o desconecte el Arduino.
Variables
Es un dato o conjunto de datos que cambia su valor con la ejecución del programa.
5I
true ó false Valor entero Almacena un ASCII
Estos son algunos tipos de variables y los más utilizados en esta guía. Para más tipos
visita:
[Link]/en/Reference/HomePage
Operadores booleanos
Usados generalmente dentro del condicional If
5J && (y)
|| (o) If (a || b)
! (negación)
Operadores de comparación
Usados generalmente dentro del condicional If y sobre el For y While
36
Operadores matemáticos
Se aplican al manejo de variables, condicionales y ciclos
= (asignar) - (resta)
% (módulo) * (multiplicación) 5L
+ (suma) / (división)
int valor = valor +5
Estructuras de control
Son instrucciones que nos permiten tomar decisiones y hacer diversas repeticiones
de acuerdo a unos parámetros, dentro de las más importantes podemos destacar:
If
5M
Switch/case
For
While
Condicionales
Ideales para tomar decisiones luego de evaluar las condiciones lógicas:
5N
if (entrada < 500) switch (var) {
{ case 1:
// acción A // acción A
} else break;
{ case 2:
// acción B // acción B
} break;
default:
// acción C
}
Ciclos
Ideales para repetir lo que se encuentre dentro de ellos
5O
for( int a=0; a>10; a++ ) while ( var < 200) {
{ // acción a repetir
// acción a repetir var++;
} }
37
Funciones
Una función es un conjunto de líneas de código
que realizan una tarea específica y puede retor-
nar un valor. Las funciones pueden tomar pará-
metros que modifiquen su funcionamiento. Las
funciones son utilizadas para descomponer gran-
des problemas en tareas simples y para imple-
mentar operaciones que son comúnmente utili-
zadas durante un programa y de esta manera
reducir la cantidad de código.
Cuando una función es invocada se le pasa el
control a la misma, una vez que ésta finalizó con su tarea el control es devuelto al
punto desde el cual la función fue llamada.
Funciones digitales
Orientas a revisar el estado y la configuración de las entradas y salidas digitales
pinMode()
pinMode(pin,modo)
pinMode (13,OUTPUT);
pinMode (a,INPUT);
digitalRead() digitalWrite()
digitalRead(pin) digitalWrite(pin,estado)
digitalWrite (13,LOW);
_____________ _____________
38
Funciones análogas
Ideales para la lectura y escritura de valores análogos
EJERCICIOS
1
Relaciona los siguientes términos, cada letra tiene tres términos asociados:
39
5S Referencia rápida para programar
El programa de Arduino se puede dividir en tres partes principales: la
estructura, las variables (valores y constantes) y funciones.
V +Constantes +Utilidades
A - byte - sizeof()
- HIGH | LOW
- int
R - INPUT | OUTPUT +Conversión
- word
- true | false - char()
I - long
- Constantes enteras - byte()
A - Constantes flotante
- unsigned long
- float - int()
B +Tipos de datos - word()
- double
L - void - string - arreglo char - long()
E - boolean - String - objeto - float()
- char - array
S
40
F
+Digital I/O
- pinMode() U
- digitalWrite() N
- digitalRead() C
+Números aleatorios
- randomSeed() I
+Analogo I/O - random()
- analogReference() O
- analogRead() N
- analogWrite() - PWM E
+Bits y Bytes
- lowByte() S
+Avanzadas I/O - highByte()
- tone()
- bitRead()
- noTone()
- bitWrite()
- shiftOut()
- bitSet()
- shiftIn()
- bitClear()
-pulseIn()
- bit()
L
- EEPROM - leer y escribir I
- Ethernet - conectarse a Internet B
- Cristal líquido - control de LCD
- SD - lectura y escritura de tarjetas SD
R
- Servo - control de servomotores E
- SPI - comunicación por el bus SPI R
- Paso a paso - control de motores
Í
- Wire - enviar y recibir datos TWI/I2C
A
… y muchas más visita S
[Link]
41
ARDUINO
Proyecto Arduino
El proyecto comenzó en Ivrea, Italia (el sitio de la compañía de
computadoras Olivetti), en el año 2005 con el fin de crear un
dispositivo para estudiantes para el control integrado de proyec-
tos de diseño e interacción, con la finalidad de que fuera más
barato que los sistemas de creación de prototipos disponibles en
ese entonces. A partir de mayo de 2011, más de 300.000 unida-
des de Arduino han sido distribuidas. Los fundadores Massimo
Banzi y David Cuartielles nombraron el proyecto como Arduino de Ivrea, un protago- 6A
nista histórico de la ciudad. En primer lugar "Arduino" es un termino masculino ita-
liano, que significa "gran amigo".
1 Entrevista con Ben Fry y Casey Reas por Shiffman Daniel (Sep 23, 2009), ver más
43
Familia Arduino
Como toda familia que se respete, tenemos de los integrantes más grandes a los más
pequeños, te invitamos a conocerlos:
Muchas entradas y
El más vendido,
todo en uno
salidas
Arduino Pro Arduino Fio Arduino Mini
44
Expandir Arduino con los shields
Un Shield o escudo es una placa que permite expandir funcionalidades a tu Arduino,
con lo cual puedes conectar motores, o a la red celular, a una red WiFi, a una red
Ethernet o tener un MP3 en el Arduino, entre muchos más solo mira:
6C
Celular Ethernet Proto GPS
45
6D Placa Arduino Uno y sus partes
Vista frontal
2 3
5
6 4
1
8
10
11 99
12
13 14
Vistas auxiliares
46
D
E
1 Conector USB para el cable Tipo AB
S
C
2 Pulsador de Reset
R
I
3 Pines de E/S digitales y PWM P
C
4 LED verde de placa encendida I
Ó
5 LED naranja conectado al pin13 N
14 Entradas análogas
47
6E Instalando drivers
MAC y LINUX
Si tu computador tiene de sistema operativo alguna versión de Mac o una distribu-
ción de LINUX, lo único que debes hacer es:
WINDOWS 7, Vista y XP
Si tu computador tiene de sistema operativo Windows en versión
7, Vista o XP, debes realizar la siguiente sucesión de sencillos
pasos:
3 Conectar la placa Arduino Uno al PC y ver este aviso. No nos debemos pre-
ocupar
48
WINDOWS
6
Ingresar a la opción Buscar software de controlador en el equipo
49
Recibimos la confirmación del Puerto COM asignado, este número de Puerto
9
COM es muy importante tenerlo en cuenta a la hora de programar.
50
Conociendo el software Arduino
6F
Guardar
Abrir
Cargar a la placa
Compilar
1 Puerto COM
51
2 Seleccionar la placa a trabajar
3
Consola serial
6G
1
52
Cargando mi primer programa
Antes de continuar con el siguiente paso asegúrate de configura de manera correc-
ta:
A– Puerto COM, revisa el Paso 1 de la sección 6F, recuerda que el valor del
puerto COM lo obtuvimos en el Paso 9 de la sección 6E
B– Board, revisa el Paso 2 de la sección 6F, recuerda que para este caso la
placa es Arduino UNO
53
Ejercicio
A partir del ejemplo cargado en la sección anterior, ahora te proponemos que modi-
fiques un poco el programa, para ello en las dos líneas de código donde dice:
delay(1000);
Cambia el valor de 1000 por 2000 y vuelve a cargar el programa a tu placa Arduino
Uno, ¿que observas?
54
FRITZING
Fritzing es un software para diseñar los montajes en protoboard y a partir
de ello generar el plano y la PCB (Circuito impreso), así de fácil :)
Software
Fritzing permite a los diseñadores, artistas, investigadores y aficionados
documentar sus prototipos basados en Arduino y crear esquemas de cir-
cuitos impresos para su posterior fabricación.
8A
Vista protoboard
8B
Tomado de [Link]/projects/interruptgesteuertes-lauflicht/
Ajuste de la velocidad de los LEDS
Realizado por tux60
57
Vista esquema
8C
8D
58
EJERCICIO MÁSTER
1
En el siguiente ejercicio queremos que afiances tus
capacidades de montaje en Fritzing, es un ejercicio que
requiere que coloques a prueba tus capacidades de
reconocimiento de montajes electrónicos y cableado
entre el Arduino y una protoboard, es un resumen
práctico de los capítulos anteriores. Para desarrollarlo
te recomendamos que trabajes junto con el software y
de la imagen que se presenta a continuación. El software lo puedes encontrar
en:
[Link]/download/ 8E
DIY
59