Spanish SIK Guide 3.1v

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 84

IOREF
RE SE T
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Guía SIK
Tu guía al “Sparkfun Inventor’s Kit” para Educadores
IOREF
RESET
RESET
7-15V
SCL
SCA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
ARDUINO LANGUAGE DEVELOPMENT PLATFORM
Versión 3.0
La Guía de Inventores de SparkFun es tu mapa para navegar en
las aguas de la electrónica embebida para principiantes. Este
folleto contiene toda la información que necesitarás para explorar
los 15 circuitos del “SparkFun Inventor’s Kit” para Educadores.
Este manual se enfoca principalmente en una losofía - que
cualquiera puede (y debería) jugar con la electrónica. Cuando
hayas acabado con esta guía, tendrás el conocimiento para poder
empezar con tus propios proyectos y experimentos. Pero basta de
hablar - ¡es hora de inventar!
Traducción al Español gracias a CRCibernetica.com y Alejandro
Morales en Costa Rica
www.sparkfun.com
Bienvenido a la Guía de Inventores de SparkFun
Tabla de contenidos
¿Qué es la plataforma RedBoard? 1
Descarga el Software de Arduino (IDE) 3
Instala controladores 4
Identifica tu Hardware 7
Descarga el “Código Guía del SIK” 8
El Mundo Funciona con Circuitos 9
Inventario de Partes 11
13
15
17
24
28
32
36
40
44
48
52
Sección 2: Iniciando con Circuitos
Sección 1: Iniciando
RedBoard
Protoboard
Circuito #1 - Tu Primer Circuito: LED Parpadeante
Circuito #3 - LED RGB
Circuito #4 - Múltiples LEDs
Circuito #5 - Botones presionables
Circuito #6 - Fotorresistencia
Circuito #7 - Sensor de Temperatura
Circuito #8 - Solo un Servo
Circuito #9 - Sensor Flexible
56Circuito #10 - Potenciómetro Suave
60Circuito #11 - Bocina
64Circuito #12 - Rotando un Motor
68Circuito #13 - Relé
72Circuito #14 - Registro de Desplazamiento
76Circuito #15 - LCD
Circuito #2 - Potenciómetro
Vivimos en un tiempo único, en el que tenemos acceso a
recursos que nos permiten crear nuestras propias soluciones e
inventos. La revolución Hazlo tú Mismo está compuesta por
inventores, “carpinteros electrónicos” y personas comunes que
preeren manufacturar sus propios proyectos antes que dejar
que alguien lo haga por ellos.
www.sparkfun.com
La Revolución Hazlo Tú Mismo (Do It Yourself)
¿Qué es la plataforma RedBoard?
FPO
FPO
La RedBoard que tienes en tus manos (o en el escritorio)
es tu plataforma de desarrollo. Por sí misma, la RedBoard
es en esencia una pequeña computadora portátil. Es
capáz de tomar entradas (tales como la señal de un botón
al ser presionado o una lectura de un sensor de luz) e
interpretarla esta información para controlar varias salidas
(como el parpadeo de una luz LED o un motor
eléctrico).
Aquí es donde nace el término “Computadora Física” -
esta tarjeta es capaz de tomar el mundo de la electrónica y
relacionarlo con el mundo físico en una forma real y
tangible. Confía en nosotros - muy pronto esto tendrá
más sentido.
Una Computadora para el Mundo Físico
RedBoard
// SparkFun RedBoard
La RedBoard de Sparkfun es una dentro entre multitudes
de tarjetas que se desarrollan basadas en el ATmega328.
Posee 14 pines de entrada/salida digital (de los cuales 6
pueden ser salidas PWM), 6 entradas analógicas, un
oscilador de cristal de 16MHz, conexión USB, un
Conector de alimentación, una entrada ISP, y un botón de
reinicio. No te preocupes, aprenderás acerca de todos ellos
más adelante.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
c
b
a
d
e
f
g
h
c
b
a
f
e
d
h
g
Zapatillas Power-Lacing
Notificador de correo para Juguetes Viejos
Contador para Lámpara Mata Insectos
Semáforo Reprogramable
Regador de plantas Automático
Operador de tiempo de espera para Cámaras
Quad-cóptero
Coffee Maker Automático
RedBoard
Para poder poner a funcionar tu RedBoard, es necesario que
descargues primero la versión más actualizada del software de
Arduino desde www.arduino.cc (¡es gratis!). Este software,
conocido como Arduino IDE, te permitirá programar la tarjeta
para que haga exactamente lo que tú quieres. Es similar a un
procesador de palabras pero para escribir programas. Con una
computadora con acceso a internet, abre tu navegador favorito y
escribe el siguiente enlace en la barra de direcciones:
Accede a internet
Descarga el Arduino IDE
(Ambiente de Desarrollo Integrado, por sus siglas en inglés)
user
•••••••••
Windows
Mac OS X
Linux: 32 bit, 64 bit
N
W
S
E
NW
SW
SE
NE
arduino.cc/en/main/software
Elige el paquete de instalación apropiado para el Sistema Operativo de tu computadora.
Descargar Clic en tu sistema operativo apropiado,
junto al signo de “+”
Windows
Mac OS X
Fuente
Linux: 32 bit, 64 bit
1
// Conecta tu RedBoard a tu Computadora
Utiliza el cable USB incluido en el kit SIK para conectar la RedBoard a
uno de los puertos USB de tu computadora.
// Instala los drivers de Arduino
Dependiendo del sistema operativo de tu computadora, necesitarás
seguir algunas instrucciones especícas. Por favor ingresa a
https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers
para obtener instrucciones especícas acerca de cómo instalar los
drivers FTDI en tu RedBoard.
2
3
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
1
2
356
7
8
9
4
Abre el software del IDE de Arduino en tu computadora. Toca un poco la
interfaz para que la vayas conociendo. No vamos a codicar nada en este
momento, esto es solo una introducción. Debes realizar estos pasos para que ti
IDE identique tu RedBoard.
// Abre el IDE de Arduino:
// Los tres comandos más importantes para esta guía se muestran a continuación:
GUI (Interfaz Gráfica de Usuario)
Verificar: Compila y aprueba tu código. Encuentra errores de sintaxis (tales como paréntesis o signos de punto y coma faltantes). // Ver el
siguiente diagrama
1
Cargar: Envía tu código a la RedBoard. Cuando le das clic, debes ser capaz de ver las luces en tu tarjeta parpadear rápidamente. // Ver el
siguiente diagrama
2
Nuevo: Estos botones abren otra nueva pestaña de código.
3
Abrir: Este botón permite abrir un diseño existente. // Ver el siguiente diagrama
4
Guardar: Guarda el diseño actual.
5
Monitor Serial: Esto abre una ventana que muestra cualquier información serial que tu RedBoard esté transmitiendo. Es muy usado para
tareas de depuración.
6
Área de Código: Esta es el área en donde escribes el código para tu diseño.
8
Área de Mensajes: Aquí es donde el IDE te dice si hay algún error en tu código.
9
Nombre del diseño: Muestra el nombre del diseño en el que estás trabajando actualmente.
7
Verificar
Cargar
Abrir
Archivo Editar Sketch Herramientas Ayuda
Formato Automático
Archivar el Sketch
Reparar Codicación y Recargar
Monitor Serial
Arduino Uno
Arduino Duemilanove w/ ATmega328]
Arduino Diecimila or Duemilanove w/ ATmega168
Arduino Nano w/ ATmega328
Arduino Nano w/ ATmega168
Arduino Mega 2560 or Mega ADK
Arduino Mega (ATmega1280)
Arduino Mini
Arduino Mini w/ATmega168
Arduino Ethernet
Arduino Fio
Arduino BT w/ ATmega328
Arduino BT w/ATmega168
LilyPad Arduino w/ ATmega328
LilyPad Arduino w/ ATmega168
Arduino Pro or Pro Mini (5V, 16 MHz) w/ATmega328
Arduino Pro or Pro Mini (5V, 16 MHz) w/ATmega168
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega328
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ATmega168
Arduino NG or older w/ ATmega168
Arduino NG or older w/ ATmega8
Programador
Grabar Secuencia de Inicio
Tarjeta
Puerto Serial
// Elige tu tarjeta: Arduino Uno
Selecciona el dispositivo serial de la RedBoard desde
el menú de Herramientas | Puerto Serie.
Probablemente sea com3 o mayor (COM1 y
COM2 generalmente se reservan para puertos
seriales de hardware). Para averiguarlo, puedes
desconectar tu RedBoard y abrir de nuevo el menú;
la entrada que desaparezca debe ser la del RedBoard.
Vuelve a conectar la tarjeta y elige ese puerto serie.
Selecciona el dispositivo serie del RedBoard desde
el menú de Herramientas > Puerto Serial. En una
Mac, esto debería ser algo que contenga
/dev/tty.usbmodem o /dev/tty.usbserial.
http://www.arduino.cc/playground/Learning/Linux
Herramientas Ayuda
Formato Automático
Archivar el Sketch
Reparar Codicación y Recargar
Monitor Serial
com 1
com 12
Programador
Grabar Secuencia de Inicio
Tarjeta
Puerto Serial
Herramientas Ayuda
Formato Automático
Archivar el Sketch
Reparar Codicación y Recargar
Monitor Serial
/dev/tty.usbmodem262471
/dev/cu.usbmodem262471
/dev/tty.Bluetooth-Modem
/dev/cu.Bluetooth-Modem
/dev/tty.FireFly-7256-SPP
/dev/cu.FireFly-7256-SPP
/dev/tty.tiPhone-WirelessiAP-1
/dev/cu.tiPhone-WirelessiAP-1
/dev/tty.Bluetooth-PDA-Sync
/dev/cu.Bluetooth-PDA-Sync
Programador
Grabar Secuencia de Inicio
Tarjeta
Puerto Serial
// Selecciona tu Dispositivo Serial
4
Nota:
Tu RedBoard de SparkFun y el Arduino
UNO son intercambiables pero no podrás
encontrar la RedBoard listada dentro del
Software de Arduino. En vez de esta
selecciona “Arduino UNO”.
Ingresa al siguiente enlace para descargar el código:
Descarga código de Arduino (Utilizable con los circuitos de esta guía)
sparkfun.com/sikcode
5
Descomprime el archivo “SIK Guide
Code”. Debería estar localizado en la
carpeta de “Descargas” de tu
navegador. Da clic derecho a la
carpeta comprimida y elige la opción
de “extraer”.
Copia la carpeta “SIK Guide Code” en la carpeta de
Arduino llamada “Ejemplos”.
Copia la carpeta “SIK Guide Code”
en la carpeta de Arduino llamada
“Ejemplos”.
¿QUÉ ES LO QUE SIGUE? Continúa leyendo para aprender más acerca de empezar a usar circuitos. ¡Luego puedes iniciar con tu
primer circuito en la página 17!
Descomprime el archivo “SIK Guide
Code”. Debería estar localizado en la
carpeta de “Descargas” de tu
navegador. Da clic derecho a la carpeta
comprimida y elige la opción de
“extraer”.
Busca “Arduino” en la carpeta de
aplicaciones. Clic derecho (ctrl + clic)
en “Arduino”. Selecciona “Mostrar
Contenidos del Paquete”.
http://www.arduino.cc/playground/Learning/Linux
// Copia el archivo “SIK Guide Code” dentro de la biblioteca “Ejemplos” en la carpeta de Arduino
Programas
Inicio Arduino Ejemplos
Contenidos
Recursos
Java
Ejemplos
Arduino
Mover a la papelera
Abrir
Mostrar contenidos del paquete
Donde sea que mires encontrarás circuitos. El
teléfono celular que se encuentra en tu bolsillo, la
computadora que controla el sistema de emisiones
de tu automóvil, tu consola de videojuegos – todas
estas cosas están completamente llenas de circuitos.
En esta guía experimentarás con algunos circuitos y
podrás aprender acerca de la esencia del mundo de
la electrónica embebida.
El Mundo Funciona con Circuitos:
Iniciando con Circuitos
Un circuito es básicamente un ciclo eléctrico con un punto de inicio
y un punto nal – con cualquier número de componentes entre
dichos puntos. Los circuitos pueden incluir resistencias, diodos,
inductores, sensores de todas formas y tamaños, motores, y cualquier
otro tipo entre cientos de miles de componentes.
Los circuitos se dividen generalmente en tres categorías – circuitos
analógicos, circuitos digitales o circuitos de señales mixtas. En esta
guía explorarás los tres tipos de circuitos mencionados anteriormente.
¿Qué es un circuito eléctrico?
// Circuitos simples y complejos
En esta guía explorarás inicialmente circuitos
simples - ¡pero eso no quiere decir que no puedas
hacer cosas asombrosas con herramientas sencillas!
Cuando hayas terminado con el SIK, tu
conocimiento de circuitos te permitirá explorar
proyectos asombrosos y desatar el potencial de tu
imaginación.
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Inventario de Partes
* TAMAÑO REAL
(1N4148)
Diodo
x2
x1
Elemento Piezoeléctrico (Bocina)
Varios Colores
Cable para puentes
x30
Botón presionable
x2
x1
Motor DC
x1
x1
Potenciómetro
(Diodo Emisor de Luz)
x10 x10 x1
LED
(5mm) +
-
x25 * TAMAÑO REAL
Resistencia de 330Ω
x25 * TAMAÑO REAL
Resistencia de 10KΩ
(TMP36)
x1
FRENTE
ATRÁS
Sensor de temperatura
(P2N2222AG)
x2
Transistor
P2N2
222A
A18
FRENTE
ATRÁS
x1
Fotorresistencia
Protoboard
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Estándar sin soldadura (El color puede variar)
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SparkFun RedBoardSensor Flex
x1
Potenciómetro Suave
x1
Servo
x1
Relé
x1
x1
x1
LCD
x1
(CI)
Circuito Integrado
x1
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
1
2
8
6
9
7
435
10
// Diagrama de Pines
SparkFun RedBoard
RFU - Este pin está reservado para un uso futuro.
11
Alimentación (Conector “Barrel Jack”) - puede ser usado tanto con un adaptador de 9V o 12V conectado a un enchufe como con una batería.
1
Alimentación (Puerto USB) - Provee alimentación y comunica tu tarjeta con tu computadora al conectarla por vía USB.
2
LED (RX: Recibiendo) - Muestra cuando el chip FTDI está recibiendo bits de información desde el microcontrolador. Esto sucede cuando el
microcontrolador está enviando bits de información de vuelta a la computadora.
3
LED (TX: Transmitiendo) - Muestra cuando el chip FTDI está transmitiendo bits de información hacia el microcontrolador. Esto sucede cuando
el microcontrolador está recibiendo esta información desde a la computadora.
4
LED (Pin 13: Indicador de problemas) - Este LED es incorporado a tu diseño para mostrar si tu programa está funcionando correctamente.
5
Pines (ARef, Ground (GND), Digital, Rx, Tx) - Estos pines pueden ser utilizados como entradas, salidas, alimentación y tierra. // Ver el
siguiente diagrama
6
LED (Indica si la RedBoard está encendida) - Un simple LED indicador de encendido/apagado.
7
Botón de Reinicio (Reset) - Esta es una forma de reiniciar manualmente tu RedBoard, lo que hace que tu código vuelva a empezar
desde cero.
8
Pines (Analog In, Power In, Ground, Power Out, Reset) - Estos pines pueden ser utilizados como entradas, salidas, alimentación y tierra. // Ver el
siguiente diagrama
10
Pines ICSP (Cargando código sin un cargador de inicio) - Se usa para “Programación Serial dentro del Circuito” ("In-Circuit Serial
Programming"), requerida si quieres evitar el cargador de inicio o Bootloader.
9
Salida de alimentación
Reinicio
IOREF
Salida de alimentación
Tierra
Tierra
Entrada de alimentación
Analógico
Analógico
Analógico
Analógico
Analógico
Analógico
Tierra
ARef
SDA
SCL
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
Digital
TX - Out
RX - In
10
11
6
= Salida PWM/Analógica (i.e. )
Los conectores de pines constituyen una de las partes más importantes a
la hora de armar nuestros circuitos de ejemplo. Toma un momento para
localizar los puertos de entrada/salida de tu RedBoard.
RFU
POWER
(ALIMENTACIÓN)
ANALOG IN
(ENTRADA ANALÓGICA)
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Esta línea divide la tarjeta por la mitad, restringiendo el flujo eléctrico hacia una de las dos mitades.
1
2
Alimentación:
Cada signo de + indica que hay
alimentación en cualquier lugar de la
columna vertical.
Tierra:
Cada signo de – indica que hay tierra en
cualquier lugar de la columna vertical.
Filas Horizontales:
Cada una de estas filas, numeradas del 1 al
30, tiene cinco perforaciones que se conectan
entre sí de forma horizontal. Los
componentes que se encuentren
posicionados en la misma fila estarán
conectados en un circuito cuando la
alimentación esté activa.
Conexión vertical ((+ Alimentación y - Tierra) - Buses de Alimentación // er el
diagrama abajo
1
Conexión Horizontal (a-e & f-j) // Ver el diagrama abajo
2
¿Cómo está conectado todo?
Vista desde adentro
f g h ia b c d e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Protoboard
Arriba de la protoboard
¡CONECTADO!
LED
Haciendo una conexión:
Dentro de la protoboard
Cómo funciona:
ENSAMBLA ESCRIBE CARGA
Rera la protección del
pegamento en la parte posterior
de la protoboard y pégala en su
lugar.
Asegúrate de que el texto tanto en la RedBoard
como en la protoboard esté mirando hacia
arriba para que puedas leerlo fácilmente.
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Atornilla la RedBoard en su lugar.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Conectando el cable USB.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
CIRCUITO #1 - Tu primer Circuito
Tu RedBoard trabaja con 5V. Esta es la alimentación que será suministrada por tu computadora vía
USB y será la fuente de poder de todos los componentes que uses en tus circuitos. ¡Al conectar tu
RedBoard a tu computadora, le estás suministrando el voltaje justo que necesita para funcionar! 5V no
pueden hacerte daño, así que no tengas miedo de tocar cualquier cosa en tu circuito. Además puedes
alimentar la RedBoard con el adaptador de barril. El regulador de voltaje incluido en la tarjeta puede
manejar cualquier voltaje desde 7 a 15V en corriente directa.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
PARTES:
LED
1
X
Cable
3
X
Resistencia de
330Ω
1
XEsta sección enlista las partes que
vas a necesitar para completar el
circuito.
Circuit 2
Los LEDs (Diodos Emisores de Luz) son luces
pequeñas y poderosas que son utilizadas en muchas
aplicaciones diferentes. Para empezar con el SIK, vamos
a trabajar en hacer parpadear un LED. Correcto - es tan
simple como encender y apagar una luz. Puede que no
se vea como una gran cosa, pero estableciendo esta
importante base tendrás fundamentos sólidos mientras
trabajamos en ruta a experimentos más complejos.
LED Parpadeante 1
Cada circuito empieza con una breve
descripción de lo que estás a punto de
armar y el resultado esperado.
Este es un esquemáco de tu circuito.
Esta es una ilustración de la forma en que el
circuito complete se debe ver. No es
necesario usar la base negra para la
RedBoard y la protoboard, pero es
recomendado para inventores principiantes.
Componentes como resistencias deben tener
sus pallas dobladas en un ángulo de 90°
para que puedan entrar correctamente en los
agujeros de la protoboard. También puedes
cortar las pallas para que sea más fácil
trabajar con ellas en la protoboard.
LED
(Diodo Emisor de Luz)
Resistencia (330 ohm)
(Naranja-Naranja-Café)
RedBoard
GND
(Tierra)
PIN 13
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 1: LED Parpadeante
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LED: Asegúrate que la palla
corta, marcada con un lado
plano, vaya en la posición
negava (-).
Resistencia de 330Ω : el color de
las bandas generalmente es
naranja-naranja-café-dorado. Las
pallas del componente pueden
ir en cualquier agujero.
Cable Unión: Todos los cables de
unión funcionan de la misma
forma. Son ulizados para
conectar dos puntos del circuito.
Esta guía muestra los cables con
colores específicos por claridad,
pero si deseas usar diferentes
combinaciones de colores es
completamente aceptable.
Borde Plano
Patilla Corta
Componente: Imagen de Referencia:
LED (5mm) +-
+
-c2 c3
Cable Conector Pin 13 e2
Resistencia de 330Ω a3
GND
a3
Cable Conector GND
Cable Conector 5V
5V +“5V” en la RedBoard se conecta con la fila marcada con el “+” en la protoboard.
“PIN 13” en la ReadBoard se conecta al agujero “e2” de la protoboard.
La erra “GND” en la RedBoard debería estar conectada a la fila marcada con el “-” de la protoboard.
Las resistencias son colocadas únicamente en los agujeros de la protoboard. El símbolo “-” representa
cualquier agujero en la columna vercal del bus de Alimentación.
Protoboard: El fondo blanco
representa una conexión con un
agujero especificado por una
coordenada letra-número como
e2. Estas coordenadas son simples
sugerencias que se alinean con la
imagen gráfica.
RedBoard: El fondo rojo representa
una conexión con uno de los pines
principales de la RedBoard.
Componentes como los LEDs son insertados en los agujeros c2(palla larga) y c3(palla corta) de la
protoboard. Los pasos resaltados con el triángulo amarillo de precaución representan componentes
polarizados. Presta atención especial a las marcas de los componentes pues indican cómo colocarlos
en la protoboard.
Abre el software Abre el software de Arduino IDE en tu computadora. Codicar en
el lenguaje de programación de Arduino permitirá controlar tu circuito. Abre el
código para el Circuito 1 accediendo al “Código Guía de SIK” que descargaste y
colocaste en tu carpeta de “Ejemplos” previamente.
Abre Tu Primer Diseño:
Archivo Editar Diseño Herramientas Ayuda
1.Basics
2.Digital
3.Analog
4.Communication
5.Control
6.Sensors
7.Displays
8.Strings
ArduinoISP
SIK Guide Code
EEPROM
Ethernet
Firmata
Liquid Crystal
SD
Servo
SoftwareSerial
SPI
Stepper
WiFi
Wire
Conguración de Página
Print
Nuevo
Abrir…
Libro de Diseños
Ejemplos
Cerrar
Guardar
Guardar Como…
Cargar
Cargar Usando un Programador
Circuit #1
Circuit #2
Circuit #3
Circuit #4
Circuit #5
Circuit #6
Circuit #7
Circuit #8
Circuit #9
Circuit #10
Circuit #11
Circuit #12
Circuit #13
Circuit #14
Circuit #15
Circuit #1
/*
Blink
Turns on an LED on for one second,
then o for one second, repeatedly.
This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED o
delay(1000); // wait for a second
}
// Circuito #1
Verificar
Cargar
// El resultado de un circuito completo con un código correcto luego de ser verificado y cargado.
Esto compila tu código. El IDE convierte el texto a instrucciones que la computadora
pueda entender.
Esto envía las instrucciones mediante el cable USB al chip computadora en la RedBoard.
A continuación, la RedBoard empezará a correr tu código automáticamente.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuit 2 Arduino Code:
1
Problemas Comunes:
¿El LED no enciende?
Los LEDs trabajan en una sola dirección. Prueba quitarlo y
rotarlo 180 grados (no hay de qué preocuparse, instalarlo al
revés no provoca ningún daño permanente).
El programa no se Carga en la tarjeta
Algunas veces esto sucede, la causa más común se debe a una
confusión con el puerto serial, puedes cambiar esto en
Herramientas>Puerto Serial>
¿Aún no funciona?
Un circuito roto no es divertido, envíanos un correo electrónico
y te responderemos tan pronto como sea posible:
techsupport@sparkfun.com
Deberías ver tu LED parpadear entre
encendido y apagado. Si esto no funciona,
asegúrate de que hayas ensamblado el
circuito correctamente, vericado y cargado
el código a tu tarjeta o puedes ver la sección
de problemas comunes que se muestra
abajo.
Antes de que puedas usar alguno de los pines de la RedBoard, necesitas
decirle a la RedBoard si es una ENTRADA o una SALIDA. Utilizamos una
“función” propia del sistema llamada pinMode() para hacer esto.
Cuando estás usando un pin como SALIDA, puedes ordenarle que esté en
posición de ALTO voltaje (salida de 5 voltios), o en BAJO (salida de 0
voltios).
digitalWrite(13, HIGH);
pinMode(13, OUTPUT);
Notas de Código:
Aplicación en la vida real:
Casi todos los televisores modernos de pantalla plana y los
monitores tienen luces LED indicadoras para mostrar si
están encendidos o apagados.
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 1
Lo que deberías ver:
Aquí es donde encontrará el
código de Arduino para cada
circuito.
Recuerda Verificar y Cargar tu
código.
Revisa si tu circuito está
completo y funcionando en
esta sección.
Empieza entendiendo cómo
funciona el código de Arduino.
Ver abajo.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Esta es una sección dedicada a los
problemas más comunes que se pueden
dar mientras se ensambla el circuito.
Aquí encontrarás ejemplos en la vida real
del circuito que acabas de completar.
¡Muchas de las teorías en las que se basan
estos circuitos son ulizadas en cosas que
usas todos los días!
Circuit 2
PARTS:
Wire
19
X
CIRCUIT #5
IC
1
X
330Ω
Resistor
8
X
LED
8
X
Circuit 2
En este circuito trabajarás con un potenciómetro. Un
potenciómetro es también conocido como una
resistencia variable. Cuando está conectado con 5
voltios a través de sus dos pines exteriores, el pon del
medio libera un voltaje entre 0 y 5V, dependiendo de
la posición de la perilla en el potenciómetro. Un
potenciómetro es una demostración perfecta de un
circuito divisor de tensión con un voltaje variable. El
voltaje está dividido proporcionalmente a la
resistencia entre el pin del medio y el pin de tierra. En
este circuito aprenderás cómo usar un potenciómetro
para controlar la luminosidad de un LED.
Potenciómetro
PARTES:
Cable
6
X
CIRCUITO #2 2
LED
1
X
Resistencia de
330Ω
1
X
Potenciómetro
1
X
p.10p.24
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
LED
(Diodo Emisor de Luz)
Resistencia (330 ohm)
(Naranja-Naranja-Café)
RedBoard
GND
(Tierra)
RedBoard
Potenciómetro
PIN 13
5 voltios
PIN A0
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 2: Potenciómetro
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
Potenciómetro
e6
Cable Conector
e8
Cable Conector
Cable Conector GND
Cable Conector 5V
Pin 13 j20
Cable Conector GND
5V
5V +
+
-+-
h20 h21
LED (5mm)
Resistencia de 330Ω j21 +
Cable Conector A0 e7
+
a6
a7
a8
Si miras con cuidado tu RedBoard podrás ver algunos pines etiquetados como
“DIGITAL”, y algunos etiquetados como “ANALOG”. ¿Cuál es la diferencia?
Muchos de los dispositivos que vas a conectar, como los LEDs y los botones,
solo tienen dos estados posibles: encendido y apagado, o como son conocidos en
la RedBoard, “ALTO” (5 voltios) y “BAJO” (0 voltios). Los pines digitales en la
RedBoard son excelentes para conectar estas señales desde y hacia el mundo real,
e incluso pueden realizar trucos como una atenuación simulada (parpadeando
entre encendido y apagado rápidamente), y comunicaciones seriales (transferir
datos hacia otro dispositivo mediante patrones codicados de ALTOS y
BAJOS).
Sin embargo hay muchas cosas que no siempre están simplemente “encendidas”
o “apagadas”. Niveles de temperatura, perillas de control, etc. Todas tienen un
rango continuo entre ALTO y BAJO. Para estas situaciones la RedBoard ofrece
seis entradas analógicas que traducen un voltaje de entrada a un número en un
rango de 0 (0 voltios) a 1023 (5 voltios). Los pines analógicos son perfectos para
medir todos esos valores del “mundo real”, y te permiten conectar tu RedBoard
con todo tipo de dispositivos.
Digital versus Analógico:
DIGITAL
0 voltios
0
5 voltios
1023
a
o
ANALÓGICO
ALTO
encendido
5 voltios
BAJO
apagado
0 voltios
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
La mayoría de las perillas de volumen tradicionales
emplean un potenciómetro.
Circuit 2 Código de Arduino:
2
Problemas comunes:
Funciona Esporádicamente
Es probable que esto se deba a una conexión inestable de
los pines del potenciómetro. Esto puede ser solucionado
presionando el potenciómetro hacia abajo.
No Funciona
Asegúrate de haber conectado la patilla controladora del
potenciómetro al pin 0 digital en vez de al pin 0
analógico. (la la de pines debajo de los pines de
alimentación).
¿El LED no enciende?
Los LEDs trabajan en una sola dirección. Prueba quitarlo y
rotarlo 180 grados (no hay de qué preocuparse, instalarlo al
revés no provoca ningún daño permanente).
Deberías ver el LED parpadear más
rápido o más lento de acuerdo con
tu potenciómetro. Si esto no
funciona, asegúrate de que hayas
ensamblado el circuito correcta-
mente, vericado y cargado el código
a tu tarjeta o puedes ver la sección de
problemas comunes que se muestra
abajo.
Una “variable” es un valor guardado al que tú le has dado un nombre. Debes
introducir, o “declarar” variables antes de usarlas; aquí estamos declarando una
variable llamada sensorValue, de tipo “int” (integer o entero). ¡No olvides que
los nombres de las variables son sensibles a las mayúsculas!
int sensorValue;
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 2
Lo que deberías ver:
El Arduino es muy muy rápido, es capaz de correr miles de líneas de código
cada segundo. Para hacerlo más lento, con el n de que podemos ver lo que
estamos haciendo, debemos insertar retardos dentro del código. La función
delay() cuanta en milisegundos; hay 1000ms en un segundo.
delay(sensorValue);
Utilizamos la función analogRead() para leer el valor en un pin
analógico. analogRead() toma un parámetro, el pin analógico que
quieres leer (“sensorPin”), y retorna un número (“sensorValue”)
entre 0 (0 voltios) y 1023 (5 voltios).
sensorValue = analogRead(sensorPin);
Circuit 2
PARTS:
p.10
IC
1
X
330Ω
Resistor
8
X
LED
8
X
¿Sabes qué es aún más divertido que un LED
parpadeante? Cambiar colores con un solo LED. Los
LEDs RGB, o rojo-verde-azul por sus siglas en inglés,
tienen tres diodos emisores de color que pueden ser
combinados para crear todas clases de colores. En este
circuito aprenderás a usar un LED RGB para crear
combinaciones de colores únicas. ¡Dependiendo de
qué tanto brilla cada diodo, casi cualquier color es
posible!
LED RGB
PARTES:
CIRCUITO #3 3
p.28
Potentiometer
1
X
Transistor
P2N2222AG
1
X
Cable
6
X
Resistencia de
330Ω
3
X
LED
1
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
GND
(Tierra)
ROJO
VERDE
AZUL
RedBoard
PIN 11
PIN 10
PIN 9
Resistencia (330 ohm)
(Naranja-Naranja-Café)
LED
(Diodo Emisor de Luz)
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 3: LED RGB
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componentes: Image Reference:
e7 e11
5V
Resistencia de 330Ω g4
e4
e7 e11
5V
Resistencia de 330Ω g6
e6
e7 e11
5V
Resistencia de 330Ω g7e7
LED RGB (5mm)
Cable Conector GND
Cable Conector 5V5V +
Cable Conector Pin 9 h4
Cable Conector Pin 10 h6
Cable Conector Pin 11 h7
e5
Cable Conector
Hemos visto que el Arduino puede leer voltajes analógicos (voltajes entre 0 y 5 voltios)
usando la función analogRead(). ¿Hay alguna forma de que la RedBoard pueda también
emitir voltajes analógicos?
La respuesta es no… y sí. La RedBoard no tiene una salida real de voltaje analógico.
Pero, como la RedBoard es tan rápida, puede ngirlo usando algo llamado PWM
("Pulse-Width Modulation" o “Modulación de Ancho de Pulso”). Los pines de la
RedBoard que tienen un “~” junto a ellos son pines compatibles con salidas
PWM/Analógicas.
La RedBoard es tan rápida que puede hacer parpadear un pin entre encendido y apagado
casi 1000 veces por segundo. El PWM va un paso adelante al variar la cantidad de
tiempo que el pin parpadeante pasa en ALTO vs el tiempo que pasa en BAJO. Si pasa la
mayor parte del tiempo en ALTO, un LED conectado a ese pin se verá brillante. SI pasa
la mayor parte de su tiempo en BAJO, el LED se verá opaco. Debido a que el pin está
parpadeando mucho más rápido de lo que tus ojos pueden detectar, la RedBoard crea la
ilusión de una salida analógica “real”.
La asombrosa verdad detrás del analogWrite():
90%
90%
50%
50%
0.5V
2.5V
4.5V
BAJO (0 voltios)
ALTO (5 voltios)
BAJO (0 voltios)
ALTO (5 voltios)
BAJO (0 voltios)
ATLO (5 voltios)
10%
10%
a4 a5 a6 a7
Muchos artículos
electrónicos, como consolas
de videojuegos, utilizan LEDs
RGB para tener la
versatilidad de mostrar
diferentes colores en la misma
área. Muchas veces los colores
diferentes representan
diferentes estados o
condiciones de trabajo.
Circuit 2 Código de Arduino:
3
Problemas comunes:
El LED se Mantiene Oscuro o Muestra un Color Incorrecto
Con los cuatro pines del LED posicionados tan cerca unos de
otros, a veces es fácil posicionar uno de manera incorrecta.
Revisa que cada pon esté colocado donde debe ser.
Se ve todo Rojo
El diodo rojo del LED RGB puede ser un poco más brillante
que los otros dos. Para hacer tus colores más balanceados, usa
una resistencia con más Ohmios. O ajústalo en el código.
analogWrite(RED_PIN, redIntensity);
to
analogWrite(RED_PIN, redIntensity/3);
Deberías ver tu LED encenderse,
¡pero esta vez con nuevos colores
locos! Si no lo hace, asegúrate de que
hayas ensamblado el circuito
correctamente, vericado y cargado el
código a tu tarjeta o puedes ver la
sección de problemas comunes
que se muestra abajo.
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 3
Lo que deberías ver:
Un ciclo for() es usado para ir aumentando un número dentro de un
rango y repetidamente correr el código que se encuentra dentro de las
llaves {}. En este caso la variable “x” inicia en 0, termina en 767 e
incrementa su valor en uno por cada iteración (“x++”).
for (x = 0; x < 768; x++)
{}
El procesamiento de la RedBoard es muy muy rápido, es capaz de correr miles de
líneas de código cada segundo. Para hacerlo más lento, con el n de que podemos
ver lo que estamos haciendo, debemos insertar retardos dentro del código. La
función delay() cuanta en milisegundos; hay 1000ms en un segundo.
delay(sensorValue);
Las declaraciones “if / else” son utilizadas para tomar decisiones en tus programas.
La condición dentro de los paréntesis () es evaluada; si es verdadera, se corre el
código dentro de las primeras llaves {}. Si no es verdadera, se corre el código dentro
de las segundas llaves {}.
if (x <= 255)
{}
else
{}
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Así que ya hiciste que un LED parpadeara entre
encendido y apagado – ¡fantástico! Es hora de levantar
la barra un poco – conectando OCHO LEDS AL
MISMO TIEMPO. Adicionalmente le haremos una
pequeña prueba a nuestra RedBoard al crear varias
secuencias de luces. Este circuito es un gran paso para
empezar a escribir tus propios programas y para que
vayas entendiendo la forma en que la RedBoard trabaja.
Además de controlar los LEDs, aprenderás un par de
trucos de programación para mantener tu código nítido
y ordenado:
for() loops - usados cuando quieres correr una porción
de código varias veces.
arrays[ ] - utilizados para volver el manejo de variables
una operación más fácil, al agruparlas todas juntas.
LEDs Múltiples
p.32
PARTES:
LED
8
X
Cable
10
X
Resistencia de
330Ω
8
X
CIRCUITO #4 4
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Resistencias (330 ohm)
(Naranja-Naranja-Café)
LEDs
(Diodos Emisores de Luz)
RedBoard
PIN 2
PIN 3
PIN 4
PIN 5
GND (Tierra)
Resistencias (330 ohm)
(Naranja-Naranja-Café)
LEDs
(Diodos Emisores de Luz)
RedBoard
PIN 6
PIN 7
PIN 8
PIN 9
GND (Tierra)
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 4: LEDs Múltiples
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:Componente: Imagen de Referencia:
Resistencia de 330Ω a18
GND
Resistencia de 330Ω
Resistencia de 330Ω
Cable Conector
Cable Conector
Cable Conector
Cable Conector
Cable Conector
Cable Conector
Cable Conector
Cable Conector
Cable Conector 5V
Cable Conector
LED (5mm) +-
+
-c2 c3
e2
Pin 2
Resistencia de 330Ω a15
Resistencia de 330Ω a12
Resistencia de 330Ω a9
Resistencia de 330Ω
Resistencia de 330Ω a6
a3
LED (5mm) +
-+-
c23 c24
LED (5mm) +
-+-
c20 c21
LED (5mm) +
-+-
c17 c18
LED (5mm) +
-+-
c14 c15
LED (5mm) +
-+-
c11 c12
LED (5mm) +
-+-
c8 c9
LED (5mm) +
-+-
c5 c6
a18
a24
a21
Pin 3
5V
e5
GND
Pin 4 e8
Pin 5 e11
Pin 6 e14
Pin 7 e17
Pin 8 e20
Pin 9 e23
+
Circuit 2 Código de Arduino:
4
Problemas comunes:
Algunos LEDs fallan al Encender
Es muy común poner un LED al revés. Revisa que los
LEDs que no están funcionando estén conectados del
lado correcto.
Operando fuera de secuencia
Cuando se tienen ocho cables es muy fácil que algunos se
crucen entre ellos. Revisa que el primer LED esté
conectado al pin 2 y cada uno de los pines que le siguen.
Empezar desde cero
Es muy fácil colocar un cable sin darse cuenta. Quitar
todo y empezar desde cero a colocar los cables suele ser
más fácil que rastrear el problema a través del circuito.
Este es un circuito similar al número uno,
pero en vez de un LED, debes ver todos los
LEDs parpadear. Si no lo hacen asegúrate de
que hayas ensamblado el circuito correcta-
mente, vericado y cargado el código a tu
tarjeta o puedes ver la sección de problemas
comunes que se muestra abajo.
Notas de Código:
Aplicación en la vida real:
Los letreros de guras cambiantes son utilizados
generalmente para mostrar segmentos cortos de
información importante. Estos son construidos a partir de
muchos LEDs.
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 4
Lo que deberías ver:
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Cuanto tienes que manejar muchas variables, un arreglo es una
forma útil para agruparlos en un solo lugar. Aquí estamos creando
un arreglo de enteros, llamado ledPins, con ocho elementos.
int ledPins[] = {2,3,4,5,6,7,8,9};
Las computadoras les gusta hacer lo mismo cada vez que se ejecutan. Pero algunas
veces tú quieres hacer algunas cosas de manera aleatoria, como simular el resultado de
un dado al lanzarlo. La función random() es una gran forma de hacer esto.
Visita http://arduino.cc/en/reference/random para más información
index = random(8);
Para obtener los elementos de un arreglo deber referirte a ellos por su
posición. El primer elemento está en la posición 0, el segundo en la posición
1 y así sucesivamente. Para llamar a un elemento debes usar “ledPins[x]”,
donde x es la posición. Aquí estamos dando al pin digital 2 un valor de
ALTO o HIGH, ya que el elemento en la posición 0 del arreglo es “2”.
digitalWrite(ledPins[0], HIGH);
Circuit 2
PARTS:
Wire
19
X
IC
1
X
330Ω
Resistor
8
X
LED
8
X
Circuit 2
Hasta este momento solo nos hemos enfocado en
salidas. Ahora vamos a ir al otro extremo del espectro
y vamos a jugar con algunas entradas. En este circuito
veremos una de las más comunes y simples de las
entradas – un botón presionable. La forma en que un
botón funciona con la RedBoard es la siguiente:
cuando el botón es presionado, el voltaje marca un
BAJO. La RedBoard lee esto y reacciona a partir de
ello. En este circuito también usarás una resistencia
“pull-up”, la cual mantiene el voltaje en ALTO
cuando no estás presionando el botón.
Botones Presionables
PARTES:
Cable
7
X
CIRCUITO #5 5
Botón Presionable
2
X
LED
1
X
Resistencia de
330Ω
1
X
Resistencia de
10KΩ
2
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
p.10p.36
Resistencias (330 ohm)
(Naranja-Naranja-Café)
GND
(Tierra)
Resistencias (10K ohm)
(Café-Negro-Naranja)
LED
(Diodo Emisor de Luz)
RedBoard
Botones
PIN 13
PIN 2
PIN 3
5 voltios
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 5: Botones Presionables
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
LED (5mm) +
-+-
h20 h21
Botón Presionable
d4 g4
d6 g6
Botón Presionable
d9 g9
d11 g11
Cable Conector Pin 2 h6
Cable Conector Pin 3 h11
Cable Conector Pin 13 j20
i4
Cable Conector
i9
Cable Conector
Resistencia de 10KΩ a15
i6 +
Resistencia de 10KΩ i11 +
Resistencia de 330Ω j21 +
Una de las cosas que hace a la RedBoard tan útil es el hecho de que pueda realizar decisiones complejas basada
en la entrada que está obteniendo. Por ejemplo, puedes hacer un termostato que encienda un calentador si se
pone muy frío, un ventilador si se pone muy caliente, riegue tus plantas si se ponen muy secas, entre otras
cosas.
Con el n de hacer este tipo de decisiones, el ambiente de Arduino provee un grupo de operaciones lógicas
que te permitirán construir declaraciones “if” complejas. Estas operaciones incluyen:
Puedes combinar estas funcionas para construir declaraciones if() complejas.
Por ejemplo:
if ((mode == heat) && ((temperature < threshold) || (override == true)))
{
digitalWrite(HEATER, HIGH);
}
…esto encenderá un calentador si estás en modo de calentamiento Y la temperatura es baja,
O si enciendes un interruptor manual. ¡Usando estos operadores lógicos puedes programar
tu RedBoard para que tome decisiones más inteligentes y tomar el control del mundo que te
rodea!
Cómo usar la lógica como un Vulcano:
== EQUIVALENCIA A == B es verdadero si A y B son lo MISMO.
!= DIFERENCIA A != B es verdadero si A y B NO SON LO
MISMO.
&& YA && B es verdadero si AMBOS, A y B, son
VERDADEROS.
|| OA || B es verdadero si A o B o AMBOS son
VERDADEROS
!NEGACIÓN !A es VERDADERO so A es FALSO.
!A es FALSO si A es VERDADERO.
Cable Conector GND
Cable Conector 5V +
Los botones que usamos aquí son similares a los botones
vistos en la mayoría de los controles de videojuegos.
Circuit 2 Código de Arduino:
5
Problemas comunes:
La Luz no se enciende
El botón es cuadrado, y es por esto que es fácil ponerlo de
manera incorrecta. Dale un giro de 90 grados y revisa si
empieza a funcionar.
No estás satisfecho
No te preocupes, estos circuitos están hechos para crear
una forma fácil de jugar con los componentes, pero una
vez que lo unes todo, el cielo es el límite.
Debes ver el LED encenderse si
presionas algún botón, y apagarse
si presionas ambos botones.
(¡Mira el código para averiguar
por qué!) Si esto no funciona
asegúrate de que hayas
ensamblado el circuito
correctamente, vericado y
cargado el código a tu tarjeta, o
puedes ver la sección de
problemas comunes que se
muestra abajo.
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 5
Lo que deberías ver:
Los pines digitales pueden ser usados tanto como entradas
que como salidas. Entes de que uses alguno, necesitas
decirle a la RedBoard en cuál dirección lo vas a utilizar.
pinMode(button2Pin, INPUT);
Ya que has conectado el botón e tierra (GND), este llevará a un estado
de bajo (LOW) cuando sea presionado. Aquí estamos utilizando el
operador de “equivalencia” (“==”) para ver si el botón está siendo
presionado.
if (button1State == LOW)
Para leer una entrada digital, debes usar la función
digitalRead(). Esta retornará HIGH si hay 5V presentes
en el pin, o LOW si hay 0V presentes en el pin.
button1State = digitalRead(button1Pin);
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuit 2
Así que ya has jugado con un potenciómetro, cuya
resistencia varía según el movimiento de una perilla.
En este circuito estarás usando una fotorresistencia, la
cual cambia su resistencia basada en la cantidad de luz
que recibe el sensor. Ya que la RedBoard no puede
interpretar directamente la resistividad (en vez de esto,
lee el voltaje), utilizamos un divisor de voltaje para
usar nuestra fotorresistencia. Este divisor de voltaje
dará como salida un alto voltaje cuando esté
percibiendo mucha luz y un bajo voltaje cuando no lo
haga.
Fotorresistencia
PARTES:
Cable
6
X
CIRCUITO #6 6
LED
1
X
Resistencia de
330Ω
1
X
Fotorresistencia
1
X
Resistencia de
10KΩ
1
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
p.40
PIN 9
PIN A0
Resistencias (330 ohm)
(Naranja-Naranja-Café)
GND
(Tierra)
Resistencia (10K ohm)
(Café-Negro-Naranja)
LED
(Diodo Emisor De Luz)
Fotorresistencia
(Resistencia Sensible a la Luz)
RedBoard
5 voltios
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 6: Fotorresistencia
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
+
-+-
h20 h21
LED
(5mm)
Fotorresistencia
j1
Cable Conector
j6 +
Cable Conector
Cable Conector GND
Cable Conector 5V
5V +
Resistencia de 330Ω j21 +
Resistencia de 10KΩ i1 i5
Cable Conector A0 j5
f5 f6
Cable Conector Pin 9 j20
Muchos de los sensores que utilizarás (potenciómetros, fotorresistencias, etc.)
son resistores disfrazados. Sus resistencias cambian en proporción a lo que estén
detectando (nivel de luz, temperatura, sonido, etc.).
Los pines de entrada analógica de la RedBoard miden voltaje, no resistencia.
Pero podemos usar fácilmente sensores resistivos con la RedBoard incluyéndolos
como parte de un “divisor de voltaje”.
Un divisor de voltaje consiste en dos resistores. El resistor de “arriba” es el sensor
que utilizarás. El de “abajo” es un resistor normal jo. Cuando conectas el
resistor de arriba a 5 voltios, y el de abajo a tierra, el voltaje en el medio debe ser
proporcional al resistor de abajo relativo al total de resistividad (resistor de arriba
+ resistor de abajo). Cuando uno de los resistores cambia (como lo hacen tus
sensores cuando detectan algo), ¡el voltaje de salida cambia también!
Aunque la resistencia de los sensores va a variar, los sensores resistivos (sensor
ex, sensor de luz, potenciómetro suave y trimpot) utilizados en el SIK son de
alrededor de 10Kohms. Generalmente queremos que el resistor jo esté cerca de
este valor, por lo que usar un resistor de 10K es una gran opción para el resistor
jo de “abajo”. Puedes notar que el resistor jo no necesariamente debe ser el de
abajo. Hacemos esto solo con el fotodiodo pues más luz = más voltaje, pero
pueden ser intercambiados y obtendríamos la respuesta opuesta.
Midiendo sensores resistivos:
Una lámpara colocada en un camino usa un pequeño
sensor para detectar cuando encender las luces en la
noche.
Circuit 2 Código de Arduino:
6
Problemas comunes:
El LED Permanece Oscuro
Este es un error que seguimos cometiendo una y otra vez,
si tan solo pudieran fabricar un LED que funcione de
ambas formas. Sácalo y dale un giro.
No está Respondiendo a los Cambios de Luz
Dado que el espaciado de los cables en el Fotorresistor no
es estándar, es fácil colocarlo erróneamente. Revisa que
esté colocado en el lugar correcto.
Aún no funciona del todo
Es probable que estés en un cuarto muy claro o muy
oscuro. Prueba encendiendo o apagando la luces para ver
si esto ayuda. O si tienes una linterna cerca de ti inténtalo
con eso.
Deberías ver el LED brillar más o
menos de acuerdo a la cantidad de
luz que el Fotorresistor está
leyendo. Si esto no funciona
asegúrate de que hayas
ensamblado el circuito
correctamente, vericado y
cargado el código a tu tarjeta, o
puedes ver la sección de problemas
comunes que se muestra abajo.
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 6
Lo que deberías ver:
Cuando leemos una señal analógica usando analogRead(),
esta lectura será un número de 0 a 1023. Pero cuando
queremos manejar un pin PWM usando analogWrite(), este
requiere un número de 0 a 255. Podemos “encoger” el mayor
rango dentro del menor usando la función map().
lightLevel = map(lightLevel, 0, 1023, 0, 255);
Ya que la función map() aún puede retornar números fuera del rango
objetivo, utilizamos también una función llamada constrain() la cual
“restringirá” los números dentro de un rango. Si el número está fuera del
rango se convertirá en el mayor o menor número. Si está dentro del rango se
quedará igual.
Visita http://arduino.cc/en/reference/constrain para más información.
lightLevel = constrain(lightLevel, 0, 255);
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Visita http://arduino.cc/en/reference/map para más
información.
Parámetros
map(value, fromLow, fromHigh, toLow, toHigh)
Parámetros
constrain(x, a, b)
x: el número a restringir, todo tipo de dato
a: : el límite inferior del rango, todo tipo de dato
b: el límite superior del rango, todo tipo de dato
value: el número a mapear
fromLow: el límite inferior del rango actual del valor
fromHigh: el límite superior del rango actual del valor
toLow: el límite inferior del rango objetivo del valor
toHigh: el límite superior del rango objetivo del valor
Circuit 2
Un sensor de temperatura es exactamente lo que suena
– un sensor usado para medir la temperatura del
ambiente. Este particular sensor tiene tres pines – un
positivo, una tierra y una señal. Este es un sensor de
temperatura lineal. Un cambio en la temperatura de un
grado centígrado es igual a un cambio de 10 milivoltios
en la salida del sensor. El sensor TMP36 tiene un valor
de 750mV a 25°C (temperatura ambiente). En este
circuito, aprenderás como integrar el sensor de
temperatura con tu RedBoard y usar el monitor serial
del Arduino IDE para mostrar la temperatura.
Sensor de Temperatura
CIRCUITO #7 7
p.44
GND
(Tierra)
RedBoard
TMP36
(Sensor de Temperatura de Presición)
5 voltios
GND
3
VCC
1
VOUT
2
PIN A0
PARTES:
Cable
5
X
Sensor de
Temperatura
1
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Cuando estés construyendo el circuito ten
cuidado de no confundir el sensor de
temperatura con el transistor, son casi idénticos.
Busca la etiqueta “TMP” en el cuerpo del
sensor de temperatura.
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 7: Sensor de Temperatura
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sensor de
temperatura f5 f7f6
Componente: Imagen de Referencia:
j5
Cable Conector
j7
Cable Conector
Cable Conector GND
Cable Conector 5V
5V +
Cable Conector A0 j6
+
Este circuito usa el monitor serial del IDE de Arduino. Para abrirlo primero carga el
programa, luego haz clic en el botón que se ve como una lupa en un cuadrado. Para
que el monitor serial opere correctamente debe estar congurado al mismo baud rate
(velocidad en bits por segundo) que el código que estás corriendo. Este código corre a
9600 baud; si la conguración del baud rate es diferente de 9600, cámbiala a 9600.
Abriendo tu monitor serial:
1
2
3
Edicios con sistemas de control de clima usan sensores
de temperatura para monitorear y mantener sus
conguraciones.
Circuit 2 Código de Arduino:
7
Problemas comunes:
Nada Parece estar Ocurriendo
Este programa no tiene ningún indicador externo que diga
que está funcionando. Para ver resultados debes abrir el
monitor serial del IDE de Arduino (instrucciones en
páginas anteriores).
Se Muestran Caracteres sin Sentido
Esto sucede porque el monitor serial está recibiendo datos
a una velocidad diferente de la esperada. Para solucionar
esto haz clic en la caja que dice “*** baud” y cámbiala a
“9600 baud”.
El Valor de Temperatura no está Cambiando
Trata prensando el sensor con tus dedos para calentarlo o
presionando una bolsa de hielo en él para enfriarlo.
Debes ser capaz de leer en el
monitor serial del Arduino IDE la
temperatura que tu sensor de
temperatura está detectando. Si
esto no funciona asegúrate de que
hayas ensamblado el circuito
correctamente, vericado y cargado
el código a tu tarjeta, o puedes ver
la sección de problemas comunes
que se muestra abajo.
Notas de Código:
Aplicación en la Vida Real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 7
Lo que Deberías ver:
Antes de usar el monitor serial debes llamar la función Serial.begin()
para inicializarlo. 9600 es el “baud rate”, o la velocidad de comunica-
ciones. Cuando dos dispositivos se comunican entre ellos, ambos
deben tener la misma velocidad.
Serial.begin(9600);
Serial.print() imprimirá todo en la misma línea. Serial.println() moverá
el cursor a la línea siguiente. Utilizando estos comandos juntos puedes
crear impresiones de texto y datos fáciles de leer.
Serial.println(degreesF);
El comando Serial.print() es muy inteligente. Puede imprimir casi
cualquier cosa que le puedas tirar, incluyendo variables de todo
tipo, texto entre comillas (conocido como “strings”), etc.
Visita http://arduino.cc/en/serial/print para más información.
Serial.print(degreesC);
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
voltage: 0.73 deg C: 23.24 deg F: 73.84
voltage: 0.73 deg C: 23.24 deg F: 73.84
voltage: 0.73 deg C: 23.24 deg F: 73.84
voltage: 0.73 deg C: 22.75 deg F: 72.96
voltage: 0.73 deg C: 23.24 deg F: 73.84
voltage: 0.73 deg C: 23.24 deg F: 73.84
voltage: 0.73 deg C: 23.24 deg F: 73.84
voltage: 0.73 deg C: 22.75 deg F: 72.96
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuit 2
Los servos son ideales para aplicaciones electrónicas pues
pueden hacer muy bien algo que los motores no – pueden
moverse a una posición determinada de forma precisa.
Variando el ancho de pulso del voltaje de salida hacia un
servo puedes moverlo a una posición especíca. Por
ejemplo, un pulso de 1.5 milisegundos moverá el servo 90
grados. Es este circuito aprenderás cómo usar PWM
(modulación de ancho de pulso) para controlar y rotar un
servo.
Solo un Servo
PARTES:
Cable
8
X
CIRCUITO #8 8
p.48
Servo
1
X
RedBoard
Si no hay punto de unión significa que no hay conexión
GND
SEÑAL
V+
W
R
B
5 voltios
GND
(Tierra)
PIN 9
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 8: Solo un Servo
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
Servo e5 e7e6
Cable Conector
Cable Conector
Cable Conector
e6
e7
e5
5V
Cable Conector Pin 9 a7
Cable Conector
Cable Conector
Cable Conector
Cable Conector GND
b5
+
a6 +
El ambiente de desarrollo de Arduino te da un set de comandos incorporados para manipular
entradas y salidas básicas, tomar decisiones usando lógica, resolver problemas matemáticos, etc.
Pero el poder real del Arduino es la gran comunidad que lo usa y sus deseos de compartir su
trabajo.
Las bibliotecas son colecciones de comandos nuevos que han sido empaquetadas juntas para que
sea fácil incluirlas en tus diseños. Arduino viene con un puñado de bibliotecas útiles, como la
biblioteca servo utilizada en este ejemplo, las cuales pueden ser utilizadas para conectar
dispositivos más avanzados (pantallas LCD, motores “stepper”, puertos Ethernet, etc.)
Visita http: //arduino.cc/en/reference/libraries para Encontrar la lista de las bibliotecas
estándar e información sobre cómo usarlas.
Pero cualquiera puede crear una biblioteca, y si quieres usar un nuevo sensor o dispositivo de
salida, es probable que alguien ya haya escruto una que conecte ese dispositivo con la RedBoard.
Muchos de los productos de SparkFun vienen con bibliotecas de Arduino y puedes encontrar
aún más usando Google y el “Arduino Playground” en http://arduino.cc/playground/.
¡Cuando TÚ pongas a trabajar la RedBoard con un nuevo dispositivo, considera hacer una
biblioteca para este y compártela con el mundo!
Para usar una biblioteca en un diseño, selecciónala en Sketch > Importar Librería.
Después de importar la biblioteca en tu código vas a tener acceso a un número de comandos
y funciones previamente escritas. Para más información acerca de cómo usar las funciones
de las bibliotecas estándar puedes acceder a: http://arduino.cc/en/Reference/Libraries.
Expande tus horizontes usando Bibliotecas:
Archivo
Editar
Sketch
Herramientas Ayuda
EEPROM
Ethernet
Firmata
LiquidCrystal
SD
Servo
SoftwareSerial
SPI
Stepper
WiFi
Wire
Vericar / Compilar
Mostrar la Carpeta de Sketch
Agregar Archivo…
Importar Librería
Circuit 2 Código de Arduino:
8
Problemas comunes:
El Servo no Gira
Aún con cables de colores es sorprendentemente fácil
conectar un servo al revés. Este podría ser el problema.
Aún no funciona
Un error que hicimos una o dos veces fue simplemente
olvidar conectar la alimentación (los cables rojo y café) a
+5 voltios y tierra.
Conecta y Empieza
Si el servo se comienza a mover, luego se detiene y hay
una luz parpadeante en tu RedBoard, la fuente de poder
que estás usando no está dando la talla. Usar un
adaptador de pared en lugar del conector USB debería
resolver este problema.
Deberías ver tu motor servo moverse a
varias posiciones a diferentes velocidades. Si
el motor no se mueve, revisa tus conexiones
y asegúrate de haber vericado y cargado el
código, o mira la sección de problemas
comunes que se muestra más abajo.
Notas de Código:
Aplicación en la vida real:
Los brazos robóticos que podrías ver en líneas de
ensamblaje o en películas de ciencia cción tienen servos
dentro de ellos.
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 8
Lo que deberías ver:
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
#include es un comando “preprocesador” especial que inserta una
biblioteca (o cualquier otro archivo) en tu diseño. Puedes escribir este
comando tú mismo, o escoger una biblioteca desde el menú “Sketch /
Importar Librería”.
#include <Servo.h>
Los servos en este kit no giran una vuelta completa, pero pueden ser ordenados para que
se muevan a una posición especíca. Usamos el comando write() de la biblioteca servo
para mover un servo a un número especíco de grados (0 a 180). Recuerda que el servo
requiere tiempo para moverse, así que dale un pequeño delay() si es necesario.
servo1.write(180);
La biblioteca servo añade nuevos comandos que te permiten controlar un
servo. Para preparar el Arduino para que controle un servo debes crear
primero un “objeto” Servo por cada servo (aquí lo llamamos “servo1”), y
luego hacerle un “attach” a un pin digital (aquí estamos usando el pin 9).
Servo servo1;
servo1.attach(9);
PARTS:
IC
1
X
330Ω
Resistor
8
X
LED
8
X
En este circuito utilizaremos un sensor exible para
medir, bueno, ¡exibilidad! Un sensor exible usa
carbono en una banda plástica para actuar como una
resistencia variable, pero en lugar de cambiar la
resistencia girando una perilla, la cambias al doblar el
componente. De nuevo utilizaremos un “divisor de
voltaje” para detectar este cambio de resistencia. El
sensor se dobla en una dirección y cuanto más se
doble, más alta es la resistividad que adquiere; tiene
un rango entre 10Kohm a 35Kohm. En este circuito
utilizaremos el doblamiento del sensor exible para
controlar la posición de un servo.
Sensor Flexible
PARTES:
CIRCUITO #9 9
Potentiometer
1
X
Servo
1
X
Sensor
Flexible
1
X
Resistencia
de 10KΩ
1
X
Cable
11
X
p.10
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
p.52
RedBoard
Resistencias (10K ohm)
(Café-Negro-Naranja)
Sensor Flexible
GND
SEÑAL
V+
W
R
B
5 voltios
(Tierra)
GND
PIN 9
PIN A0
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Circuito 9: Sensor Flexible
Nos pasa a todos – escribes tu código, compila y carga exitosamente, pero no puedes
entender por qué no está haciendo lo que quieres que haga. Las computadoras más
grandes tienen pantallas, teclados y ratones que puedes usar para depurar tu código,
pero computadoras pequeñas como la RedBoard no tienen esas cosas.
La clave para tener visibilidad con un microcontrolador son las salidas. Estas pueden
ser casi cualquier cosa, incluyendo LEDs y bocinas, pero una de las herramientas más
útiles es el monitor serial. Usando Serial.print() y println() puedes imprimir
fácilmente texto y datos entendibles por los humanos desde la RedBoard a una
ventana en tu computadora. Esto es genial para el resultado nal de tu diseño, pero
además es increíblemente útil para depurar.
Depurando tus diseños con el Monitor Serial:
Componente: Imagen de Referencia:
i20 i24
Servo e1 e3e2
e1
Cable Conector
i19
Cable Conector
h24 +
Cable Conector
h24 +
Cable Conector
h24 +
Cable Conector
Cable Conector
Cable Conector
Cable Conector
Cable Conector
e2
Cable Conector
e3
Cable Conector
Sensor Flexible h19 h20
Resistencia de 10KΩ
j20
A0
b1 +
a2 +
a3
Pin 9
5V
5V +
GND
Y si corres el código de nuevo, obtendrás la
salida que estabas esperando:
for (x = 1 ; x < 9 ; x++)
{
Serial.print(x);
}
12345678
Querías 1 a 8, pero el ciclo te está dando 0 a 7. ¡Ups! Ahora
necesitas arreglar el ciclo.
01234567
Digamos que necesitas un ciclo for() de 1 a 8,
pero parece que tu código no está funcionando
bien. Solo agrega Serial.begin(9600); a tu
función setup(), y agrega Serial.print() o
println() a tu ciclo:
for (x = 0; x < 8; x++)
{
Serial.print(x);
}
Accesorios controladores para consolas de videojuegos
como el “Power Glove” de Nintendo usan tecnología
sensible a exibilidad. Este fue el primer control de
videojuego que intentó simular el movimiento de la
mano en una pantalla en tiempo real.
Circuit 2 Código de Arduino:
9
Problemas comunes:
El Servo No Gira
Aún con cables de colores es sorprendentemente fácil
conectar un servo al revés. Este podría ser el problema.
El Servo no se Mueve como se Espera
El sensor está diseñado para funcionar en una sola
dirección. Prueba doblarlo hacia el otro lado (donde la cara
rallada quede hacia afuera haciendo una curva convexa).
El Servo no se Mueve muy Lejos
Necesitas modicar el rango de valores en la llamada a la
función map().
Deberías ver el motor servo moverse de
acuerdo a cuanto está siendo doblado el
sensor exible. Si esto no está
funcionando asegúrate de que hayas
ensamblado el circuito correctamente,
vericado y cargado el código a tu
tarjeta, o puedes ver la sección de
problemas comunes que se muestra
abajo.
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 9
Lo que deberías ver:
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Ya que la combinación sensor exible / resistencia no nos
entrega un rango completo de 0 a 5V, estamos usando la
función map() como una forma de reducir ese rango. Aquí le
decimos a la función que espere valores de 600 a 900, en vez
de 0 a 1023.
servoposition = map(flexposition, 600, 900, 0, 180);
Ya que la función map() aún puede retornar números fuera del
rango objetivo, utilizamos también una función llamada
constrain() la cual “restringirá” los números dentro de un rango. Si
el número está fuera del rango se convertirá en el mayor o menor
número. Si está dentro del rango se quedará igual.
servoposition = constrain(servoposition, 0, 180);
map(value, fromLow, fromHigh, toLow, toHigh)
constrain(x, a, b)
Circuit 2
PARTS:
CIRCUIT #5
p.10
IC
1
X
330Ω
Resistor
8
X
LED
8
X
Circuit 2
En este circuito vamos a usar otro tipo de resistencia
variable – esta vez es un potenciómetro suave (o soft
pot). Este está constituido por una banda delgada y
exible que puede detectar dónde se le está aplicando
presión. Al presionar en varias partes de la banda
puedes variar la resistencia de 100 a 10Kohmios.
Puedes usar esta habilidad para rastrear movimiento
en el soft pot o simplemente utilizarlo como un
botón. En este circuito conectaremos el potenciómet-
ro suave y lo usaremos para controlar un LED RGB.
Potenciómetro Suave
PARTES:
CIRCUITO #10 10
p.56
Cable
9
X
330Ω
Resistor
3
X
LED
1
X
Potenciómetro Suave
1
X
Resistencia de
330Ω
3
X
Resistencia de
10KΩ
1
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
RedBoard
Soft Pot
RedBoard
ROJO
VERDE
AZUL
5 voltios
GND
(Tierra)
Resistencias (330 ohm)
(Naranja-Naranja-Café)
Resistencia (10K ohm)
(Café-Negro-Naranja)
PIN A0
PIN 11
PIN 10
PIN 9
LED
(Diodos Emisores de Luz)
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Circuito 10: Potenciómetro Suave
Componente: Imagen de Referencia: Componente: Imagen de Referencia:
Cable Conector GND
LED RGB (5mm) a4 a5 a6 a7
e7 e11
5V
Resistencia de 330Ω g4e4
e7 e11
5V
Resistencia de 330Ω g6e6
e7 e11
5V
Resistencia de 330Ω g7e7
Cable Conector 5V
5V +
Cable Conector Pin 9 h4
Cable Conector Pin 10 h6
Cable Conector Pin 11 h7
e5
Cable Conector
j18 +
Cable Conector
j20
Cable Conector
Cable Conector j19
A0
5V
Potenciómetro Suave
h19
h18 h20
Resistencia de 10KΩ i19
Las perillas en muchos objetos, por ejemplo en un radio,
usan conceptos similares al que acabas de completar para
este circuito.
Circuit 2 Código de Arduino:
10
Problemas comunes:
El LED Permanece Oscuro o Muestra un Color Incorrecto
Con los cuatro pines del LED posicionados tan cerca unos
de otros, a veces es fácil posicionar uno de manera
incorrecta. Revisa que cada pon esté colocado donde debe
ser.
Resultado Extraños
La causa más probable es que estés presionando el
potenciómetro en más de una posición. Esto es normal y
puede ser utilizado para crear resultados estupendos.
Deberías ver el LED RGB cambiar de
color de acuerdo a la forma en que
interactúas con tu potenciómetro
suave. Si esto no funciona asegúrate
de que hayas ensamblado el circuito
correctamente, vericado y cargado el
código a tu tarjeta, o puedes ver la
sección de problemas comunes que se
muestra abajo.
Estas funciones grandes y tenebrosas toman un
solo valor (RGBposition) y calculan los tres
valores RGB necesarios para crear un arcoíris de
colores. Estas funciones crean tres “picos” para
los valores de rojo, verde y azul, los cuales se
enlazan para mezclar y crear nuevos colores.
¡Mira el código para más información! Aún si no
estás 100% seguro de cómo funciona, puedes
copiar y pegar esta (o cualquier) función en tu
código y usarla tú mismo. Si quieres saber más
acerca de crear tus propias funciones – echa un
vistazo al circuito #11.
redValue = constrain(map(RGBposition, 0, 341, 255, 0), 0, 255)
+ constrain(map(RGBposition, 682, 1023, 0, 255), 0, 255);
greenValue = constrain(map(RGBposition, 0, 341, 0, 255), 0, 255)
- constrain(map(RGBposition, 341, 682, 0,255), 0, 255);
blueValue = constrain(map(RGBposition, 341, 682, 0, 255), 0, 255)
- constrain(map(RGBposition, 682, 1023, 0, 255), 0, 255);
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 10
Lo que deberías ver:
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuit 2
En este circuito haremos de nuevo un puente entre el
mundo digital y el mundo analógico. Estaremos
usando una bocina que hace un pequeño “clic”
cuando le aplicas voltaje (¡pruébalo!). Por sí solo no es
extremadamente excitante, pero cuando enciendes y
apagas el voltaje cientos de veces en un segundo, la
bocina producirá un tono. ¡Y si unes unos cuantos
tonos uno tras otro, tendrás música! Este circuito y
diseño jugarán con un tono clásico. ¡Nunca te vamos
a decepcionar!
Bocina
PARTES:
Cable
3
X
CIRCUITO #11 11
p.60
Bocina
1
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Si la bocina no entra fácilmente
en los agujeros de la protoboard,
intenta rotándola un poco.
GND
(Tierra)
RedBoard
Bocina
PIN 9
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 11: Bocina
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
Bocina +-
f9 f7
Cable Conector Pin 9 j9
i7
Cable Conector GND
Cable Conector
Arduino contiene una variedad de funciones incluidas que son útiles para todo tipo
de cosas (visita http://arduino.cc/en/reference para ver la lista). Pero también puedes
crear tus propias funciones fácilmente. Primero, necesitamos declarar una función.
Aquí tenemos un ejemplo simple llamado “suma”, la cual suma dos números y
retorna el resultado. Vamos a explicarla bien.
Tus funciones pueden recibir valores ("parametros") y retornar un valor como esta lo hace.
Nota: el lenguaje de programación de Arduino no admite tíldes por lo que debes procurar no
usarlas o el programa mostrará un error de sintaxis.
Si vas a enviar parámetros a tun función, colócalos (y a sus tipos) en el paréntesis que va luego
del nombre de la función. Si tu función no usa ningún parámetro, tan solo deja el paréntesis
vacío () luego del nombre.
Si tu función retorna un valor como resultado, escribe el tipo del valor de retorno en frente
del nombre de la función. Luego, en tu función, cuando estés listo para retornar el valor,
escribe una declaración de return(valor). Si no vas a retornar ningún valor, coloca “void” al
frente del nombre de la función (similar a la declaración de las funciones setup() y loop() ).
Cuando escribes tus propias funciones haces tu código más nítido y fácil de reutilizar. Visita
http://arduino.cc/en/Reference/FunctionDeclaration para más información acerca de las
funciones.
Creando tus propias funciones:
int add(int parameter1, int parameter2)
{
int x;
x = parameter1 + parameter2;
return(x);
}
Muchos megáfonos modernos tienen conguraciones
que usan una bocina amplicadora. Generalmente son
muy ruidosas y muy buenas para atraer la atención de la
gente.
Circuit 2 Código de Arduino:
11
Problemas comunes:
No hay Sonido
Dada la forma y tamaño del elemento piezoeléctrico es
fácil errar los agujeros en la protoboard. Revisa que esté
colocado de forma correcta.
No Puedo Pensar Mientras la Melodía está Sonando
Tan solo retira el elemento piezoeléctrico mientras
piensas, carga tun programa y luego conéctalo de nuevo.
Te Sientes Decepcionado y Desolado
Este código está escrito para que puedas añadir fácilmente
tus propias canciones.
Deberías ver – bueno, ¡nada! Pero
deberías ser capaz de escuchar una
canción. Si esto no sucede
asegúrate de que hayas
ensamblado el circuito
correctamente, vericado y
cargado el código a tu tarjeta, o
puedes ver la sección de
problemas comunes que se
muestra abajo.
Notas de Código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 11
Lo que deberías ver:
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Hasta ahora hemos estado trabajando únicamente con datos
numéricos, pero el Arduino también puede trabajar con texto. Los
caracteres (sencillos, imprimibles, letras, números y otros símbolos)
tienen su propio tipo, llamado “char”. Cuando tienes un arreglo de
caracteres puedes denirlo entre comillas dobles (también llamado un
“string”), O como una lista de caracteres entre comillas simples.
char notes[] = "cdfda ag cdfdg gf ";
char names[] = {'c','d','e','f','g','a','b','C'};
Uno de los comandos propios de Arduino más útiles es la función
tone(). Esta función maneja un pin de salida a cierta frecuencia,
haciéndolo perfecto para controlar bocinas y altavoces. Si le das
una duración (en milisegundos), reproducirá el tono y luego se
detendrá. Si no le das una duración se mantendrá reproduciendo
el tono para siempre (pero puedes detenerlo con otra función,
noTone() ).
tone(pin, frecuencia, duracion);
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuit 2
¿Recuerdas cuando jugaste con un motor servo? Ahora vamos
a pasar a hacer un motor girar. Esto requiere el uso de un
transistor, el cual puede entregar una mayor cantidad de
corriente de lo que puede la RedBoard. Cuando usamos un
transistor, debemos asegurarnos de que sus especicaciones
máximas son sucientemente altas para tu uso. El transistor
que vamos a usar para este circuito tiene valores máximos de
40V y 200miliamperios - ¡perfecto para tu motor de juguete!
Cuando el motor esté girando y es apagado de repente, el
campo magnético dentro de él colapsa, generando un pico de
voltaje. Esto puede dañar el transistor. Para evitar que eso
ocurra, usamos un “diodo de retorno”, el cual desvía el pico
de voltaje alrededor del transistor.
Rotando un Motor
PARTS:
Cable
6
X
CIRCUITO #12 12
1
X
Motor de
CC
1
X
Diodo
1N4148
p.64
Transistor
P2N2222AG
1
X
Cuando estás construyendo el circuito ten cuidado
de no confundir el transistor con el sensor de
temperatura, pues son casi idénticos. Busca la
etiqueta “P2N2222A” en el cuerpo del transistor.
Resistencia de
330Ω
1
X
P2N2
222A
RedBoard
Resistencia (330 ohm)
(Naranja-Naranja-Café)
Transistor
(P2N2222AG)
Motor de CC
Diode
(1N4148)
GND
(Tierra)
5 voltios
PIN 9
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 12: Rotando un Motor
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
Transistor P2N2222AG a1 a3a2
Cable Conector
Cable Conector Pin 9 j2
Cable Conector
Cable Conector
Cable Conector 5V
Cable Conector GND
Diodo 1N4148 a3
GND
b7 b11
e7 e11
e7 e11
Motor de CC
5V
Reistencia de 330Ω g2e2
e1
a7 +
+
e3 d11
En este punto probablemente estés empezando a tener tus propias ideas de circuitos que
hagan cosas divertidas, o ayuden a resolver un problema real. ¡Excelente! Aquí tienes algunos
consejos acerca de programación en general.
La mayoría de los diseños que escribas serán un ciclo de algunos o todos estos pasos:
1. Reciben alguna clase de entrada
2. Realizan algún tipo de cálculos o decisiones
3. Entregan alguna clase de salida
4. ¡Todo se repite! (¡O no!)
Ya te hemos enseñado a usar un puñado de diferentes sensores de entrada y dispositivos de
salida (y aún nos faltan unos cuantos). Siéntete libre de hacer uso de los ejemplos en tus
propios diseños – esta es la principal idea detrás del movimiento del “Software Libre” o
“Open Source”.
Generalmente es muy fácil colocar porciones de diferentes diseños juntas, tan solo ábrelas en
dos ventanas, copia y pega lo que necesites entre ellas. Esta es una de las razones por las que
estamos promoviendo “buenos hábitos de programación”. Cosas que usen constantes para
referenciar números de pin, y organizar tus diseños en funciones, hacen más fácil poder
reutilizar tu código en nuevos diseños. Por ejemplo, si unes dos porciones de código que
usan el mismo pin, puedes cambiar fácilmente una de las constantes a un nuevo pin. (No
olvides que no todos los pones soportan la función analogWrite(); los pines compatibles
están marcados en tu tarjeta).
Si necesita ayuda, existen foros en internet donde puedes hacer preguntas. Prueba el foro de
Arduino en arduino.cc/forum, y el foro de SparkFun en forum.sparkfun.com. Cuando
estés listo para pasar a temas más avanzados, echa un vistazo a la página de tutoriales de
Arduino en arduino.cc/es/tutorial. Muchos de los productos más avanzados de SparkFun
son programados con Arduino, (permitiéndote modicarlos fácilmente), o tener ejemplos
de Arduino para ellos. Mira nuestras páginas de productos para más información.
Finalmente cuando crees algo realmente genial, considera compartirlo con el mundo para
que otros puedan aprender de tu ingenio. ¡Asegúrate de hacérnoslo saber en
https://www.sparkfun.com/project_calls para que podamos ponerlo en nuestra página
principal!
Armándolo todo:
P2N2
222A
Circuit 2 Código de Arduino:
12
Problemas comunes:
El Motor No Gira
Si estás usando un transistor diferente al incluido en el
kit, revisa en la hoja de datos que sus diagrama de pines
sea compatible con el del P2N2222AG (muchos se
encuentran al revés).
Aún no hay Suerte
Si usaste tu propio motor, revisa que este funcione con 5
voltios y que este no consuma mucha potencia.
Aún No Funciona
Algunas veces la RedBoard se desconectará de la
computadora. Intenta desconectar y reconectarla a tu
puerto USB.
El motor de CC debería girar si haz ensamblado
los componentes del circuito correctamente y
haz vericado/cargado el código correcto. Si el
circuito no funciona revisa la sección de
problemas comunes que se muestra más abajo.
Notas de Código:
Aplicación en la vida real:
Los carros a control remoto usan motores de Corriente
Continua (CC) para hacer girar sus ruedas.
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 12
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Lo que deberías ver:
El puerto serial de la RedBoard puede ser usado tanto para recibir como
para enviar datos. Ya que los datos pueden llegar en cualquier momento,
la RedBoard guarda los datos entrantes en el puerto hasta que estés listo
para usarlos. El comando Serial.available() retorna el número de caracteres
que el puerto ha recibido, pero no han sido usados por tu diseño aún.
Cero signica que no ha llegado ningún dato.
while (Serial.available() > 0)
Si los datos del puerto han estado esperándote, hay varias formas
para que los puedas usar. Ya que estamos escribiendo números en
el puerto, podemos usar el comando Serial.parseInt() para extraer
o “parsear” números enteros de los caracteres recibidos. Si escribes
“1” “0” “0” en el puerto, esta función retornará el número 100.
speed = Serial.parseInt();
Circuit 2
PARTS:
CIRCUIT #5 5
p.10
IC
1
X
LED
8
X
Circuit 2
En este circuito vamos a usar algunas de las lecciones que
aprendimos en el circuito 12 para controlar un relé. Un
relé es básicamente un interruptor mecánico controlado
electrónicamente. Dentro de esa caja plástica de
apariencia inofensiva hay un dispositivo electromagnéti-
co que, cuando recibe una carga de energía, causa que se
dispare un interruptor. En este circuito aprenderás como
controlar un relé como los profesionales – ¡dándole a tu
RedBoard habilidades aún más poderosas!
Relés
PARTES:
CIRCUITO #13 13
p.68
Transistor
P2N2222AG
1
X
Relé
1
X1
X
Diodo
1N4148
Cable
14
X
Resistencia de
330Ω
2
X
LED
2
X
Cuando el relé está apagado, el pin COM
(común) estará conectado al pin NC
(Normalmente Cerrado). Cuando el relé esté
encendido, el pin COM (comñun) estará
conectado al pin NO (Normalmente
Abierto).
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
RedBoard
Transistor
(P2N2222AG)
Relé SPDT
Diodo
(1N4148)
Resistencia (330 ohm)
(Naranja-Naranja-Café)
Resistencia (330 ohm)
(Naranja-Naranja-Café)
LEDs
(Diodo Emisor de Luz)
GND
(Tierra)
5 voltios
PIN 2
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 13: Relés
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia:
e2
Cable Conector
f5 f7f6
LED
(5mm)
+
-+-
c19 c20
LED
(5mm)
+
-+-
c22 c23
h9
Cable Conector +
e14
Relé
e9
f13
f15 f9
Transistor P2N2222AG
Diodo 1N4148 a3
GND
e7 f 7
a2 a4a3
e7 e11
5V
Resistencia de 330Ω g3e3
e7 e11
5V
Resistencia de 330Ω +b14
Componente: Imagen de Referencia:
i13
Cable Conector i13 e22
j5
Cable Conector j7 j9
Cable Conector i15 e19
Cable Conector e15 e19
Cable Conector e15 e19
Cable Conector b14 e19
Cable Conector a7 a9
Cable Conector e4 b9
+ +
+
Cable Conector e15 e19
e15 +
a23
+
Cable Conector GND
Cable Conector 5V
5V +
Cable Conector Pin 2 j3
a20
P2N2
222A
Los portones eléctricos utilizados en los garajes usan relés
para operar. Pruébalo tú mismo, si pones atención puede
ser que escuches el sonido del clic.
Circuit 2 Código de Arduino:
13
Problemas comunes:
Los LEDs no se iluminan
Revisa que estos estén bien conectados. La patilla más larga
(con el borde plástico no plano) es la patilla positiva.
No se escucha el sonido del clic
La sección del circuito que contiene el transistor o la bobina no
está funcionando. Revisa que el transistor esté conectado de
manera correcta.
El circuito no funciona del todo
Los relés incluidos en la tarjeta están diseñados para ser
soldados a un circuito, no para ser utilizados en una
protoboard, por lo que puede ser que necesites presionarlo un
poco para asegurar que funcione bien (ocasionalmente puede
salirse de nuevo). Cuando estés construyendo el circuito ten
cuidado de no confundir transistor con el sensor de
temperatura pues son casi idénticos.
Debes ser capaz de escuchar un
clic proveniente de los
contactos del relé, y ver los dos
LEDs alternar su iluminación
en intervalos de 1 segundo. Si
esto no ocurre, revisa que el
circuito esté ensamblado
correctamente y esté cargado
el código correcto en la tarjeta.
Adicionalmente, puedes
consultar la sección de
problemas comunes que se
muestra más abajo.
Notas de código:
Aplicación en la vida real :
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 13
Lo que deberías ver:
Cuando encendemos el transistor, que a su vez energiza la bobina
del relé, los contactos del interruptor del relé están cerrados. Esto
conecta el pin COM del relé con el pin NO (Normalmente
Abierto por sus siglas en inglés). Cualquier componente que esté
conectado a estos pines se encenderá. (En este caso utilizamos
LEDs, pero puede ser casi cualquier cosa).
digitalWrite(relayPin, HIGH);
El relé posee un contacto adicional llamado NC (Normalmente Cerrado). El
pin NC se conecta al pin COM cuando el relé está apagado. Puedes usar
cualquiera de estos pines dependiendo del comportamiento deseado, ya sea
normalmente encendido o normalmente apagado. Además, se pueden usar
ambos pines para alternar la alimentación entre dos dispositivos, similar a las
luces de precaución en un paso de ferrocarril.
digitalWrite(relayPin, LOW);
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuit 2
Registro de Desplazamiento
PARTES:
Cable
19
X
CIRCUITO #14 14
p.72
Ahora vamos a adentrarnos en el mundo de los CIs
(Circuitos Integrados). En este circuito aprenderás todo
acerca del uso de un registro de desplazamiento (también
llamado conversor serie a paralelo). El registro de
desplazamiento le dará a tu RedBoard ocho salidas
adicionales, usando solamente tres pines de tu tarjeta. Para
este circuito practicarás usando el registro de desplazamiento
para controlar ocho LEDs.
CI
1
X
Resistencia de
330Ω
8
X
LED
8
X
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Dobla las patillas en un
ángulo de 90°.
Alinea la muesca en la parte
superior, en medio de “e5” y “f5”
en la protoboard. La muesca
indica donde se encuentra el pin 1.
1
2
3
4
5
6
7
8
QB
QC
QD
QE
QF
QG
QH
GND
VCC
QA
SER
OE
RCLK
SRCLK
SRCLR
QH’
16
15
14
13
12
11
10
9
* No conectes LEDs (Diodos Emisores de Luz) en el pin 9
74HC595
Resistencias (330 ohm)
(Naranja-Naranja-Café)
LEDs
(Diodos Emisores de Luz)
RedBoard
GND
(Tierra)
OE
13
GND
8
QA
15
QB
1
QC
2
QD
3
QE
4
QF
5
QG
6
QH
7
QH*
9
RCK
12
SCK
11
SCL
10
SER
14
VCC
16
5 voltios
PIN 2
PIN 3
PIN 4
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 14: Registro de Desplazamiento
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia: Componente: Imagen de Referencia:
LED
(5mm)
+
-
+-
c14 c15
LED
(5mm)
+
-
+-
c17 c18
LED
(5mm)
+
-
+-
c20 c21
LED
(5mm)
+
-
+-
c23 c24
LED
(5mm)
+
-
+-
h14 h15
LED
(5mm)
+
-
+-
h17 h18
LED
(5mm)
+
-
+-
h20 h21
LED
(5mm)
+
-
+-
h23 h24
a3
a15
Resistencia de 330Ω
a3
GND
c23 a18
Resistencia de 330Ω
a3
GND
c23 a21
Resistencia de 330Ω
a3
GND
c23 a24
Resistencia de 330Ω
a3
GND
j15 c24
Resistencia de 330Ω
a3
GND
j18 c24
Resistencia de 330Ω
a3
GND
j21 c24
Resistencia de 330Ω
a3
GND
j24 c24
Resistencia de 330Ω
CI
e5
f5
e6
f6
e7
f7
e8
f8
e9
f9
e10
f10
e11
f11
e12
f12
a3
GND
Cable Conector + +
a3
GND
Cable Conector ++
a3
GND
Cable Conector j5 +
a3
GND
Cable Conector j6 a14
Cable Conector
a3
GND
Cable Conector j8 a14
Cable Conector
Cable Conector
a3
GND
Cable Conector f14 a8
a3
GND
Cable Conector f17 a9
a3
GND
Cable Conector f20 a10
a3
GND
Cable Conector f23 a11
a3
GND
Cable Conector a23 a7
a3
GND
Cable Conector a20 a6
a3
GND
Cable Conector a17 a5
Cable Conector
Cable Conector
j7
Pin 2
j9
Pin 4
j10
Pin 3
a3
GND
Cable Conector j11 a14
+
j10
5V +
GND
De forma similar al circuito #4, un letrero de guras
cambiantes muestra un mensaje con múltiples LEDs.
Esencialmente el registro de desplazamiento realiza la
misma tarea en este circuito #14.
Circuit 2 Código de Arduino:
14
Problemas comunes:
El LED de alimentación de la RedBoard se Apaga
Esto nos sucedió en un par de ocasiones, sucede cuando el
chip es insertado al revés. Si lo arreglas rápidamente nada
saldrá dañado.
No Funciona del Todo
Sentimos sonar como un disco rayado pero esto se debe
probablemente a un cruce de cables.
Frustración
Envíanos un correo electrónico, este circuito es simple y
complejo al mismo tiempo. Queremos escuchar los
problemas que tienes para poder dirigirnos a ellos en
ediciones futuras: techsupport@sparkfun.com
Deberías ver los LEDs encenderse
de forma similar al circuito 4
(pero esta vez, estás usando un
registro de desplazamiento). Si no
lo hacen asegúrate de haber
ensamblado el circuito
correctamente, vericado y
cargado el código en tu tarjeta.
Mira la sección de problemas
comunes más abajo.
Notas de código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 14
Lo que deberías ver:
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Te comunicarás con el registro de desplazamiento (y con muchos otros
componentes) usando una interfaz llamada SPI, o “Serial Peripheral
Interface”. Esta interfaz utiliza líneas separadas de datos y de reloj que
trabajan juntas para mover datos desde y hacia la RedBoard a alta velocidad.
El parámetro MSBFIRST especica el orden en que se envían los bits
individuales, este caso se envía el Bit Mas Signicativo de primero.
shiftOut(datapin, clockpin, MSBFIRST, data);
Los bits son la porción de memoria más pequeña en una computadora; cada uno
puede guardar ya sea un “1” o un “0”. Números más grandes son guardados como
arreglos de bits. Algunas veces queremos manipular estos bits directamente, por
ejemplo ahora, estamos enviando ocho bits al registro de desplazamiento y queremos
que se conviertan en 1 o 0 para encender o apagar los LEDs. La RedBoard tiene
diversos comandos, como bitWrite(), que hacen esto fácil de realizar.
bitWrite(data, desiredPin, desiredState);
Circuit 2
PARTS:
Wire
19
X
CIRCUIT #5
IC
1
X
330Ω
Resistor
8
X
LED
8
X
Circuit 2
En este circuito aprenderás acerca de cómo usar un
LCD. Un LCD, o visualizador de cristal líquido, es
una simple pantalla en donde puedes visualizar
comandos, bits de información o lecturas de tu sensor
– todo dependiendo de la forma en que programes tu
tarjeta. En este circuito aprenderás lo básico para
incorporar un LCD en tu proyecto.
LCD
PARTES:
Cable
16
X
CIRCUITO #15 15
LCD
1
X
Potenciómetro
1
X
p.76
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
RedBoard
GND
(Tierra)
5 voltios
A
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
E
K
R/W
RS
VDD
VO
VSS
16x2 LCD
PIN 2
PIN 3
PIN 4
PIN 5
PIN 11
PIN 12
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Circuito 15: LCD
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a b c d e f g h i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Componente: Imagen de Referencia: Componente: Imagen de Referencia:
LCD
Cable Conector
f27
Pin 12
Cable Conector
f25
Pin 11
Cable Conector
Cable Conector
f19
Pin 4
f20
Pin 5
Cable Conector
a3
GND
Cable Conector e6 +
a3
GND
Cable Conector f15
a3
GND
Cable Conector e7 f28
a3
GND
Cable Conector f16 +
a3
GND
Cable Conector e8
Cable Conector
Cable Conector
j10
Pin 2 f17
f18
Pin 3 f18
j10
5V +
GND
Potenciómetro
b8
b7
b6
j30
j29
j28
j27
j26
j25
j24
j23
j22
j21
j20
j19
j18
j17
j16
j15
a3
GND
Cable Conector
Cable Conector
f26
a3
GND
Cable Conector f29 +
a3
Cable Conector f30
f30
¡Los LCD están en todas partes! Desde LCDs avanzados
como tu televisor, hasta simples pantallas de noticación,
este es un visualizador muy común y útil.
Circuit 2 Código de Arduino:
15
Problemas comunes:
¿La pantalla está en blanco o completamente encendida?
Juega con el contraste girando el potenciómetro. Si está
ajustado incorrectamente no serás capaz de leer el texto.
¿No Funciona del Todo?
Revisa de nuevo el código, especícamente chequea que
hayas incluido la biblioteca LCD.
La Pantalla está Parpadeando
Revisa tus conexiones en la protoboard y el Arduino.
Inicialmente, debes ver las
palabras “hello, world!”
aparecer en tu LCD. Recuerda
que puedes ajustar el contraste
usando el potenciómetro si no
puedes ver las palabras
claramente. Si tienes algún
problema asegúrate de que el
código sea correcto y revisa tus
conexiones.
Este bit de código le dice a tu Arduino IDE que incluya la
biblioteca para una pantalla LCD simple. ¡Sin esto ninguno de los
comandos funcionará, así que asegúrate de incluirlo!
#include <LiquidCrystal.h>
Notas de código:
Aplicación en la vida real:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 15
Lo que deberías ver:
Esta es la primera vez que encenderás algo en tu pantalla. Debes
ajustar el contraste para hacerlo visible. ¡Gira el potenciómetro hasta
que puedas ver el texto claramente!
lcd.print(“hello, world!”);
IOREF
RESET
RESET
7-15V
SCL
SDA
AREF
GND
13
12
~11
~10
~9
8
7
~6
~5
4
~3
2
1
0
TX
RX
13
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
A4
A5
POWER ANALOG IN
DIGITAL (PWM~)
ON
ISP
TX
RX
Este es solo el inicio de tu exploración en el mundo de la
programación y los circuitos embebidos. Nuestro sitio web tiene
gran variedad de tutoriales para saciar tu apetito de conocimiento.
Además tenemos una comunidad de hackers, programadores,
ingenieros y otros usuarios de nuestros productos en nuestros
foros. ¡Así que ingresa a nuestra página web para más información
acerca de Arduino, o para planear tu próximo proyecto!
sparkfun.com
Visítanos online:
Para aprender más
NOTAS:
RedBoard de SparkFun
Protoboard
Folleto de Instrucciones
Relé sellado
Servo pequeño
LEDs rojos y amarillos
LED RGB
Sensor de Temperatura
Motor CD
Registro de desplazamiento de 8bits
Interruptores de botón presionable
Potenciómetro
Fotorresistencia
Transistores
Cables de Unión
Cable USB
Diodos de señal
Resistencias de 10K ohms
Resistencias de 330 ohms
Bocina piezoeléctrica
Sensor flexible
Potenciómetro suave
Plataforma base
LCD
Inicia tu Viaje en el Mundo
de la Electrónica
¡Este kit te guiará a través de
experimentos de variadas difi-
cultades mientras aprendes todo
acerca de los sistemas embebidos,
computación física, programación
y más! Este kit es perfecto para
cualquiera que quiera explorar el
poder de la plataforma RedBoard.
EL KIT INCLUYE
© SparkFun Electronics, inc. Todos los derechos reservados. El SparkFun Inventor’s Kit para las características, especificaciones, requer-
imientos de sistema y disponibilidad de la RedBoard está sujeto a cambios sin previo aviso. Todas las otras marcas contenidas aquí son
propiedad de sus respectivos dueños. La Guía SIK para el SparkFun Inventor’s Kit para la SparkFun RedBoard está licenciada bajo licencia
Creative Commons Attribution Share-Alike 3.0.
Para ver una copia de esta licencia visita: http://creativecommons.org/by-sa/3.0/
O escribe a: Creative Commons, 171 Second Street, Suite 300, San Francisco, CA 94105, USA.
Además aprenderás a
ensamblar físicamente 15
circuitos electrónicos básicos,
pero no se requiere ningún punto de
soldadura. ¡No es necesaria ninguna
experiencia previa!
El SparkFun Inventor’s Kit
enseña programación básica,
para la cual necesitas tener
tanto una computadora como una
conexión a internet.

Navigation menu