Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MANUAL S4A
PARA PROGRAMAR TU ARDUINO SIN SABER ARDUINO
INDICE:
1. PRIMERAS NOCIONES 3
2. EMPEZAMOS A TRABAJAR 5
3. NUESTRA PRIMERA PRCTICA: LED INTERMITENTE 7
4. PRACTICA 2: LED (SALIDA) INTERMITENTE 8
CON CONTROL DE FRECUENCIA MEDIANTE
UN POTENCIOMTRO (ENTRADA ANALGICA)
5. PRACTICA 3: GOBIERNO DEL ENCENDIDO DE UN LED 9
(SALIDA) MEDIANTE UN PULSADOR
(ENTRADA DIGITAL)
6. PRCICA 4: SEMFORO 10
7. PRCTICA 5: GIRAR UN SERVO
CON UN POTENCIOMETRO
8. PRCTICA 6 SEGUIDOR DE LUZ 13
9. PRCTICA 13 MINISKYBOT 15
SEGUIDOR DE LINEAS - ROBOT ESCOBA
10. BIBLIOGRAFIA 20
1. PRIMERAS NOCIONES
S4A
ARDUINO
Y Arduino?: Arduino es tarjeta electrnica sencilla y de bajo precio diseada para el
aprendizaje de electrnica y la creacin de prototipos.
La integracin de estos dos entornos permiti el desarrollo de S4A, cuya plataforma nos
permite entrar al mundo de la electrnica, la robtica y programacin y desarrollar
diferentes prototipos, sin necesidad de tener conocimientos avanzados en estas reas .
SHIELDS DE ARDUINO
Los shields son placas que se empotran encima de una placa Arduino y que ofrecen
funcionalidades complementarias a las de esta.
Para poder realizar montajes de electrnica de control con Arduino deberamos trabajar
con nuestros propios circuitos elctricos y electrnicos empleando placas Proto Board,
pero para simplificarnos algunas prcticas tambin podemos usar una placa hecha ex
profeso para entornos docentes por la empresa
vasca MSE Bilbao, la placa BASIC I/O, que
podemos ver en la imagen.
Con esta placa ya tenemos creados los circuitos elctricos y electrnicos necesarios para
poder empezar a programar en Arduino.
2. EMPEZAMOS A TRABAJAR
Para empezar a trabajar lo primero que tenemos que hacer es instalar el software
necesario y para ello debers seguir los pasos siguientes:
S4A funciona sobre los tres sistemas operativos de escritorio ms populares. Descargad
e instalad el que os convenga.
Windows (http://s4a.cat/downloads/S4A15.exe)
Mac (http://s4a.cat/downloads/S4A15.dmg)
Linux (Debian) (http://s4a.cat/downloads/S4A15.deb)
Raspbian (Debian para RaspberryPi) (http://s4a.cat/downloads/S4A15_RP.deb)
o En el men
Herramientas - Tarjeta,
seleccionad la versin de la
placa (en mi caso veris que
se trata de la placa Arduino
Uno)
o En el men
Herramientas Puerto
Serial, seleccionad el puerto
serie en qu est conectada
la placa.
Nuestro primer ejercicio ser el apagado y encendido de un led conectado a la salida Pin
10 de la tarjeta Arduino.
En esta prctica vamos a ver como asociar a una variable al valor de una entrada
analgica - Analog0- con el fin de poder variar el retardo en el encendido y apagado de
una salida digital (led amarillo) PIN 10.
Comenzamos definiendo la variable frecuencia.
En la librera de variables, clicamos en nueva variable y creamos una con el
nombre frecuencia, aparecern distintos bloques de funcin asociados a dicha
variable.
Tomaremos la funcin fiajar frecuencia a..y la
asociaremos de la biblioteca movimiento la
funcin valor del sensor Analog0 que ser el valor
ledo del potencimetro que se encuentra en el
canal A0.
El tiempo de encendido lo fijamos a 0.1 segundos y
en actuamos sobre el tiempo de apagado. El tiempo
de apagado los configuramos con la funcin
esperar a. segundos de la librera
control y colocando en el operador la
frecuencia/2000 (la frecuencia
variar entre 0 y 0,512s)
El programa quedar asi.
Podemos observar como al modificar el valor del
potencimetro vara el tiempo de apagado del
led.
Queremos gobernar el encendido de nuestro Led amarillo, PIN 10, (o entrada digital D10
de la placa BASIC I/O), mediante el accionamiento de un pulsador, entrada digital D4
de la placa BASIC I/O, o PIN 2.
La lgica del programa es sencilla: si el sensor digital 2 (pulsador D4) est presionado,
es decir, es igual a verdadero (true), la salida digital 10 (led amarillo) estar encendido;
si no, salida digital 10 (led amarillo) apagado.
Por lo que utilizaremos el bloque de sensor presionado con el operador .
Y por lo tanto el programa y el circuito de conexin quedarn como puedes ver en las
imgenes.
6. PRCICA 4: SEMFORO
Con lo aprendido hasta ahora la siguiente prctica nos resultar
muy sencilla, pues trata de programar un semforo.
Utilizaremos las siguientes salidas:
- Pin 12: Led verde. - Pin 11: Led rojo. - Pin 10: Led
mbar.
As que siguiendo la misma lgica que aplicamos en la prctica 3
el programa nos quedar como reobserva en la imagen.
El servo es un dispositivo con tres entradas, dos son de alimentacin (5v y 0v) y la otra
es la que recibe la seal que le indica el ngulo que debe girar, esta seal est formada
por un pulso que el circuito incluido en el servo interpreta para girar el motor y dejarlo
fijo en el ngulo indicado.
En este ejercicio vamos a utilizar la seal variable que produce un potenciometro para
girar un servo un ngulo determinado como se puede ver en este vdeo.
Para hacer el montaje necesitaremos:
S4A dispone de dos salidas para servos, son la 4 y la 7, y dispone de una instruccin para
girar un ngulo determinado el servo. Este servo que usamos puede colocarse en
cualquier ngulo entre 0 y 180 grados.
Conectaremos las patillas externas del potenciometro, como en el ejemplo anterior, a 5v
y 0v, y la patilla central a la entrada analgica Analog6.
El conector rojo del servo los conectaremos a 5v, el marrn a 0v y el naranja, que es el
de seal, lo conectaremos a la salida 7.
El valor recogido del potenciometro vara entre 0 y 1023, esta cantidad hay que
transformarla en ngulo (entre 0 y 180) as que los ms fcil ser multiplicar el valor del
potenciometro por 0.18 obtener la parte entera y usar ese valor como ngulo para el
servo.
Y el programa quedar:
Con este ejemplo queremos mover un servo motor para que oriente una pequea placa
(donde est el circuito) hacia la luz recibida desde una linterna. Para esto utilizaremos
dos resistencias variables con la luz (LDR) en
las que la resistencia vara en funcin de la
luz recibida.
En el dibujo del circuito vemos que se
generan dos divisores de tensin con la
resistencia de 270 ohmios y la resistencia
LDR variable en funcin de la luz recibida.
Segn sea esta resistencia, en los puntos
analgico1 y analgico2 habr una tensin
diferente entre 0V y 5V (si la luz recibida es
diferente), que se convertir en un valor
entre 0 y 1023 que la placa Arduino enviar al ordenador.
Comparando los valores de las dos entradas sabremos cual recibe ms luz y por lo tanto
hacia donde deberemos mover el servo.
En funcin de las LDR utilizadas y la luz suministrada (junto con la luz ambiente) es
posible que haya que modificar los valores de las condiciones (en el ejemplo las
diferencia consideradas son 50 y 100) para ajustar el movimiento del servo.
Con estos elementos, un led blanco y un motor para mover dos ruedas podemos fabricar
un pequeo robot siguelnemeas. Este tipo de robot sigue un camino formado por trazo
de una lnea negra sobre un fondo blanco. La separacin de las LDR sera ms o menos d
ella anchura de la lnea y entre ellas estara el led blanco, si las LDR estn sobre el fondo
blanco respondern con el mismo valor y el robot seguir una trayectoria recta, si una de
las LDR se coloca sobre el lnea negra existir una diferencia en las resistencias que el
programa podr utiliza par amover el servo y girar el robot hacia posicin correcta.
http://www.arduteka.com/2013/04/robot-miniskybot-2-como-siguelineas-y-detector-
de-obstaculos/
Arduino, Impresion 3D, IR, MiniskyBot, Robot, Robtica, sensor ultranosidos, TUTORIAL by
Borja
http://www.arduteka.com/2013/05/robot-imprimible-miniskybot2-programado-con-s4a/
En esta placa tambin colocamos dos tiras de tres pines machos (en la paste superior)
donde conectaremos los cables de los servos. Por ltimo para conectar las lneas de
control de los servos usaremos dos cables que se conectarn directamente a los pines 8
y 12 de la placa Arduino.
Si los sensores ven negro (estn sobre la lnea) los dos motores giran hacia delante.
Si un de ellos ve blanco parar el motor del otro lado con lo que el robot girar
hacia la lnea negra.
Si los dos sensores ven blanco el robot se para.