Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Spanish SIK Guide 3.1v
Spanish SIK Guide 3.1v
ON
Gua SIK
RE SE T L SC A SD EF AR ND G 13 RX ~ ~ 9 8 D 7 I 6 G IT ~ AL ~5 4 W 3 M ~ ~ 2 (P )
TX
RE RE SE 3. F T 3V 5V GN
13 ~ 10
12 11
TX V
1
RX
GN
VI
N
A0
IS
A1
AN
A2
P AL
A3
O
A4
IN
A5
RE
PO
ER
SE
IO
IOR
EF
ES
ET
7-
15
7-
15
SC SC L AR A E GN F D 13 1 ~1 2 ~1 1 0 ~9 8
RX TX
AR
DU
INO
LA
NG
UA
GE
DE
VE
LO
PM
EN
TP
Versin 3.0
I TA
DIG
LA
TF
OR
~3
~6 ~5 4
Tabla de contenidos
Bienvenido a la Gua de Inventores de SparkFun
La Gua de Inventores de SparkFun es tu mapa para navegar en las aguas de la electrnica embebida para principiantes. Este folleto contiene toda la informacin que necesitars para explorar los 15 circuitos del SparkFun Inventors Kit para Educadores. Este manual se enfoca principalmente en una filosofa - que cualquiera puede (y debera) jugar con la electrnica. Cuando hayas acabado con esta gua, tendrs el conocimiento para poder empezar con tus propios proyectos y experimentos. Pero basta de hablar - es hora de inventar!
www.sparkfun.com
Traduccin al Espaol gracias a CRCibernetica.com y Alejandro Morales en Costa Rica
Seccin 1:
Qu es la plataforma RedBoard? Descarga el Software de Arduino (IDE) Instala controladores Identica tu Hardware Descarga el Cdigo Gua del SIK
Iniciando
1 3 4 7 8
Seccin 2:
Qu es la plataforma RedBoard?
La Revolucin Hazlo T Mismo (Do It Yourself)
Vivimos en un tiempo nico, en el que tenemos acceso a recursos que nos permiten crear nuestras propias soluciones e inventos. La revolucin Hazlo t Mismo est compuesta por inventores, carpinteros electrnicos y personas comunes que prefieren manufacturar sus propios proyectos antes que dejar que alguien lo haga por ellos.
www.sparkfun.com
RedBoard
// SparkFun RedBoard
RESET
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 analgicas, un oscilador de cristal de 16MHz, conexin USB, un Conector de alimentacin, una entrada ISP, y un botn de reinicio. No te preocupes, aprenders acerca de todos ellos ms adelante.
7-15V
FPO
FPO
13 RX TX ON ISP
POWER ANALOG IN
DIGITAL (PWM~)
A2 A3 A4 A5
7 ~6 ~5 4 ~3 2 TX 1 RX 0
c b
RedBoard
f a b
Contador para Lmpara Mata Insectos Noticador de correo para Juguetes Viejos
c Zapatillas Power-Lacing
Descarga el Arduino IDE (Ambiente de Desarrollo Integrado, por sus siglas en ingls)
Accede a internet
Para poder poner a funcionar tu RedBoard, es necesario que descargues primero la versin ms 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:
NW
NE
SE
SW
arduino.cc/en/main/software
Descargar
user
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I ~ T AL ~5 (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
~ 10
11
3 Nuevo: Estos botones abren otra nueva pestaa de cdigo. 4 Abrir: Este botn permite abrir un diseo existente. // Ver el siguiente diagrama 5 Guardar: Guarda el diseo actual.
Serial: Esto abre una ventana que muestra cualquier informacin serial que tu RedBoard est transmitiendo. Es muy usado para 6 Monitor tareas de depuracin.
7 Nombre del diseo: Muestra el nombre del diseo en el que ests trabajando actualmente. 8 rea de Cdigo: Esta es el rea en donde escribes el cdigo para tu diseo. 9 rea de Mensajes: Aqu es donde el IDE te dice si hay algn error en tu cdigo.
Abrir
Vericar
Cargar
Nota:
Tu RedBoard de SparkFun y el Arduino UNO son intercambiables pero no podrs encontrar la RedBoard listada dentro del Software de Arduino. En vez de esta selecciona Arduino UNO.
Herramientas
Ayuda
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.
com 1 com 12
Herramientas
Ayuda
Selecciona el dispositivo serie del RedBoard desde el men de Herramientas > Puerto Serial. En una Mac, esto debera ser algo que contenga /dev/tty.usbmodem o /dev/tty.usbserial.
/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
http://www.arduino.cc/playground/Learning/Linux
5
Ingresa al siguiente enlace para descargar el cdigo:
sparkfun.com/sikcode
// Copia el archivo SIK Guide Code dentro de la biblioteca Ejemplos en la carpeta de Arduino
Inicio
Programas
Arduino
Ejemplos
Descomprime el archivo SIK Guide Code. Debera estar localizado en la carpeta de Descargas de tu navegador. Da clic derecho a la carpeta comprimida y elige la opcin de extraer.
Contenidos Recursos Busca Arduino en la carpeta de aplicaciones. Clic derecho (ctrl + clic) en Arduino. Selecciona Mostrar Contenidos del Paquete.
Arduino Abrir Mostrar contenidos del paquete Mover a la papelera
Java Ejemplos Copia la carpeta SIK Guide Code en la carpeta de Arduino llamada Ejemplos.
Descomprime el archivo SIK Guide Code. Debera estar localizado en la carpeta de Descargas de tu navegador. Da clic derecho a la carpeta comprimida y elige la opcin de extraer.
http://www.arduino.cc/playground/Learning/Linux
QU ES LO QUE SIGUE? Contina leyendo para aprender ms acerca de empezar a usar circuitos. Luego puedes iniciar con tu primer circuito en la pgina 17!
// Circuitos simples y complejos En esta gua explorars 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 imaginacin.
a 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
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
Inventario de Partes
Cable para puentes
Varios Colores
LED (5mm)
x30
x10
x10
x1
Resistencia de 330
Resistencia de 10K
x25
* TAMAO REAL
x25
* TAMAO REAL
Potencimetro
Diodo
(1N4148)
x1
x2
* TAMAO REAL
Fotorresistencia
x1
x1
(TMP36)
(P2N2222AG)
Sensor de temperatura
FRENTE
Transistor
x1
ATRS
x2
ATRS
Motor DC
Botn presionable
x1
x2
Sensor Flex
SparkFun RedBoard
RESET
x1
Potencimetro Suave
13 RX TX
IOREF RESET 3.3V 5V GND GND VIN
A0 A1
POWER
DIGITAL (PWM~)
x1
A2 A3 A4 A5
7 ~6 ~5 4 ~3 2 TX 1 RX 0
ANALOG IN
ON
ISP
Servo
x1
Protoboard
x1
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
Rel
Circuito Integrado
(CI)
x1
x1
LCD
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
x1
x1
RESET
2 1
13 RX TX
POWER
DIGITAL (PWM~)
10
VIN
A0 A1
A2 A3 A4 A5
7 ~6 ~5 4 ~3 2 TX 1 RX 0
ANALOG IN
ON
ISP
SparkFun RedBoard
1 Alimentacin (Conector Barrel Jack) - puede ser usado tanto con un adaptador de 9V o 12V conectado a un enchufe como con una batera. 2 Alimentacin (Puerto USB) - Provee alimentacin y comunica tu tarjeta con tu computadora al conectarla por va USB.
LED (RX: Recibiendo) - Muestra cuando el chip FTDI est recibiendo bits de informacin desde el microcontrolador. Esto sucede cuando el 3 microcontrolador est enviando bits de informacin de vuelta a la computadora. LED (TX: Transmitiendo) - Muestra cuando el chip FTDI est transmitiendo bits de informacin hacia el microcontrolador. Esto sucede cuando 4 el microcontrolador est recibiendo esta informacin desde a la computadora.
- Este LED es incorporado a tu diseo para mostrar si tu programa est funcionando correctamente.
Pines (ARef, Ground (GND), Digital, Rx, Tx) - Estos pines pueden ser utilizados como entradas, salidas, alimentacin y tierra. // Ver el
Los conectores de pines constituyen una de las partes ms importantes a la hora de armar nuestros circuitos de ejemplo. Toma un momento para localizar los puertos de entrada/salida de tu RedBoard.
SCL SDA ARef Tierra Digital Digital Digital Digital Digital Digital Digital Digital Analgico Analgico Analgico Analgico Analgico Analgico Digital Digital Digital Digital TX - Out RX - In = Salida PWM/Analgica (i.e. )
ANALOG IN (ENTRADA ANALGICA) POWER (ALIMENTACIN)
11 RFU
IOREF Reinicio Salida de alimentacin Salida de alimentacin Tierra Tierra
10
Entrada de alimentacin
a 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
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
Esta lnea divide la tarjeta por la mitad, restringiendo el ujo elctrico hacia una de las dos mitades.
Protoboard
Conexin vertical 1 diagrama abajo
((+ Alimentacin y - Tierra) - Buses de Alimentacin // er el
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
Alimentacin:
Cada signo de + indica que hay alimentacin en cualquier lugar de la columna vertical.
Tierra:
Cada signo de indica que hay tierra en cualquier lugar de la columna vertical.
Dentro de la protoboard
Filas Horizontales:
Cada una de estas las, 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 la estarn conectados en un circuito cuando la alimentacin est activa.
a b c d e
f g h i
ENSAMBLA
ESCRIBE
CARGA
Asegrate de que el texto tanto en la RedBoard como en la protoboard est mirando hacia arriba para que puedas leerlo fcilmente.
a 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
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
RESET RESET
7-15V 7-15V SCL SCL SDA SDA AREF AREF GND GND 13 13 12 12 ~11 ~11 ~10 ~10 ~9 ~9 8 8 7 7 ~6 ~6 ~5 ~5 4 4 ~3 ~3 2 2 TX 1 TX 1 RX 0 RX 0
13 13 RX RX TX TX
IOREF IOREF RESET RESET 3.3V 3.3V 5V 5V GND GND GND GND VIN VIN
A0 A0 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5
a b c d e
f g h i
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I ~ T AL ~5 (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
Tu RedBoard trabaja con 5V. Esta es la alimentacin que ser suministrada por tu computadora va USB y ser la fuente de poder de todos los componentes que uses en tus circuitos. Al conectar tu RedBoard a tu computadora, le ests suministrando el voltaje justo que necesita para funcionar! 5V no pueden hacerte dao, as que no tengas miedo de tocar cualquier cosa en tu circuito. Adems 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.
~ 10
11
Circuit 2
LED Parpadeante
Los LEDs (Diodos Emisores de Luz) son luces pequeas 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 tendrs fundamentos slidos mientras trabajamos en ruta a experimentos ms complejos.
GND (Tierra)
Cada circuito empieza con una breve descripcin de lo que ests a punto de armar y el resultado esperado.
PARTES:
LED
X
Resistencia de 330
Cable
X
Esta seccin enlista las partes que vas a necesitar para completar el circuito.
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
Esta es una ilustracin 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.
G IN 8
13 ~ ~ ~ 9 10 11
12
Componentes como resistencias deben tener sus patillas dobladas en un ngulo de 90 para que puedan entrar correctamente en los agujeros de la protoboard. Tambin puedes cortar las patillas para que sea ms fcil trabajar con ellas en la protoboard.
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
1 2 3 4 5 6 7 Resistencia de 330 : el color de 8 las bandas generalmente es 9 naranja-naranja-caf-dorado. Las 10 patillas del componente pueden 11 ir en cualquier agujero. 12 13 14 15 16 17 18 19 Cable Unin: Todos los cables de 20 unin funcionan de la misma 21 forma. Son utilizados para 22 conectar dos puntos del circuito. 23 Esta gua muestra los cables con 24 colores especcos por claridad, 25 pero si deseas usar diferentes 26 combinaciones de colores es 27 completamente aceptable. 28 29 30 1 2 3 4 5 LED: Asegrate que la patilla 6 corta, marcada con un lado 7 plano, vaya en la posicin 8 negativa (-). 9 10 11 12 13 14 15 Borde Plano 16 17 18 Patilla Corta 19 20 21 22 23 24 25 26 27 28 29 30
a b c d e
f g h i
Componente:
c2 c3
Componentes como los LEDs son insertados en los agujeros c2(patilla larga) y c3(patilla corta) de la protoboard. Los pasos resaltados con el tringulo amarillo de precaucin representan componentes polarizados. Presta atencin especial a las marcas de los componentes pues indican cmo colocarlos en la protoboard. Las resistencias son colocadas nicamente en los agujeros de la protoboard. El smbolo - representa cualquier agujero en la columna vertical del bus de Alimentacin.
Imagen de Referencia:
LED (5mm) + a3
GND a3
Cable Conector
Cable Conector
RedBoard: El fondo rojo representa una conexin con uno de los pines principales de la RedBoard. Protoboard: El fondo blanco representa una conexin con un agujero especicado por una coordenada letra-nmero como e2. Estas coordenadas son simples sugerencias que se alinean con la imagen grca.
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
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
// Circuito #1
Circuit #1
/* Blink Turns on an LED on for one second, then off 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 off delay(1000); // wait for a second }
Vericar
Esto compila tu cdigo. El IDE convierte el texto a instrucciones que la computadora pueda entender.
Cargar
Esto enva las instrucciones mediante el cable USB al chip computadora en la RedBoard. A continuacin, la RedBoard empezar a correr tu cdigo automticamente.
// El resultado de un circuito completo con un cdigo correcto luego de ser vericado y cargado.
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ AL ~5 (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
~ 10
11
Notas de Cdigo:
Empieza entendiendo cmo funciona el cdigo de Arduino. Ver abajo.
1
Circuit 2
Arduino Code:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 1
Recuerda Vericar y Cargar tu cdigo.
pinMode(13, OUTPUT);
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 funcin propia del sistema llamada pinMode() para hacer esto. Cuando ests usando un pin como SALIDA, puedes ordenarle que est en posicin de ALTO voltaje (salida de 5 voltios), o en BAJO (salida de 0 voltios).
digitalWrite(13, HIGH);
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P
L SC A SD EF AR ND G 13
TX
AL
RX
O G 8
13
IN ~ ~ 9
Esta es una seccin dedicada a los problemas ms comunes que se pueden dar mientras se ensambla el circuito.
RX
Aqu encontrars ejemplos en la vida real del circuito que acabas de completar. Muchas de las teoras en las que se basan estos circuitos son utilizadas en cosas que usas todos los das!
12 ~ 11 10
TX
O N
Problemas Comunes:
El LED no enciende? Los LEDs trabajan en una sola direccin. Prueba quitarlo y rotarlo 180 grados (no hay de qu preocuparse, instalarlo al revs no provoca ningn dao permanente). El programa no se Carga en la tarjeta Algunas veces esto sucede, la causa ms comn se debe a una confusin con el puerto serial, puedes cambiar esto en Herramientas>Puerto Serial> An no funciona? Un circuito roto no es divertido, envanos un correo electrnico y te responderemos tan pronto como sea posible: techsupport@sparkfun.com
Potencimetro
PIN 13 RedBoard
5 voltios
LED (Diodo Emisor de Luz)
PIN A0 RedBoard
En este circuito trabajars con un potencimetro. Un potencimetro es tambin conocido como una resistencia variable. Cuando est conectado con 5 voltios a travs de sus dos pines exteriores, el pon del medio libera un voltaje entre 0 y 5V, dependiendo de la posicin de la perilla en el potencimetro. Un potencimetro es una demostracin perfecta de un circuito divisor de tensin 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 aprenders cmo usar un potencimetro para controlar la luminosidad de un LED.
GND (Tierra)
PARTES: PARTS:
IC Potencimetro
X
LED 1
X
Cable Wire
X
1 8
8 1
19 6
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.24 p.10
Circuito 2: Potencimetro
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
a6 a7 a8
Imagen de Referencia: Si miras con cuidado tu RedBoard podrs ver algunos pines etiquetados como DIGITAL, y algunos etiquetados como ANALOG. Cul es la diferencia? +
Potencimetro
h20 h21
LED (5mm) +
j21
Resistencia de 330
e6
Cable Conector A0
e7 e8 +
Cable Conector
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 seales desde y hacia el mundo real, e incluso pueden realizar trucos como una atenuacin simulada (parpadeando entre encendido y apagado rpidamente), y comunicaciones seriales (transferir datos hacia otro dispositivo mediante patrones codificados de ALTOS y BAJOS).
Cable Conector
BAJO
ALTO o encendido
DIGITAL
apagado 0 voltios
Pin 13 5V
j20
5 voltios
Cable Conector
Cable Conector
Sin embargo hay muchas cosas que no siempre estn 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 analgicas que traducen un voltaje de entrada a un nmero en un rango de 0 (0 voltios) a 1023 (5 voltios). Los pines analgicos son perfectos para medir todos esos valores del mundo real, y te permiten conectar tu RedBoard con todo tipo de dispositivos.
ANALGICO
0 voltios 0
5 voltios 1023
Notas de Cdigo: int sensorValue; 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 maysculas!
Utilizamos la funcin analogRead() para leer el valor en un pin analgico. analogRead() toma un parmetro, el pin analgico que quieres leer (sensorPin), y retorna un nmero (sensorValue) entre 0 (0 voltios) y 1023 (5 voltios).
2
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 2
sensorValue = analogRead(sensorPin);
delay(sensorValue);
El Arduino es muy muy rpido, es capaz de correr miles de lneas de cdigo cada segundo. Para hacerlo ms lento, con el fin de que podemos ver lo que estamos haciendo, debemos insertar retardos dentro del cdigo. La funcin delay() cuanta en milisegundos; hay 1000ms en un segundo.
Deberas ver el LED parpadear ms rpido o ms lento de acuerdo con tu potencimetro. Si esto no funciona, asegrate de que hayas ensamblado el circuito correctamente, verificado y cargado el cdigo a tu tarjeta o puedes ver la seccin de problemas comunes que se muestra abajo.
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ AL ~5 (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
Problemas comunes:
Funciona Espordicamente Es probable que esto se deba a una conexin inestable de los pines del potencimetro. Esto puede ser solucionado presionando el potencimetro hacia abajo. No Funciona Asegrate de haber conectado la patilla controladora del potencimetro al pin 0 digital en vez de al pin 0 analgico. (la fila de pines debajo de los pines de alimentacin). El LED no enciende? Los LEDs trabajan en una sola direccin. Prueba quitarlo y rotarlo 180 grados (no hay de qu preocuparse, instalarlo al revs no provoca ningn dao permanente).
~ 10
11
Circuit 2 CIRCUITO #3
LED RGB
Sabes qu es an ms divertido que un LED parpadeante? Cambiar colores con un solo LED. Los LEDs RGB, o rojo-verde-azul por sus siglas en ingls, tienen tres diodos emisores de color que pueden ser combinados para crear todas clases de colores. En este circuito aprenders a usar un LED RGB para crear combinaciones de colores nicas. Dependiendo de qu tanto brilla cada diodo, casi cualquier color es posible!
PARTES: PARTS:
Resistencia de LED IC Potentiometer Transistor LED Cable 330 P2N2222AG Resistor 330
X
AZUL
A0 A1 A2 A3 A4 A5
VERDE
X
GND (Tierra)
ROJO
8 3
1X6
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.10 p.28
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componentes:
a4 a5 a6 a7
Image Reference:
Hemos visto que el Arduino puede leer voltajes analgicos (voltajes entre 0 y 5 voltios) usando la funcin analogRead(). Hay alguna forma de que la RedBoard pueda tambin emitir voltajes analgicos?
Resistencia de 330
Resistencia de 330
La respuesta es no y s. La RedBoard no tiene una salida real de voltaje analgico. Pero, como la RedBoard es tan rpida, puede fingirlo usando algo llamado PWM ("Pulse-Width Modulation" o Modulacin de Ancho de Pulso). Los pines de la RedBoard que tienen un ~ junto a ellos son pines compatibles con salidas PWM/Analgicas.
Resistencia de 330
h4
La RedBoard es tan rpida 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 ms rpido de lo que tus ojos pueden detectar, la RedBoard crea la ilusin de una salida analgica real.
h6
h7
10%
90%
0.5V
Cable Conector
Cable Conector
50%
BAJO (0 voltios)
2.5V
50%
ATLO (5 voltios)
10%
BAJO (0 voltios)
4.5V
90%
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 3
Un ciclo for() es usado para ir aumentando un nmero dentro de un rango y repetidamente correr el cdigo 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 iteracin (x++).
Las declaraciones if / else son utilizadas para tomar decisiones en tus programas. La condicin dentro de los parntesis () es evaluada; si es verdadera, se corre el cdigo dentro de las primeras llaves {}. Si no es verdadera, se corre el cdigo dentro de las segundas llaves {}. El procesamiento de la RedBoard es muy muy rpido, es capaz de correr miles de lneas de cdigo cada segundo. Para hacerlo ms lento, con el fin de que podemos ver lo que estamos haciendo, debemos insertar retardos dentro del cdigo. La funcin delay() cuanta en milisegundos; hay 1000ms en un segundo.
delay(sensorValue);
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N SE
RE
PO
SE
ER
AN
L SC A SD EF AR ND G 13
TX
AL O IS D 7 IG 6 IT ~ AL ~5 (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
RX
G IN 8 0
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 fcil 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 ms brillante que los otros dos. Para hacer tus colores ms balanceados, usa una resistencia con ms Ohmios. O ajstalo en el cdigo. analogWrite(RED_PIN, redIntensity); to analogWrite(RED_PIN, redIntensity/3);
A5
13 ~ ~ ~ 9 10 11
12
CIRCUITO #4
PIN 2 PIN 3 PIN 4 PIN 5
RedBoard
LEDs Mltiples
LEDs (Diodos Emisores de Luz) Resistencias (330 ohm) (Naranja-Naranja-Caf) GND (Tierra)
PIN 6 PIN 7 PIN 8 PIN 9
RedBoard
LEDs (Diodos Emisores de Luz) Resistencias (330 ohm) (Naranja-Naranja-Caf) GND (Tierra)
As que ya hiciste que un LED parpadeara entre encendido y apagado fantstico! Es hora de levantar la barra un poco conectando OCHO LEDS AL MISMO TIEMPO. Adicionalmente le haremos una pequea 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. Adems de controlar los LEDs, aprenders un par de trucos de programacin para mantener tu cdigo ntido y ordenado: for() loops - usados cuando quieres correr una porcin de cdigo varias veces. arrays[ ] - utilizados para volver el manejo de variables una operacin ms fcil, al agruparlas todas juntas.
PARTES:
LED
X
Resistencia de 330
Cable
X
10
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.32
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
c2 c3
Imagen de Referencia: Resistencia de 330 Resistencia de 330 Resistencia de 330 Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector
a15
Componente:
Imagen de Referencia:
GND a18 a18
LED (5mm) + c5 c6
LED (5mm) +
c8 c9
a21 a24
LED (5mm) +
c14 c15
LED (5mm) +
c17 c18
LED (5mm) +
c20 c21
LED (5mm) +
c23 c24
LED (5mm) +
a3 a6 a9 a12
Resistencia de 330
Resistencia de 330
Resistencia de 330
Resistencia de 330
Resistencia de 330
Cable Conector
GND
Notas de Cdigo: int ledPins[] = {2,3,4,5,6,7,8,9}; 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. Para obtener los elementos de un arreglo deber referirte a ellos por su posicin. El primer elemento est en la posicin 0, el segundo en la posicin 1 y as sucesivamente. Para llamar a un elemento debes usar ledPins[x], donde x es la posicin. Aqu estamos dando al pin digital 2 un valor de ALTO o HIGH, ya que el elemento en la posicin 0 del arreglo es 2.
4
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 4
digitalWrite(ledPins[0], HIGH);
index = random(8);
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 funcin random() es una gran forma de hacer esto. Visita http://arduino.cc/en/reference/random para ms informacin
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
~ 10
11
Problemas comunes:
Algunos LEDs fallan al Encender Es muy comn poner un LED al revs. Revisa que los LEDs que no estn funcionando estn conectados del lado correcto. Operando fuera de secuencia Cuando se tienen ocho cables es muy fcil 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 fcil colocar un cable sin darse cuenta. Quitar todo y empezar desde cero a colocar los cables suele ser ms fcil que rastrear el problema a travs del circuito.
Circuit 2 CIRCUITO #5
Botones Presionables
5 voltios
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 ms comunes y simples de las entradas un botn presionable. La forma en que un botn funciona con la RedBoard es la siguiente: cuando el botn es presionado, el voltaje marca un BAJO. La RedBoard lee esto y reacciona a partir de ello. En este circuito tambin usars una resistencia pull-up, la cual mantiene el voltaje en ALTO cuando no ests presionando el botn.
GND (Tierra)
PARTES: PARTS:
Cable
X
1 2
1 8
8 2
19
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.36 p.10
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
d4 g4 d6 g6 d9 g9 d11 g11
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 fro, un ventilador si se pone muy caliente, riegue tus plantas si se ponen muy secas, entre otras cosas. Con el fin de hacer este tipo de decisiones, el ambiente de Arduino provee un grupo de operaciones lgicas que te permitirn construir declaraciones if complejas. Estas operaciones incluyen:
Imagen de Referencia:
Botn Presionable
Botn Presionable
h20 h21
Resistencia de 10K
== != DIFERENCIA Y O NEGACIN
EQUIVALENCIA
A == B es verdadero si A y B son lo MISMO. A != B es verdadero si A y B NO SON LO MISMO. A && B es verdadero si AMBOS, A y B, son VERDADEROS. A || B es verdadero si A o B o AMBOS son VERDADEROS !A es VERDADERO so A es FALSO. !A es FALSO si A es VERDADERO.
Resistencia de 10K
i11 +
&&
j21
+
Resistencia de 330
|| !
Cable Conector
i9
i4
Cable Conector
h11 j20
h6
Puedes combinar estas funcionas para construir declaraciones if() complejas. Por ejemplo:
Cable Conector
if ((mode == heat) && ((temperature < threshold) || (override == true))) { digitalWrite(HEATER, HIGH); }
Cable Conector
Cable Conector
esto encender un calentador si ests en modo de calentamiento Y la temperatura es baja, O si enciendes un interruptor manual. Usando estos operadores lgicos puedes programar tu RedBoard para que tome decisiones ms inteligentes y tomar el control del mundo que te rodea!
Cable Conector
Notas de Cdigo: pinMode(button2Pin, INPUT); Los pines digitales pueden ser usados tanto como entradas que como salidas. Entes de que uses alguno, necesitas decirle a la RedBoard en cul direccin lo vas a utilizar.
5
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 5
button1State = digitalRead(button1Pin);
Para leer una entrada digital, debes usar la funcin digitalRead(). Esta retornar HIGH si hay 5V presentes en el pin, o LOW si hay 0V presentes en el pin. Ya que has conectado el botn 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 botn est siendo presionado.
if (button1State == LOW)
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
Problemas comunes:
La Luz no se enciende El botn es cuadrado, y es por esto que es fcil ponerlo de manera incorrecta. Dale un giro de 90 grados y revisa si empieza a funcionar. No ests satisfecho No te preocupes, estos circuitos estn hechos para crear una forma fcil de jugar con los componentes, pero una vez que lo unes todo, el cielo es el lmite.
~ 10
11
Circuit 2 CIRCUITO #6
Fotorresistencia
5 voltios
PIN 9 LED (Diodo Emisor De Luz)
As que ya has jugado con un potencimetro, cuya resistencia vara segn el movimiento de una perilla. En este circuito estars 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.
GND (Tierra)
PARTES:
Fotorresistencia
X
LED 1
X
Resistencia de 330
Cable
X
Resistencia de 10K
X
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.40
Circuito 6: Fotorresistencia
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
f5 f6 h20 h21
Imagen de Referencia: Muchos de los sensores que utilizars (potencimetros, fotorresistencias, etc.) son resistores disfrazados. Sus resistencias cambian en proporcin a lo que estn detectando (nivel de luz, temperatura, sonido, etc.).
Fotorresistencia
LED (5mm) + +
j21 i1 i5 j1
Resistencia de 330
Los pines de entrada analgica de la RedBoard miden voltaje, no resistencia. Pero podemos usar fcilmente sensores resistivos con la RedBoard incluyndolos como parte de un divisor de voltaje.
Resistencia de 10K
Cable Conector A0
j6 + j5
Cable Conector
Cable Conector
Cable Conector
Un divisor de voltaje consiste en dos resistores. El resistor de arriba es el sensor que utilizars. El de abajo es un resistor normal fijo. 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 tambin! Aunque la resistencia de los sensores va a variar, los sensores resistivos (sensor flex, sensor de luz, potencimetro suave y trimpot) utilizados en el SIK son de alrededor de 10Kohms. Generalmente queremos que el resistor fijo est cerca de este valor, por lo que usar un resistor de 10K es una gran opcin para el resistor fijo de abajo. Puedes notar que el resistor fijo no necesariamente debe ser el de abajo. Hacemos esto solo con el fotodiodo pues ms luz = ms voltaje, pero pueden ser intercambiados y obtendramos la respuesta opuesta.
6
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 6
Cuando leemos una seal analgica usando analogRead(), esta lectura ser un nmero de 0 a 1023. Pero cuando queremos manejar un pin PWM usando analogWrite(), este requiere un nmero de 0 a 255. Podemos encoger el mayor rango dentro del menor usando la funcin map().
Visita http://arduino.cc/en/reference/map para ms informacin. Ya que la funcin map() an puede retornar nmeros fuera del rango objetivo, utilizamos tambin una funcin llamada constrain() la cual restringir los nmeros dentro de un rango. Si el nmero est fuera del rango se convertir en el mayor o menor nmero. Si est dentro del rango se quedar igual. Visita http://arduino.cc/en/reference/constrain para ms informacin.
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
~ 10
11
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. Scalo y dale un giro. No est Respondiendo a los Cambios de Luz Dado que el espaciado de los cables en el Fotorresistor no es estndar, es fcil colocarlo errneamente. Revisa que est colocado en el lugar correcto. An no funciona del todo Es probable que ests 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 intntalo con eso.
Circuit 2 CIRCUITO #7
Sensor de Temperatura
5 voltios
PIN A0
RedBoard
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 seal. Este es un sensor de temperatura lineal. Un cambio en la temperatura de un grado centgrado es igual a un cambio de 10 milivoltios en la salida del sensor. El sensor TMP36 tiene un valor de 750mV a 25C (temperatura ambiente). En este circuito, aprenders como integrar el sensor de temperatura con tu RedBoard y usar el monitor serial del Arduino IDE para mostrar la temperatura.
Cuando ests construyendo el circuito ten cuidado de no confundir el sensor de temperatura con el transistor, son casi idnticos. Busca la etiqueta TMP en el cuerpo del sensor de temperatura.
GND (Tierra)
PARTES:
Sensor de Temperatura
X
Cable 1
X
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.44
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
f5 f6 f7
Imagen de Referencia:
Sensor de temperatura
Cable Conector A0
1
j5
j6
Este circuito usa el monitor serial del IDE de Arduino. Para abrirlo primero carga el programa, luego haz clic en el botn que se ve como una lupa en un cuadrado. Para que el monitor serial opere correctamente debe estar configurado al mismo baud rate (velocidad en bits por segundo) que el cdigo que ests corriendo. Este cdigo corre a 9600 baud; si la configuracin del baud rate es diferente de 9600, cmbiala a 9600.
Cable Conector
j7 + +
3
Cable Conector
Cable Conector
7
Circuit 2 Notas de Cdigo: Serial.begin(9600);
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 7
Antes de usar el monitor serial debes llamar la funcin Serial.begin() para inicializarlo. 9600 es el baud rate, o la velocidad de comunicaciones. Cuando dos dispositivos se comunican entre ellos, ambos deben tener la misma velocidad. 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 ms informacin. Serial.print() imprimir todo en la misma lnea. Serial.println() mover el cursor a la lnea siguiente. Utilizando estos comandos juntos puedes crear impresiones de texto y datos fciles de leer.
Serial.print(degreesC);
Serial.println(degreesF);
voltage: 0.73 voltage: 0.73 voltage: 0.73 voltage: 0.73 voltage: 0.73 voltage: 0.73 voltage: 0.73 voltage: 0.73
A0 A1 A2
deg C: 23.24 deg C: 23.24 deg C: 23.24 deg C: 22.75 deg C: 23.24 deg C: 23.24 deg C: 23.24 deg C: 22.75
IO RE RE F SE 3. T 3V 5V GN D
deg F: 73.84 deg F: 73.84 deg F: 73.84 deg F: 72.96 deg F: 73.84 deg F: 73.84 deg F: 73.84 deg F: 72.96
715 V
RE
PO
GN
SE
VI
ER
AN
L SC A SD EF AR ND G 13
A3
TX
AL O
A4
RX
A5
13
IN
12
~ ~ ~ 10
11
IS P O N
RX TX
9 8
D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1
Problemas comunes:
Nada Parece estar Ocurriendo Este programa no tiene ningn indicador externo que diga que est funcionando. Para ver resultados debes abrir el monitor serial del IDE de Arduino (instrucciones en pginas 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 cmbiala 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.
Circuit 2 CIRCUITO #8
Solo un Servo
Si no hay punto de unin signica que no hay conexin 5 voltios
SEAL V+ GND
W R B
PIN 9
RedBoard
GND (Tierra)
Los servos son ideales para aplicaciones electrnicas pues pueden hacer muy bien algo que los motores no pueden moverse a una posicin determinada de forma precisa. Variando el ancho de pulso del voltaje de salida hacia un servo puedes moverlo a una posicin especfica. Por ejemplo, un pulso de 1.5 milisegundos mover el servo 90 grados. Es este circuito aprenders cmo usar PWM (modulacin de ancho de pulso) para controlar y rotar un servo.
PARTES:
Servo
X
Cable 1
X
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.48
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
e5 e6 e7
Imagen de Referencia:
El ambiente de desarrollo de Arduino te da un set de comandos incorporados para manipular entradas y salidas bsicas, tomar decisiones usando lgica, resolver problemas matemticos, etc. Pero el poder real del Arduino es la gran comunidad que lo usa y sus deseos de compartir su trabajo.
Servo
e5 e6 e7
Cable Conector
Cable Conector
Las bibliotecas son colecciones de comandos nuevos que han sido empaquetadas juntas para que sea fcil incluirlas en tus diseos. Arduino viene con un puado de bibliotecas tiles, como la biblioteca servo utilizada en este ejemplo, las cuales pueden ser utilizadas para conectar dispositivos ms avanzados (pantallas LCD, motores stepper, puertos Ethernet, etc.) Visita http: //arduino.cc/en/reference/libraries para Encontrar la lista de las bibliotecas estndar e informacin sobre cmo usarlas.
Cable Conector
a7
Cable Conector
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 an ms 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 comprtela con el mundo! Para usar una biblioteca en un diseo, seleccinala en Sketch > Importar Librera.
Herramientas Verificar / Compilar Ayuda
Cable Conector
Cable Conector
EEPROM Ethernet Firmata LiquidCrystal SD Servo SoftwareSerial SPI Stepper WiFi Wire
Despus de importar la biblioteca en tu cdigo vas a tener acceso a un nmero de comandos y funciones previamente escritas. Para ms informacin acerca de cmo usar las funciones de las bibliotecas estndar puedes acceder a: http://arduino.cc/en/Reference/Libraries.
Notas de Cdigo: #include <Servo.h> #include es un comando preprocesador especial que inserta una biblioteca (o cualquier otro archivo) en tu diseo. Puedes escribir este comando t mismo, o escoger una biblioteca desde el men Sketch / Importar Librera. La biblioteca servo aade 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).
Los servos en este kit no giran una vuelta completa, pero pueden ser ordenados para que se muevan a una posicin especfica. Usamos el comando write() de la biblioteca servo para mover un servo a un nmero especfico de grados (0 a 180). Recuerda que el servo requiere tiempo para moverse, as que dale un pequeo delay() si es necesario.
IO RE RE F SE 3. T 3V 5V GN
8
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 8
715 V
servo1.write(180);
RE
PO
GN
SE
VI
ER
A0
A1
A2 A3 A4 A5
AN
L SC A SD EF AR ND G 13
TX
LO G
RX 13
IN
12
~ ~ ~ 10
11
IS P O N
RX TX
9 8
D 7 IG 6 IT ~ AL ~5 4 ( P W 3 M ~ ~ 2 ) 1
Problemas comunes:
El Servo no Gira An con cables de colores es sorprendentemente fcil conectar un servo al revs. Este podra ser el problema. An no funciona Un error que hicimos una o dos veces fue simplemente olvidar conectar la alimentacin (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 ests usando no est dando la talla. Usar un adaptador de pared en lugar del conector USB debera resolver este problema.
PIN 9
PIN A0
En este circuito utilizaremos un sensor flexible para medir, bueno, flexibilidad! Un sensor flexible usa carbono en una banda plstica 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 direccin y cuanto ms se doble, ms alta es la resistividad que adquiere; tiene un rango entre 10Kohm a 35Kohm. En este circuito utilizaremos el doblamiento del sensor flexible para controlar la posicin de un servo.
PARTES: PARTS:
Servo LED 11
X
Cable
X
8 X1
11
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.10 p.52
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
e1 e2 e3
Imagen de Referencia:
Servo
e1 e2
e3
Cable Conector
Nos pasa a todos escribes tu cdigo, compila y carga exitosamente, pero no puedes entender por qu no est haciendo lo que quieres que haga. Las computadoras ms grandes tienen pantallas, teclados y ratones que puedes usar para depurar tu cdigo, pero computadoras pequeas como la RedBoard no tienen esas cosas.
Cable Conector
Cable Conector
h19 h20 i20 i24 i19
Sensor Flexible
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 ms tiles es el monitor serial. Usando Serial.print() y println() puedes imprimir fcilmente texto y datos entendibles por los humanos desde la RedBoard a una ventana en tu computadora. Esto es genial para el resultado final de tu diseo, pero adems es increblemente til para depurar.
Resistencia de 10K
Cable Conector A0
h24 +
h24 b1 + + h24 a2
Digamos que necesitas un ciclo for() de 1 a 8, pero parece que tu cdigo no est funcionando bien. Solo agrega Serial.begin(9600); a tu funcin setup(), y agrega Serial.print() o println() a tu ciclo:
Cable Conector
j20
Cable Conector
Queras 1 a 8, pero el ciclo te est dando 0 a 7. Ups! Ahora necesitas arreglar el ciclo.
01234567
Cable Conector
Cable Conector
Y si corres el cdigo de nuevo, obtendrs la salida que estabas esperando: for (x = 1 ; x < 9 ; x++) { Serial.print(x); }
12345678
Cable Conector
Cable Conector
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 9
Notas de Cdigo:
servoposition = map(flexposition, 600, 900, 0, 180); map(value, fromLow, fromHigh, toLow, toHigh)
Ya que la combinacin sensor flexible / resistencia no nos entrega un rango completo de 0 a 5V, estamos usando la funcin map() como una forma de reducir ese rango. Aqu le decimos a la funcin que espere valores de 600 a 900, en vez de 0 a 1023.
Ya que la funcin map() an puede retornar nmeros fuera del rango objetivo, utilizamos tambin una funcin llamada constrain() la cual restringir los nmeros dentro de un rango. Si el nmero est fuera del rango se convertir en el mayor o menor nmero. Si est dentro del rango se quedar igual.
Deberas ver el motor servo moverse de acuerdo a cuanto est siendo doblado el sensor flexible. Si esto no est funcionando asegrate de que hayas ensamblado el circuito correctamente, verificado y cargado el cdigo a tu tarjeta, o puedes ver la seccin de problemas comunes que se muestra abajo.
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 W 3 M ~ ~ 2 ) 1 P (P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
Problemas comunes:
El Servo No Gira An con cables de colores es sorprendentemente fcil conectar un servo al revs. Este podra ser el problema. El Servo no se Mueve como se Espera El sensor est diseado para funcionar en una sola direccin. 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 modificar el rango de valores en la llamada a la funcin map().
12
Potencimetro Suave
RedBoard
10
PIN 11
5 voltios
RedBoard
PIN 10 PIN 9
Resistencias (330 ohm) (Naranja-Naranja-Caf)
PIN A0
Soft Pot
En este circuito vamos a usar otro tipo de resistencia variable esta vez es un potencimetro suave (o soft pot). Este est constituido por una banda delgada y flexible que puede detectar dnde se le est aplicando presin. 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 botn. En este circuito conectaremos el potencimetro suave y lo usaremos para controlar un LED RGB.
AZUL
VERDE
GND (Tierra)
ROJO
PARTES: PARTS:
LED IC
X
Resistencia de 330
X
Resistencia de 10K
X
3 8 1
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.10 p.56
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
a4 a5 a6 a7
Componente:
Imagen de Referencia:
Potencimetro Suave 5V 5V 5V
i19
Resistencia de 330
e6 e7 g6 e 1 1 e7 g7 e 1 1
e4 e7 g4 e 1 1
Resistencia de 330
Resistencia de 330
Cable Conector
Cable Conector
Cable Conector
Cable Conector
A0
j19
j20
Cable Conector
Cable Conector
10
Circuit 2 Notas de Cdigo:
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 10
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);
Estas funciones grandes y tenebrosas toman un solo valor (RGBposition) y calculan los tres valores RGB necesarios para crear un arcoris 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 cdigo para ms informacin! An si no ests 100% seguro de cmo funciona, puedes copiar y pegar esta (o cualquier) funcin en tu cdigo y usarla t mismo. Si quieres saber ms acerca de crear tus propias funciones echa un vistazo al circuito #11.
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2
SE
RE
PO
SE
ER
AN
L SC A SD EF AR ND G 13
TX
LO G IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
RX
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 fcil posicionar uno de manera incorrecta. Revisa que cada pon est colocado donde debe ser. Resultado Extraos La causa ms probable es que ests presionando el potencimetro en ms de una posicin. Esto es normal y puede ser utilizado para crear resultados estupendos.
A5
13
IN ~ ~ 9 8 0
12
~ 10
11
Bocina
11
Bocina RedBoard
PIN 9
GND (Tierra)
En este circuito haremos de nuevo un puente entre el mundo digital y el mundo analgico. Estaremos usando una bocina que hace un pequeo clic cuando le aplicas voltaje (prubalo!). 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, tendrs msica! Este circuito y diseo jugarn con un tono clsico. Nunca te vamos a decepcionar!
PARTES:
Bocina
X
Cable 1
X
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
TX RX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.60
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
f9 f7
Imagen de Referencia:
Bocina
i7
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 tambin puedes crear tus propias funciones fcilmente. Primero, necesitamos declarar una funcin. Aqu tenemos un ejemplo simple llamado suma, la cual suma dos nmeros y retorna el resultado. Vamos a explicarla bien.
Cable Conector
Cable Conector
Tus funciones pueden recibir valores ("parametros") y retornar un valor como esta lo hace. Nota: el lenguaje de programacin de Arduino no admite tldes por lo que debes procurar no usarlas o el programa mostrar un error de sintaxis. Si vas a enviar parmetros a tun funcin, colcalos (y a sus tipos) en el parntesis que va luego del nombre de la funcin. Si tu funcin no usa ningn parmetro, tan solo deja el parntesis vaco () luego del nombre. Si tu funcin retorna un valor como resultado, escribe el tipo del valor de retorno en frente del nombre de la funcin. Luego, en tu funcin, cuando ests listo para retornar el valor, escribe una declaracin de return(valor). Si no vas a retornar ningn valor, coloca void al frente del nombre de la funcin (similar a la declaracin de las funciones setup() y loop() ). Cuando escribes tus propias funciones haces tu cdigo ms ntido y fcil de reutilizar. Visita http://arduino.cc/en/Reference/FunctionDeclaration para ms informacin acerca de las funciones.
11
Circuit 2 Notas de Cdigo:
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 11
Hasta ahora hemos estado trabajando nicamente con datos numricos, pero el Arduino tambin puede trabajar con texto. Los caracteres (sencillos, imprimibles, letras, nmeros y otros smbolos) tienen su propio tipo, llamado char. Cuando tienes un arreglo de caracteres puedes definirlo entre comillas dobles (tambin llamado un string), O como una lista de caracteres entre comillas simples. Uno de los comandos propios de Arduino ms tiles es la funcin tone(). Esta funcin maneja un pin de salida a cierta frecuencia, hacindolo perfecto para controlar bocinas y altavoces. Si le das una duracin (en milisegundos), reproducir el tono y luego se detendr. Si no le das una duracin se mantendr reproduciendo el tono para siempre (pero puedes detenerlo con otra funcin, noTone() ).
Deberas ver bueno, nada! Pero deberas ser capaz de escuchar una cancin. Si esto no sucede asegrate de que hayas ensamblado el circuito correctamente, verificado y cargado el cdigo a tu tarjeta, o puedes ver la seccin de problemas comunes que se muestra abajo.
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL O 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
Problemas comunes:
No hay Sonido Dada la forma y tamao del elemento piezoelctrico es fcil errar los agujeros en la protoboard. Revisa que est colocado de forma correcta. No Puedo Pensar Mientras la Meloda est Sonando Tan solo retira el elemento piezoelctrico mientras piensas, carga tun programa y luego conctalo de nuevo. Te Sientes Decepcionado y Desolado Este cdigo est escrito para que puedas aadir fcilmente tus propias canciones.
Rotando un Motor
5 voltios
12
Diode (1N4148)
Motor de CC
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 especificaciones mximas son suficientemente altas para tu uso. El transistor que vamos a usar para este circuito tiene valores mximos de 40V y 200miliamperios - perfecto para tu motor de juguete! Cuando el motor est girando y es apagado de repente, el campo magntico dentro de l colapsa, generando un pico de voltaje. Esto puede daar el transistor. Para evitar que eso ocurra, usamos un diodo de retorno, el cual desva el pico de voltaje alrededor del transistor.
Cuando ests construyendo el circuito ten cuidado de no confundir el transistor con el sensor de temperatura, pues son casi idnticos. Busca la etiqueta P2N2222A en el cuerpo del transistor.
PARTS:
P2N2222AG
Transistor
X
1N4148
Diodo
X
Motor de CC 1
X
Cable 1
X
Resistencia de 330
P2N2 222A
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.64
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
a1 a2 a3
Imagen de Referencia:
En este punto probablemente ests 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 programacin en general. La mayora de los diseos que escribas sern un ciclo de algunos o todos estos pasos:
Armndolo todo:
P2N2 222A
Transistor P2N2222AG
GND b7
Diodo 1N4148
e7 e11
a3 b11
Motor de CC 5V
e1 e2 e7 g2 e1 1
1. Reciben alguna clase de entrada 2. Realizan algn tipo de clculos o decisiones 3. Entregan alguna clase de salida 4. Todo se repite! (O no!)
Reistencia de 330
Cable Conector
Ya te hemos enseado a usar un puado de diferentes sensores de entrada y dispositivos de salida (y an nos faltan unos cuantos). Sintete libre de hacer uso de los ejemplos en tus propios diseos esta es la principal idea detrs del movimiento del Software Libre o Open Source.
Cable Conector
Generalmente es muy fcil colocar porciones de diferentes diseos 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 hbitos de programacin. Cosas que usen constantes para referenciar nmeros de pin, y organizar tus diseos en funciones, hacen ms fcil poder reutilizar tu cdigo en nuevos diseos. Por ejemplo, si unes dos porciones de cdigo que usan el mismo pin, puedes cambiar fcilmente una de las constantes a un nuevo pin. (No olvides que no todos los pones soportan la funcin analogWrite(); los pines compatibles estn marcados en tu tarjeta).
Cable Conector
Cable Conector
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 ests listo para pasar a temas ms avanzados, echa un vistazo a la pgina de tutoriales de Arduino en arduino.cc/es/tutorial. Muchos de los productos ms avanzados de SparkFun son programados con Arduino, (permitindote modificarlos fcilmente), o tener ejemplos de Arduino para ellos. Mira nuestras pginas de productos para ms informacin. Finalmente cuando crees algo realmente genial, considera compartirlo con el mundo para que otros puedan aprender de tu ingenio. Asegrate de hacrnoslo saber en https://www.sparkfun.com/project_calls para que podamos ponerlo en nuestra pgina principal!
12
Circuit 2 Notas de Cdigo:
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 12
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 ests listo para usarlos. El comando Serial.available() retorna el nmero de caracteres que el puerto ha recibido, pero no han sido usados por tu diseo an. Cero significa que no ha llegado ningn dato.
speed = Serial.parseInt();
Si los datos del puerto han estado esperndote, hay varias formas para que los puedas usar. Ya que estamos escribiendo nmeros en el puerto, podemos usar el comando Serial.parseInt() para extraer o parsear nmeros enteros de los caracteres recibidos. Si escribes 1 0 0 en el puerto, esta funcin retornar el nmero 100.
715 V
IO RE F T RE 3. 3V 5V SE
RE
PO
SE
ER
El motor de CC debera girar si haz ensamblado los componentes del circuito correctamente y haz verificado/cargado el cdigo correcto. Si el circuito no funciona revisa la seccin de problemas comunes que se muestra ms abajo.
A2 A3 A4 A5
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 W 3 M ~ ~ 2 ) 1 P (P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
~ 10
11
Problemas comunes:
El Motor No Gira Si ests 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 revs). An no hay Suerte Si usaste tu propio motor, revisa que este funcione con 5 voltios y que este no consuma mucha potencia. An No Funciona Algunas veces la RedBoard se desconectar de la computadora. Intenta desconectar y reconectarla a tu puerto USB.
Rels
5 voltios
Resistencia (330 ohm) (Naranja-Naranja-Caf)
13 5
Cuando el rel est apagado, el pin COM (comn) estar conectado al pin NC (Normalmente Cerrado). Cuando el rel est encendido, el pin COM (comun) estar conectado al pin NO (Normalmente Abierto).
PIN 2
En este circuito vamos a usar algunas de las lecciones que aprendimos en el circuito 12 para controlar un rel. Un rel es bsicamente un interruptor mecnico controlado electrnicamente. Dentro de esa caja plstica de apariencia inofensiva hay un dispositivo electromagntico que, cuando recibe una carga de energa, causa que se dispare un interruptor. En este circuito aprenders como controlar un rel como los profesionales dndole a tu RedBoard habilidades an ms poderosas!
PARTES: PARTS:
IC Rel
X
P2N2222AG
Transistor LED
X
1N4148
X
Diodo
X
Resistencia de 330
LED 2
X
Cable 2
X
14
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.10 p.68
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
e14 e9 f15 f13 f9
a2 a3 a4
Imagen de Referencia: Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector
j3
j5 j7
Componente:
Imagen de Referencia:
f7 f5 f6e19 e15
Rel
P2N2 222A
Transistor P2N2222AG
+ e19 e15 +
+ e19 + a23 e15 + a20 e19 b14
LED (5mm) + a3 f7
c22 c23
+
c19 c20
LED (5mm) +
GND e7
Diodo 1N4148 5V 5V
e2
b14 +1 e7 e1 e3 e7 g3 e1 1
a7 a9 e4 b9
Resistencia de 330
Resistencia de 330
5V GND
Cable Conector
Cable Conector
h9
i13 e22
Cable Conector
Cable Conector
Cable Conector
i15 e19
13
Circuit 2 Notas de cdigo:
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 13
digitalWrite(relayPin, HIGH);
Cuando encendemos el transistor, que a su vez energiza la bobina del rel, los contactos del interruptor del rel estn cerrados. Esto conecta el pin COM del rel con el pin NO (Normalmente Abierto por sus siglas en ingls). Cualquier componente que est conectado a estos pines se encender. (En este caso utilizamos LEDs, pero puede ser casi cualquier cosa). 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. Adems, se pueden usar ambos pines para alternar la alimentacin entre dos dispositivos, similar a las luces de precaucin en un paso de ferrocarril.
digitalWrite(relayPin, LOW);
Debes ser capaz de escuchar un clic proveniente de los contactos del rel, y ver los dos LEDs alternar su iluminacin en intervalos de 1 segundo. Si esto no ocurre, revisa que el circuito est ensamblado correctamente y est cargado el cdigo correcto en la tarjeta. Adicionalmente, puedes consultar la seccin de problemas comunes que se muestra ms abajo.
RE R E SS EETT
CLL SSC AA D SSD EEFF R AAR NNDD GG 1133 2 112 1 1133 111 ~~ 100 RRXX 1 ~~ ~99 TTXX ~ 8 8 DD I 77 I GG 66 I ITT ~~ 5 AA 5 ~ L ~ L ((PP 44 W 33 W M ~~ M ~~ ) 22 ) 11
3 AA3
AA44 AA55
IINN
Problemas comunes:
Los LEDs no se iluminan Revisa que estos estn bien conectados. La patilla ms larga (con el borde plstico no plano) es la patilla positiva. No se escucha el sonido del clic La seccin 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 rels incluidos en la tarjeta estn diseados 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 ests construyendo el circuito ten cuidado de no confundir transistor con el sensor de temperatura pues son casi idnticos.
00
Registro de Desplazamiento
5 voltios
14
16 15 14 13 12 11 10 9 VCC QA SER OE RCLK SRCLK SRCLR QH
PIN 2
14 11 10 12 13 8
VCC QA QB QC QD QE QF QG QH QH*
16 15 1 2 3 4 5 6 7 9
PIN 3 PIN 4
74HC595
GND (Tierra)
Ahora vamos a adentrarnos en el mundo de los CIs (Circuitos Integrados). En este circuito aprenders todo acerca del uso de un registro de desplazamiento (tambin 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 practicars usando el registro de desplazamiento para controlar ocho LEDs.
RedBoard
QB QC QD QE QF QG QH GND
1 2 3 4 5 6 7 8
PARTES:
CI
X
LED 1
X
Resistencia de 330
Cable
X
19
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.
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 I TA ~ 5 L ~ 4 (P W 3 M ~ ~ 2 P O N )
TX RX
L SC A SD EF AR ND G 13
TX
AL O 1 0
RX
G IN 8
13 ~ ~ ~ 9 10 11
12
p.72
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente:
e5 e6 e7 e8 e9 e10 e11 e12
f5 f6 f7 f8 f9 f10 f11 f12
Imagen de Referencia: Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector
GND j21 GND j24 GND +
Componente:
+ GND
GND j5 GND j6
Imagen de Referencia:
+ a3
CI
c14 c15
LED (5mm)
+ c17 c18
+
c20 c21
+ a3
a14 a3
LED (5mm)
+
c23 c24
LED (5mm)
+
h14 h15
Pin 2
j7
GND j8
LED (5mm)
+
h17 h18
a14 a3
LED (5mm)
+
h20 h21
Pin 4 Pin 3
j9 j10
GND j11 GND f14 GND f17 GND f20 GND f23 GND a23 GND a20 GND a17
LED (5mm)
+
h23 h24
LED (5mm)
+
LED (5mm)
a3 a15
GND c23 GND c23 GND c23 GND j15 GND j18
Resistencia de 330
a3 a18 a3 a21 a3 a24
c24 a3 c24 a3 c24 a3 c24 a3
Resistencia de 330
Resistencia de 330
Resistencia de 330
Resistencia de 330
Resistencia de 330
Resistencia de 330
5V
Cable Conector
+ a3
+ j10
Resistencia de 330
GND
Cable Conector
14
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 14
Te comunicars con el registro de desplazamiento (y con muchos otros componentes) usando una interfaz llamada SPI, o Serial Peripheral
Notas de cdigo:
Interface. Esta interfaz utiliza lneas separadas de datos y de reloj que trabajan juntas para mover datos desde y hacia la RedBoard a alta velocidad. El parmetro MSBFIRST especifica el orden en que se envan los bits individuales, este caso se enva el Bit Mas Significativo de primero.
Los bits son la porcin de memoria ms pequea en una computadora; cada uno puede guardar ya sea un 1 o un 0. Nmeros ms 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 fcil de realizar.
715 V
Deberas ver los LEDs encenderse de forma similar al circuito 4 (pero esta vez, ests usando un registro de desplazamiento). Si no lo hacen asegrate de haber ensamblado el circuito correctamente, verificado y cargado el cdigo en tu tarjeta. Mira la seccin de problemas comunes ms abajo.
SE T
3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L (P 4 W 3 M ~ ~ 2 ) 1 P O N
RX TX
L SC A SD EF AR ND G 13
TX
A 0
LO G
RX 13
IN ~ ~ 9 8
12
~ 10
11
Problemas comunes:
El LED de alimentacin de la RedBoard se Apaga Esto nos sucedi en un par de ocasiones, sucede cuando el chip es insertado al revs. Si lo arreglas rpidamente nada saldr daado. No Funciona del Todo Sentimos sonar como un disco rayado pero esto se debe probablemente a un cruce de cables. Frustracin Envanos un correo electrnico, 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
LCD
16x2 LCD
VDD DB0 DB1 DB2 DB3 DB4 DB5 DB6
15
5 voltios
GND (Tierra)
PARTES: PARTS:
IC LCD
X X
16 8
RedBoard
En este circuito aprenders acerca de cmo usar un LCD. Un LCD, o visualizador de cristal lquido, es una simple pantalla en donde puedes visualizar comandos, bits de informacin o lecturas de tu sensor todo dependiendo de la forma en que programes tu tarjeta. En este circuito aprenders lo bsico para incorporar un LCD en tu proyecto.
DB7
R/W
VSS
RS
VO
Wire
X
19
715 V
IO RE F T RE 3. 3V 5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
SE
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ AL ~5 (P 4 W 3 P O N M ~ ~ )
TX
L SC A SD EF AR ND G 13
TX
AL O 2
RX
RX
G IN 8 1 0
13 ~ ~ ~ 9 10 11
12
p.76
a b c d e
f g h i
RESET
7-15V
13 RX TX
IOREF
RESET
3.3V
5V
GND
GND
VIN
A0
A1
A2
A3
ON
ANALOG IN
A4
A5
ISP
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 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
Componente: Componente:
j30 j29 j28 j27 j26 j25 j24 j23 j22 j21 j20 j19 j18 j17 j16 j15
b8 b7 b6
Imagen de Referencia:
LCD Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector Cable Conector
Pin 12
f27
GND a3 f29 +
f30 a3 f30
Potencimetro
Cable Conector
5V GND
GND e6
j10 +
Cable Conector
+ a3 f28 a3
Cable Conector
GND e7 GND e8
Cable Conector
a3 a3
GND f16
Cable Conector
GND f15
Cable Conector
Cable Conector
+ a3
j10 f17
Cable Conector
Pin 2
15
Circuit 2
Cdigo de Arduino:
Open Arduino IDE // Archivo > Ejemplos > SIK Guide > Circuit # 15
Notas de cdigo:
#include <LiquidCrystal.h>
Este bit de cdigo le dice a tu Arduino IDE que incluya la biblioteca para una pantalla LCD simple. Sin esto ninguno de los comandos funcionar, as que asegrate de incluirlo!
lcd.print(hello, world!);
Esta es la primera vez que encenders algo en tu pantalla. Debes ajustar el contraste para hacerlo visible. Gira el potencimetro hasta que puedas ver el texto claramente!
715 V
Inicialmente, debes ver las palabras hello, world! aparecer en tu LCD. Recuerda que puedes ajustar el contraste usando el potencimetro si no puedes ver las palabras claramente. Si tienes algn problema asegrate de que el cdigo sea correcto y revisa tus conexiones.
5V GN D GN D VI N
A0 A1 A2 A3 A4 A5
RE
PO
SE
ER
AN IS D 7 IG 6 IT ~ 5 A ~ L 4 W 3 M ~ ~ 2 ) 1 P (P O N
RX TX
L SC A SD EF AR ND G 13
TX
AL 0
RX
O G 8
13
IN ~ ~ 9
12
Problemas comunes:
La pantalla est en blanco o completamente encendida? Juega con el contraste girando el potencimetro. Si est ajustado incorrectamente no sers capaz de leer el texto. No Funciona del Todo? Revisa de nuevo el cdigo, especficamente chequea que hayas incluido la biblioteca LCD. La Pantalla est Parpadeando Revisa tus conexiones en la protoboard y el Arduino.
~ 10
11
Para aprender ms
Vistanos online:
Este es solo el inicio de tu exploracin en el mundo de la programacin y los circuitos embebidos. Nuestro sitio web tiene gran variedad de tutoriales para saciar tu apetito de conocimiento. Adems tenemos una comunidad de hackers, programadores, ingenieros y otros usuarios de nuestros productos en nuestros foros. As que ingresa a nuestra pgina web para ms informacin acerca de Arduino, o para planear tu prximo proyecto!
sparkfun.com
NOTAS:
Adems aprenders a ensamblar fsicamente 15 circuitos electrnicos bsicos, pero no se requiere ningn punto de soldadura. No es necesaria ninguna experiencia previa! El SparkFun Inventors Kit ensea programacin bsica, para la cual necesitas tener tanto una computadora como una conexin a internet.
EL KIT INCLUYE
RedBoard de SparkFun Protoboard Folleto de Instrucciones Rel sellado Servo pequeo LEDs rojos y amarillos LED RGB Sensor de Temperatura
Motor CD Registro de desplazamiento de 8bits Interruptores de botn presionable Potencimetro Fotorresistencia Transistores Cables de Unin Cable USB
Diodos de seal Resistencias de 10K ohms Resistencias de 330 ohms Bocina piezoelctrica Sensor exible Potencimetro suave Plataforma base LCD
SparkFun Electronics, inc. Todos los derechos reservados. El SparkFun Inventors Kit para las caractersticas, especicaciones, requerimientos 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 dueos. La Gua SIK para el SparkFun Inventors 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.