SlideShare a Scribd company logo
1 of 10
Download to read offline
APLICACIÓN DEL BASIC STAMP:
UN SENCILLO RASTREADOR DE LINEAS
Aritza Etxebarria
ikercv2001@yahoo.es
Profesor del Colegio Vizcaya
A través del siguiente artículo queremos acercar al lector al mundo de la programación
de microcontroladores Basic Stamp de la empresa Parallax. Varios aspectos son los que
convierten a este microcontrolador en el ideal para iniciarse en el mundo de la
programación de microcontroladores:
Sencillez de conexión
Frente a otros microcontroladores que requieren de un extenso hardware auxiliar para su
funcionamiento (fuente de alimentación, circuito del reloj, circuito de reset, circuito
grabador, etc.) las principales versiones del Basic Stamp incorporan toda esta circuitería
en el microcontrolador.
Sencillez de programación
Frente a los lenguajes de bajo nivel utilizados en la mayoría de los microcontroladores,
el basic stamp utiliza un lenguaje de alto nivel llamado PBASIC, muy similar al
archiconocido BASIC.
Asistencia técnica gratuita
La empresa Parallax, proporciona soporte para cualquier tipo de duda que pudiera surgir
con el uso de sus microcontroladores, desde problemas de programación, conexionado,
hasta dudas de electrónica. (stamptech@parallaxinc.com)
Para demostrarlo, a continuación vamos a presentar un proyecto para la realización de
un robot rastreador de líneas, basado en Basic Stamp.
Paso cero: Análisis del problema del robot rastreador.
El problema del robot rastreador consiste en realizar un robot autónomo que sea capaz
de seguir una línea de color blanco sobre fondo negro. En la mayoría de los concursos
de robótica universitarios, se practica esta modalidad.
En la siguiente imagen, podemos apreciar un posible circuito muy simple. El robot debe
atravesar desde el extremo inicial hasta el final, sin abandonar el camino, en menos
tiempo que sus adversarios para conseguir ganar el concurso.
Para poder llevar a cabo esta tarea el robot debe tener al menos 2 sensores de reflexión
(por ejemplo CNY70) que detectan el color blanco o el negro. Existen múltiples
soluciones para llevar a cabo el rastreo, pero nosotros analizaremos la más sencilla tan
solo utilizando dos sensores.
Los sensores se colocarán en paralelo y uno de ellos deberá ir por la parte blanca del
circuito mientras que el otro por la parte negra. Es decir, el robot bordeará la línea.
Mientras el robot lea que en el sensor izquierdo el color de la superficie es blanco y en
el sensor de la derecha el color es negro, el robot avanzará hacia delante.
Sin embargo, cuando el robot encuentre en ambos sensores el color blanco o en ambos
sensores el color negro, el robot deberá girar para volver a encontrar el camino deseado
que es negro en el sensor derecho y blanco en el izquierdo.
Según esta configuración en el cruce que presentamos en la siguiente figura el robot
tomaría el camino de la derecha. Analicémoslo paso a paso.
Colocamos el robot en la posición INICIO de
forma que tenga un sensor en la parte blanca
y otro en la parte negra. Al encenderlo, al
detectar blanco en el sensor izquierdo y negro
en el derecho el robot avanza hasta la
posición A.
En la posición A el robot detecta blanco en
los 2 sensores, y deberemos programarlo para
que entonces gire a derecha hasta volver a
leer blanco en el sensor izquierdo y negro en
el derecho. En ese momento vuelve a avanzar
hasta la posición B. En esta posición los
sensores leen negro en ambos y entonces
debemos programarlo para que gire a izquierda hasta leer negro y blanco. Entonces
avanzará hasta el punto C, etc.
Primer paso: Elección del Microcontrolador
Una vez analizado el problema anterior, observamos que necesitamos programar un
microcontrolador para controlar 2 sensores y el movimiento del robot. Para esto último
utilizaremos 2 servomotores de rotación continua que tan solo necesitan una entrada de
control para su funcionamiento. Por lo tanto, sólo necesitaremos 2 entradas y 2 salidas
para realizar nuestro robot.
Es importante analizar el número de entradas y salidas que necesitamos a la hora de
elegir el microcontrolador, ya que este número es limitado y diferente en cada
microcontrolador.
Dentro de la familia de microcontroladores de Basic Stamp, existen varias versiones del
mismo. Aunque para la iniciación suele recomendarse empezar por el Basic Stamp II,
debido a las múltiples herramientas y documentación existente, nosotros lo haremos con
el Basic Stamp I, debido principalmente a su menor coste económico. Dentro de los
distintos modelos de Basic Stamp I, elegiremos el modelo Basic Stamp I Rev. D por su
sencillez de conexión con los periféricos a emplear. Este tiene 8 pines que pueden
actuar como entradas o salidas suficiente para manejar las cuatro líneas que
necesitamos.
Vin

Vista superior del Basic Stamp I Rev. D

Entrada positiva de la carga
sin regular
+5V Salida regulada a +5 voltios
+5V Salida regulada a +5 voltios
P7
Patita 7 del microcontrolador
P6
Patita 6 del microcontrolador
P5
Patita 5 del microcontrolador
P4
Patita 4 del microcontrolador
P3
Patita 3 del microcontrolador
P2
Patita 2 del microcontrolador
P1
Patita 1 del microcontrolador
P0
Patita 0 del microcontrolador
GND Toma de tierra
GND Toma de tierra
GND Toma de tierra

Cuadro 1: Conexiones del BSI Rev.D
Además esta pequeña placa contiene el circuito grabador, posibilidad de debug en
tiempo real, rectificador de corriente a 5 voltios, modulación de pulsos, etc.
Segundo paso: Diseño del robot rastreador
Un error muy típico a la hora de diseñar un micro robot es menospreciar el diseño de la
parte mecánica del mismo y centrarse únicamente en la parte electrónica y
programación del mismo.
El tamaño y tipo de las ruedas, los motores empleados, el anclaje de estos sobre el
chasis del robot, las pilas empleadas, todo influye sobre la solución final del proyecto y
cualquier fallo puede hacernos fracasar en el intento.
Para montar la estructura del robot, proponemos construir un pequeño armazón de
madera donde encajaremos los 2 motores (servomotores de rotación continua), los 2
sensores de reflexión, el Basic Stamp I Rev. D y las pilas. Estos son los componentes
que vamos a utilizar:
LISTA DE COMPONENTES
Componente
Unidades Precio Unitario Aprox.
Basic Stamp I Rev. D.
1
47,00 €
Servomotor Parallax de
2
18,00 €
rotación contínua
Sensor de reflexión MSE2
8,00 €
S110.1
Portapilas de 4 pilas de 1,5v
1
0,60 €
Conector Molex 12 pines
1
0,15 €
hembra
CD 8 cms.
2
1,20 €
Rueda loca
1
1€
Material diverso (Conectores
varios, tornillos,…)
Con la ayuda de una sierra y un taladro confeccionaremos la estructura en madera del
robot donde alojaremos los motores con tornillos de métrica 2. Es muy importante que
los motores estén perfectamente anclados a la estructura. Para unir las distintas tablas
podemos usar un pegamento de pegado rápido. Un posible ejemplo se observa en la
siguiente fotografía:

Tras tener los servomotores perfectamente sujetos a la estructura, incorporamos los
sensores de reflexión mediante 2 tornillos, en la parte delantera de la estructura. La
distancia entre ambos, no debe ser superior a la anchura mínima de la línea a seguir.

A continuación colocamos una tapa a la estructura de madera con 3 agujeros. Uno
grande para pasar los conectores de los servos, y otros 2 para atornillar el Basic Stamp I
rev. D a la estructura.
A continuación realizamos las distintas conexiones necesarias según el programa
diseñado. Para los conectores del BStamp podemos usar un conector molex de 12 pines
colocado de forma que sobren dos de los 3 pines de tierra. Así las conexiones serían las
siguientes:

Servomotor
izquierdo
Servomotor
derecho

Sensor
izquierda

ROJO = Vin
NEGRO = GND
BLANCO = PIN7 del BStamp
ROJO = Vin
NEGRO = GND
BLANCO = PIN6 del BStamp

1 = +5v
2 = GND
3 = PIN1 del BStamp
Sensor derecha 1 = +5v
2 = GND
3 = PIN0 del BStamp
Por último creamos las ruedas del robot. Para conseguirlas, proponemos pegar el
conector que viene junto al servomotor a 2 CDs de 8 centímetros con un adhesivo como
Loctite y rodear el CD con una goma para que no patinen las ruedas. (Por ejemplo
pegando la goma de una alfombrilla de ratón alrededor del CD). Y colocamos una rueda
loca en la parte trasera del micro robot que servirá de apoyo.
El resultado final podría ser algo parecido al que presentamos en la siguiente fotografía:

Cuarto paso: Programación del robot
Una vez construido el robot, vamos a meternos con la programación del mismo. Lo
primero que haremos será construir el cable de programación necesario para comprobar
el perfecto funcionamiento del basic stamp con el que confeccionaremos nuestro primer
programa.
Creación del cable de programación
El Basic Stamp I se programa por el puerto paralelo mediante un cable especial que
también puede adquirirse por el precio aproximado de 18 Euros. Sin embargo
proponemos crear dicho cable para abaratar costes.
La construcción del cable es muy sencilla, simplemente hay que seguir el siguiente
esquema:
Busque este símbolo en
la placa del BSTAMP I
Prueba del microcontrolador
Una vez creado el cable, es imprescindible bajarse de internet (www.parallax.com) el
editor de Basic Stamp I, programa desde el que programaremos el microcontrolador. El
programa funciona bajo MSDOS, y puede que dé algún problema a los usuarios de
Windows XP, sin embargo con otras versiones de windows, funciona perfectamente.
Una vez ejecutado el editor, conectamos el cable con el Basic Stamp observando el
símbolo >> serigrafiado en la placa, alimentamos el Basic Stamp con las pilas y
teclearemos el siguiente programa:
debug “Hola mundo, soy tu Basic Stamp”
A continuación pulsaremos ALT + R y observaremos el resultado en pantalla. ¡El Basic
Stamp nos habla!
¿Cómo que no nos habla? Si en la pantalla de su ordenador no viese el mensaje en
cuestión, revise el cable de programación creado, y revise que el Basic Stamp esté
correctamente alimentado.
Pero si por el contrario lee el mensaje en pantalla, ¡Enhorabuena! Acaba usted de
ejecutar su primer programa sobre el Basic Stamp.
Existen múltiples manuales de programación en el sitio web de parallax pero en la
bibliografía le recomendamos otra web donde encontrará los manuales de parallax en
castellano. Pasemos ahora, a otra fase de la programación
Leyendo los sensores
Los sensores, los tenemos colocados en las patitas 0 y 1 del microcontrolador. Lo
primero que debemos hacer es indicarle al controlador que esas patitas van a ser de
entrada. Para ello utilizaremos la instrucción input de la siguiente manera:
INPUT 0
INPUT 1

‘ El pin 0 del Basic Stamp actuará como ENTRADA
‘ El pin 1 del BStamp actuará como ENTRADA

Fíjese que tras la instrucción hemos añadido dos comentarios con el símbolo apóstrofe
por delante.
A continuación leeremos la entrada de cada pin y la mostraremos con el comando debug
en un bucle infinito:
INPUT 0
‘ El pin 0 del Basic Stamp actuará como ENTRADA
INPUT 1
‘ El pin 1 del BStamp actuará como ENTRADA
Leer:
‘ Etiqueta para el bucle infinito
DEBUG pin0,pin1 ‘Mostramos en pantalla el estado del pin 0 y 1
PAUSE 500
‘ esperamos medio segundo (500 milisegundos)
GOTO Leer
‘Saltamos a la etiqueta Leer para repetir el ciclo
‘ de forma indefinida

Al pulsar ALT + R nos aparecerá en pantalla el estado del pin0 y el pin 1. Si colocamos
en un folio un trozo de cinta aislante negra y vamos variando la posición de los sensores
sobre el folio y la cinta aislante observaremos en pantalla los distintos valores de los
sensores. La altura a la que deben estar los sensores con respecto a la superficie a leer
debe ser aproximadamente (varía con la iluminación empleada) de medio centímetro.
Ahora, en cuanto sepamos como mover los servos, podremos crear el programa
rastreador.
Moviendo los servos
Para mover el robot hemos seleccionado 2 servomotores de rotación contínua que
distribuye la empresa parallax. Estos motores se caracterizan por tener una circuitería
auxiliar que permite que con una única señal de pulsos electrónicos controlemos el
movimiento del motor. Así nos ahorramos la etapa de potencia que deberíamos usar con
otros motores y ganamos en sencillez de diseño.
Pero basta de teoría. Empecemos a mover el robot. Dependiendo de la señal que
enviemos al servomotor conseguiremos un movimiento u otro. Para crear una señal de
pulsos electrónicos el Basic Stamp dispone de una instrucción llamada PULSOUT. No
nos vamos a extender con el funcionamiento de los servos. Simplemente indicaremos a
continuación un programa que controla el movimiento de los servos.
Al poner los dos servomotores enfrentados, si mandamos la misma señal a los
servomotores, girarán en sentido contrario y si mandamos señales distintas girarán en el
mismo sentido. Veámoslo y comprobémoslo con el ejemplo.
‘Pruservo.bs2
‘Programa para la prueba de servos
SYMBOL MotorIzq = 7
‘El motor de la izquierda lo conectamos al pin7
SYMBOL MotorDer = 6
‘El motor de la derecha lo conectamos al pin6
‘La instrucción SYMBOL se utiliza para declarar variables y constantes
OUTPUT MotorIzq
‘Configuramos la patita 7 como salida
OUTPUT MotorDer
‘Configuramos la patita 6 como salida
FOR B0 = 1 TO 20
‘Para observar el movimiento del robot
‘mandamos la señal durante 20 impulsos
PULSOUT MotorIzq,300 ‘Con el parámetro 300 en el motor izq
‘conseguimos que este avance rápidamente
PULSOUT MotorDer,1
‘Y el motor derecho avanza cuando mandamos un
‘1 pulso de 10 microsegundos
PAUSE 20
‘Y al avanzar los dos motores, el robot avanza
NEXT
FOR B0 = 1 TO 20
‘El motor izquierdo sigue avanzando
PULSOUT MotorIzq ,300 ‘ pero al mandar la señal contraria al servo
PULSOUT MotorDer , 300 ‘ derecho, este retrocede.
PAUSE 20
‘ Y así al avanzar una rueda y girar la otra
NEXT
‘conseguimos que el robot gire

Para aprender más sobre el movimiento y control de los servomotores no dude en
consultar la bibliografía indicada al final del artículo. En caso de no conseguir el efecto
deseado cambie las constantes en la instrucción PULSOUT hasta conseguirlo. Con
cambiar el 1 por 300 y viceversa, debería ser suficiente.
Una posible solución
Si integramos todos los aspectos analizados a través de todo el artículo, y con un poco
de conocimiento del lenguaje PBASIC, podríamos llegar fácilmente a una solución muy
parecida a esta:
'***************************************************************
'*
Programa de control de robot
*
'*
para Basic Stamp Rev D.
*
'*
AUTOR: Aritza Etxebarria 2.003
*
'***************************************************************
'=======================
' Asignaci¢n de patitas
'=======================
symbol p0 = pin0
'Pin0 conectado al detector de l¡nea der
symbol p1 = pin1
'Pin1 conectado al detector de l¡nea izq
symbol MotorIzq = 7 'Conectado al servomotor izquierdo
symbol MotorDer = 6 'Conectado al servomotor derecho
'=================================
' Constantes de control de Servos
'=================================
symbol Avizq = 300
'Hace avanzar el servomotor izquierdo
symbol Reizq = 1
'Hace retroceder el servomotor izquierdo
symbol AvDer = 1
'Hace avanzar el motor derecho
symbol ReDer = 300
'Hace retroceder el motor derecho
'===========
' Variables
'===========
symbol pulsos = b0
'Para el control del bucle de los motores
symbol lectura = b1
'Para almacenar el estado de la lectura
'================
' Inicializaci¢n
'================
input p0
'p0 y p1 son entradas
input p1
'de los sensores de reflexion
output MotorIzq
'El Motor izquierda es de salida
output MotorDer
'El Motor derecha es de salida
'====================
' Programa principal
'====================
Principal:
GOSUB LeeSensores
'Leemos el estado de los sensores
Continua:
' En fucnci¢n de dicho estado nos encontramos en una superficie u otra
' y actuamos en consecuencia
BRANCH lectura, (BlancoBlanco,BlancoNegro,NegroBlanco,NegroNegro)
GOTO Principal
'Repetimos el bucle indefinidamente
'====================
' Rutinas auxiliares
'====================
NegroNegro:
for pulsos = 1 to 5
‘Hacemos girar el robot a izquierda
pulsout MotorDer,AvDer
pulsout MotorIzq,ReIzq
pause 20
next
GOTO Principal
NegroBlanco:
for pulsos = 1 to 5
‘Hacemos girar el robot a derecha
pulsout MotorDer,ReDer
pulsout MotorIzq,AvIzq
pause 20
next
GOTO Principal
BlancoNegro:
‘El robot avanza
pulsout MotorIzq,AvIzq
pulsout MotorDer,AvDer
pause 20
GOTO Principal
BlancoBlanco:
‘El robot gira a derecha
for pulsos = 1 to 5
pulsout MotorDer,ReDer
pulsout MotorIzq,AvIzq
pause 20
next
GOTO Principal
'==================================================================
'Esta rutina devuelve en una variable el estado de los bits p0 y p1
'==================================================================
LeeSensores:
lectura = p1*2 + p0
‘ Convierte los bits en valor decimal
RETURN
' Vuelve al programa principal
Si introducimos esta solución en el robot, este se encontrará listo para seguir la línea
que usted le marque. ¡Adelante¡ Constrúyase su propio circuito de pruebas y trate de
depurar el programa hasta conseguir mejores velocidades.
¿Quiere entretenerse más?
A continuación le presentamos posibles mejoras del robot y/o transformaciones:
-Añadir un interruptor de encendido/apagado.
-Añadir un switch y modificar el programa para que el robot vaya por los caminos de la
derecha o la izquierda. Cuando se concursa con un robot rastreador, siempre suele haber
un camino mejor que el otro. Si nosotros solo programamos el robot para que elija el
camino de la derecha (como en nuestro ejemplo) corremos el riesgo de que el mejor
camino sea el de la izquierda. Por eso sería interesante añadirle un switch al robot para
que en función del switch, siga siempre el de la izquierda o siga siempre el de la
derecha.
-Modificar el robot para ser un luchador de sumo. Una vez superada esta fase del robot
rastreador, intente crear un robot luchador de sumo. Parallax dispone de un robot de
lucha sumo llamado Sumobot, cuyo manual de ensamblaje y programación puede
bajarselo gratuitamente de la web de parallax junto con las reglas de este concurso.
-Conseguir mejores giros del robot, utilizando más sensores. Si utiliza más sensores
podría determinar el tipo de giro que debe dar el robot: Muy cerrado, poco cerrado, etc.
Modifique el robot para que detecte cada tipo de giro y haga que las ruedas giren de
distinta forma dependiendo del tipo de giro, de
forma que optimice el tiempo empleado en el
circuito.
-También puede ahorrarse algo de dinero si en
vez de usar los sensores de reflexión
MSES110.1 los confecciona usted mismo
siguiendo
el
siguiente
esquema
de
conexionado de los CNY70
Bibliografía recomendada:
www.parallax.com o www.stampsinclass.com
sitio web oficial de la empresa parallax, con
extensos manuales, catálogos de productos,
software, todos ellos gratuitos.
www.cursoderobotica.com.ar Dentro de la sección libros encontrará una serie de
manuales en castellano que le ayudarán de una forma muy sencilla a introducirse en la
programación de estos microcontroladores, creación de robots, …
www.microcontroladores.com Distribuidor en España de los microcontroladores
Parallax y de los sensores utilizados.

More Related Content

What's hot

GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORGENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORFernando Marcos Marcos
 
Obturador mecánico con arduino
Obturador mecánico con arduinoObturador mecánico con arduino
Obturador mecánico con arduinoMiriam Esteve
 
Multisim, como medir paso a paso
Multisim, como medir paso a pasoMultisim, como medir paso a paso
Multisim, como medir paso a pasoedgarfrans
 
Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4Jandres73
 
Cuaderno de prácticas robotica con Picaxe 08M2
Cuaderno de prácticas robotica con Picaxe 08M2Cuaderno de prácticas robotica con Picaxe 08M2
Cuaderno de prácticas robotica con Picaxe 08M2cantabrobots30
 
Construccion seguidor de línea por joaquín berrocal verano 2017
Construccion seguidor de línea por joaquín berrocal verano 2017Construccion seguidor de línea por joaquín berrocal verano 2017
Construccion seguidor de línea por joaquín berrocal verano 2017joaquinin1
 
Proyecto brazo robotico ksr10 enero marzo 2015
Proyecto brazo robotico ksr10  enero marzo 2015Proyecto brazo robotico ksr10  enero marzo 2015
Proyecto brazo robotico ksr10 enero marzo 2015joaquinin1
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Guido Carmona Girón
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-unoAngelik Hdez
 
3. primeros pasos con m block
3.  primeros pasos con m block3.  primeros pasos con m block
3. primeros pasos con m blockAlberto Bernabeu
 
Presentación taller arduino
Presentación taller arduinoPresentación taller arduino
Presentación taller arduinogruposirp
 
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017joaquinin1
 

What's hot (20)

GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORGENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
 
Obturador mecánico con arduino
Obturador mecánico con arduinoObturador mecánico con arduino
Obturador mecánico con arduino
 
Multisim, como medir paso a paso
Multisim, como medir paso a pasoMultisim, como medir paso a paso
Multisim, como medir paso a paso
 
Rastreador de lineas_digital
Rastreador de lineas_digitalRastreador de lineas_digital
Rastreador de lineas_digital
 
Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4Tutorial veloci botcb rv.4
Tutorial veloci botcb rv.4
 
Microcontroladores ss13
Microcontroladores ss13Microcontroladores ss13
Microcontroladores ss13
 
Cuaderno de prácticas robotica con Picaxe 08M2
Cuaderno de prácticas robotica con Picaxe 08M2Cuaderno de prácticas robotica con Picaxe 08M2
Cuaderno de prácticas robotica con Picaxe 08M2
 
Construccion seguidor de línea por joaquín berrocal verano 2017
Construccion seguidor de línea por joaquín berrocal verano 2017Construccion seguidor de línea por joaquín berrocal verano 2017
Construccion seguidor de línea por joaquín berrocal verano 2017
 
Proyecto brazo robotico ksr10 enero marzo 2015
Proyecto brazo robotico ksr10  enero marzo 2015Proyecto brazo robotico ksr10  enero marzo 2015
Proyecto brazo robotico ksr10 enero marzo 2015
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7
 
Práctica04.Programando Arduino
Práctica04.Programando ArduinoPráctica04.Programando Arduino
Práctica04.Programando Arduino
 
Cerradura Electrónica
Cerradura ElectrónicaCerradura Electrónica
Cerradura Electrónica
 
Pulsos ppm arduino
Pulsos ppm arduinoPulsos ppm arduino
Pulsos ppm arduino
 
Presentación placa arduino
Presentación placa arduinoPresentación placa arduino
Presentación placa arduino
 
Control lcd 16X2 proton
Control lcd 16X2 protonControl lcd 16X2 proton
Control lcd 16X2 proton
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
Los encoders y el plc
Los encoders y el plcLos encoders y el plc
Los encoders y el plc
 
3. primeros pasos con m block
3.  primeros pasos con m block3.  primeros pasos con m block
3. primeros pasos con m block
 
Presentación taller arduino
Presentación taller arduinoPresentación taller arduino
Presentación taller arduino
 
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
 

Similar to Proy iker4

Similar to Proy iker4 (20)

Como crear un robot de sumo autónomo y barato
Como crear un robot de sumo autónomo y baratoComo crear un robot de sumo autónomo y barato
Como crear un robot de sumo autónomo y barato
 
Seguidores productos
Seguidores productosSeguidores productos
Seguidores productos
 
Microcontroladores ss13
Microcontroladores ss13Microcontroladores ss13
Microcontroladores ss13
 
Circuitos impresos
Circuitos impresosCircuitos impresos
Circuitos impresos
 
Info 001 elecii
Info 001  eleciiInfo 001  elecii
Info 001 elecii
 
Tutorial proteus inicial
Tutorial proteus inicialTutorial proteus inicial
Tutorial proteus inicial
 
Tutorialproteus
TutorialproteusTutorialproteus
Tutorialproteus
 
Reloj digital para casa o coche
Reloj digital para casa o cocheReloj digital para casa o coche
Reloj digital para casa o coche
 
Construcciondeun pl cconpic
Construcciondeun pl cconpicConstrucciondeun pl cconpic
Construcciondeun pl cconpic
 
Proyecto2
Proyecto2Proyecto2
Proyecto2
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
Act central u3
Act central u3Act central u3
Act central u3
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea
 
uControl Nº _ 02-.pdf
uControl Nº _ 02-.pdfuControl Nº _ 02-.pdf
uControl Nº _ 02-.pdf
 
Pikit3 parte i-
Pikit3 parte i-Pikit3 parte i-
Pikit3 parte i-
 
Reparacion de monitores
Reparacion de monitoresReparacion de monitores
Reparacion de monitores
 
Placas controladoras angela
Placas controladoras angelaPlacas controladoras angela
Placas controladoras angela
 
Placas controladoras angela
Placas controladoras angelaPlacas controladoras angela
Placas controladoras angela
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con Niple
 
Manual de operación arduino cabezal
Manual de operación arduino cabezalManual de operación arduino cabezal
Manual de operación arduino cabezal
 

More from José Tomás Diarte Añazco

Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.José Tomás Diarte Añazco
 

More from José Tomás Diarte Añazco (20)

S2214750014000067 gr1.jpg
S2214750014000067 gr1.jpgS2214750014000067 gr1.jpg
S2214750014000067 gr1.jpg
 
Primer trabajo practico de dreamweaver cs3
Primer trabajo practico de dreamweaver cs3Primer trabajo practico de dreamweaver cs3
Primer trabajo practico de dreamweaver cs3
 
VARIABLE COMPLEJA
VARIABLE COMPLEJAVARIABLE COMPLEJA
VARIABLE COMPLEJA
 
Control Industrial
Control IndustrialControl Industrial
Control Industrial
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Investigación Cientifica
Investigación CientificaInvestigación Cientifica
Investigación Cientifica
 
Introduccion a la Robótica
Introduccion a la RobóticaIntroduccion a la Robótica
Introduccion a la Robótica
 
Sistemas de ecuaciones Lineales
Sistemas de ecuaciones Lineales Sistemas de ecuaciones Lineales
Sistemas de ecuaciones Lineales
 
Algebra de Boole
Algebra de BooleAlgebra de Boole
Algebra de Boole
 
Introducción a la Gerencia Informática
Introducción a la Gerencia InformáticaIntroducción a la Gerencia Informática
Introducción a la Gerencia Informática
 
Introducción al Lenguaje de Programación
Introducción al Lenguaje de ProgramaciónIntroducción al Lenguaje de Programación
Introducción al Lenguaje de Programación
 
Auditoria de SISTEMAS
Auditoria de SISTEMASAuditoria de SISTEMAS
Auditoria de SISTEMAS
 
Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 
Investigación de Operaciones
Investigación de OperacionesInvestigación de Operaciones
Investigación de Operaciones
 
Proyectos Informaticos
Proyectos InformaticosProyectos Informaticos
Proyectos Informaticos
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.Introducción a la Arquitectura de Computadoras.
Introducción a la Arquitectura de Computadoras.
 
Introducción de Ingeniería de Software
Introducción de Ingeniería de SoftwareIntroducción de Ingeniería de Software
Introducción de Ingeniería de Software
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Inteligencia Artificail
Inteligencia ArtificailInteligencia Artificail
Inteligencia Artificail
 

Recently uploaded

Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Gonella
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx
4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx
4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docxElicendaEspinozaFlor
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Gonella
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO. Autor y dise...
CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO.  Autor y dise...CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO.  Autor y dise...
CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO. Autor y dise...JAVIER SOLIS NOYOLA
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entornoday561sol
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxLa-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxMAURICIO329243
 

Recently uploaded (20)

Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Acuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptxAcuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptx
 
4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx
4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx
4 ÑOS EXPERIENCIA DE APRENDIZAJE 1 (1).docx
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO. Autor y dise...
CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO.  Autor y dise...CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO.  Autor y dise...
CARTEL CONMEMORATIVO DEL ECLIPSE SOLAR 2024 EN NAZAS , DURANGO. Autor y dise...
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entorno
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptxLa-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
La-cosmovision-del-curriculo-educativo-en-Venezuela (1).pptx
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
Unidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la InvestigaciónUnidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la Investigación
 

Proy iker4

  • 1. APLICACIÓN DEL BASIC STAMP: UN SENCILLO RASTREADOR DE LINEAS Aritza Etxebarria ikercv2001@yahoo.es Profesor del Colegio Vizcaya A través del siguiente artículo queremos acercar al lector al mundo de la programación de microcontroladores Basic Stamp de la empresa Parallax. Varios aspectos son los que convierten a este microcontrolador en el ideal para iniciarse en el mundo de la programación de microcontroladores: Sencillez de conexión Frente a otros microcontroladores que requieren de un extenso hardware auxiliar para su funcionamiento (fuente de alimentación, circuito del reloj, circuito de reset, circuito grabador, etc.) las principales versiones del Basic Stamp incorporan toda esta circuitería en el microcontrolador. Sencillez de programación Frente a los lenguajes de bajo nivel utilizados en la mayoría de los microcontroladores, el basic stamp utiliza un lenguaje de alto nivel llamado PBASIC, muy similar al archiconocido BASIC. Asistencia técnica gratuita La empresa Parallax, proporciona soporte para cualquier tipo de duda que pudiera surgir con el uso de sus microcontroladores, desde problemas de programación, conexionado, hasta dudas de electrónica. (stamptech@parallaxinc.com) Para demostrarlo, a continuación vamos a presentar un proyecto para la realización de un robot rastreador de líneas, basado en Basic Stamp. Paso cero: Análisis del problema del robot rastreador. El problema del robot rastreador consiste en realizar un robot autónomo que sea capaz de seguir una línea de color blanco sobre fondo negro. En la mayoría de los concursos de robótica universitarios, se practica esta modalidad. En la siguiente imagen, podemos apreciar un posible circuito muy simple. El robot debe atravesar desde el extremo inicial hasta el final, sin abandonar el camino, en menos tiempo que sus adversarios para conseguir ganar el concurso. Para poder llevar a cabo esta tarea el robot debe tener al menos 2 sensores de reflexión (por ejemplo CNY70) que detectan el color blanco o el negro. Existen múltiples soluciones para llevar a cabo el rastreo, pero nosotros analizaremos la más sencilla tan solo utilizando dos sensores.
  • 2. Los sensores se colocarán en paralelo y uno de ellos deberá ir por la parte blanca del circuito mientras que el otro por la parte negra. Es decir, el robot bordeará la línea. Mientras el robot lea que en el sensor izquierdo el color de la superficie es blanco y en el sensor de la derecha el color es negro, el robot avanzará hacia delante. Sin embargo, cuando el robot encuentre en ambos sensores el color blanco o en ambos sensores el color negro, el robot deberá girar para volver a encontrar el camino deseado que es negro en el sensor derecho y blanco en el izquierdo. Según esta configuración en el cruce que presentamos en la siguiente figura el robot tomaría el camino de la derecha. Analicémoslo paso a paso. Colocamos el robot en la posición INICIO de forma que tenga un sensor en la parte blanca y otro en la parte negra. Al encenderlo, al detectar blanco en el sensor izquierdo y negro en el derecho el robot avanza hasta la posición A. En la posición A el robot detecta blanco en los 2 sensores, y deberemos programarlo para que entonces gire a derecha hasta volver a leer blanco en el sensor izquierdo y negro en el derecho. En ese momento vuelve a avanzar hasta la posición B. En esta posición los sensores leen negro en ambos y entonces debemos programarlo para que gire a izquierda hasta leer negro y blanco. Entonces avanzará hasta el punto C, etc. Primer paso: Elección del Microcontrolador Una vez analizado el problema anterior, observamos que necesitamos programar un microcontrolador para controlar 2 sensores y el movimiento del robot. Para esto último utilizaremos 2 servomotores de rotación continua que tan solo necesitan una entrada de control para su funcionamiento. Por lo tanto, sólo necesitaremos 2 entradas y 2 salidas para realizar nuestro robot. Es importante analizar el número de entradas y salidas que necesitamos a la hora de elegir el microcontrolador, ya que este número es limitado y diferente en cada microcontrolador. Dentro de la familia de microcontroladores de Basic Stamp, existen varias versiones del mismo. Aunque para la iniciación suele recomendarse empezar por el Basic Stamp II, debido a las múltiples herramientas y documentación existente, nosotros lo haremos con el Basic Stamp I, debido principalmente a su menor coste económico. Dentro de los distintos modelos de Basic Stamp I, elegiremos el modelo Basic Stamp I Rev. D por su sencillez de conexión con los periféricos a emplear. Este tiene 8 pines que pueden actuar como entradas o salidas suficiente para manejar las cuatro líneas que necesitamos.
  • 3. Vin Vista superior del Basic Stamp I Rev. D Entrada positiva de la carga sin regular +5V Salida regulada a +5 voltios +5V Salida regulada a +5 voltios P7 Patita 7 del microcontrolador P6 Patita 6 del microcontrolador P5 Patita 5 del microcontrolador P4 Patita 4 del microcontrolador P3 Patita 3 del microcontrolador P2 Patita 2 del microcontrolador P1 Patita 1 del microcontrolador P0 Patita 0 del microcontrolador GND Toma de tierra GND Toma de tierra GND Toma de tierra Cuadro 1: Conexiones del BSI Rev.D Además esta pequeña placa contiene el circuito grabador, posibilidad de debug en tiempo real, rectificador de corriente a 5 voltios, modulación de pulsos, etc. Segundo paso: Diseño del robot rastreador Un error muy típico a la hora de diseñar un micro robot es menospreciar el diseño de la parte mecánica del mismo y centrarse únicamente en la parte electrónica y programación del mismo. El tamaño y tipo de las ruedas, los motores empleados, el anclaje de estos sobre el chasis del robot, las pilas empleadas, todo influye sobre la solución final del proyecto y cualquier fallo puede hacernos fracasar en el intento. Para montar la estructura del robot, proponemos construir un pequeño armazón de madera donde encajaremos los 2 motores (servomotores de rotación continua), los 2 sensores de reflexión, el Basic Stamp I Rev. D y las pilas. Estos son los componentes que vamos a utilizar: LISTA DE COMPONENTES Componente Unidades Precio Unitario Aprox. Basic Stamp I Rev. D. 1 47,00 € Servomotor Parallax de 2 18,00 € rotación contínua Sensor de reflexión MSE2 8,00 € S110.1 Portapilas de 4 pilas de 1,5v 1 0,60 € Conector Molex 12 pines 1 0,15 € hembra CD 8 cms. 2 1,20 € Rueda loca 1 1€ Material diverso (Conectores varios, tornillos,…)
  • 4. Con la ayuda de una sierra y un taladro confeccionaremos la estructura en madera del robot donde alojaremos los motores con tornillos de métrica 2. Es muy importante que los motores estén perfectamente anclados a la estructura. Para unir las distintas tablas podemos usar un pegamento de pegado rápido. Un posible ejemplo se observa en la siguiente fotografía: Tras tener los servomotores perfectamente sujetos a la estructura, incorporamos los sensores de reflexión mediante 2 tornillos, en la parte delantera de la estructura. La distancia entre ambos, no debe ser superior a la anchura mínima de la línea a seguir. A continuación colocamos una tapa a la estructura de madera con 3 agujeros. Uno grande para pasar los conectores de los servos, y otros 2 para atornillar el Basic Stamp I rev. D a la estructura.
  • 5. A continuación realizamos las distintas conexiones necesarias según el programa diseñado. Para los conectores del BStamp podemos usar un conector molex de 12 pines colocado de forma que sobren dos de los 3 pines de tierra. Así las conexiones serían las siguientes: Servomotor izquierdo Servomotor derecho Sensor izquierda ROJO = Vin NEGRO = GND BLANCO = PIN7 del BStamp ROJO = Vin NEGRO = GND BLANCO = PIN6 del BStamp 1 = +5v 2 = GND 3 = PIN1 del BStamp Sensor derecha 1 = +5v 2 = GND 3 = PIN0 del BStamp
  • 6. Por último creamos las ruedas del robot. Para conseguirlas, proponemos pegar el conector que viene junto al servomotor a 2 CDs de 8 centímetros con un adhesivo como Loctite y rodear el CD con una goma para que no patinen las ruedas. (Por ejemplo pegando la goma de una alfombrilla de ratón alrededor del CD). Y colocamos una rueda loca en la parte trasera del micro robot que servirá de apoyo. El resultado final podría ser algo parecido al que presentamos en la siguiente fotografía: Cuarto paso: Programación del robot Una vez construido el robot, vamos a meternos con la programación del mismo. Lo primero que haremos será construir el cable de programación necesario para comprobar el perfecto funcionamiento del basic stamp con el que confeccionaremos nuestro primer programa. Creación del cable de programación El Basic Stamp I se programa por el puerto paralelo mediante un cable especial que también puede adquirirse por el precio aproximado de 18 Euros. Sin embargo proponemos crear dicho cable para abaratar costes. La construcción del cable es muy sencilla, simplemente hay que seguir el siguiente esquema: Busque este símbolo en la placa del BSTAMP I
  • 7. Prueba del microcontrolador Una vez creado el cable, es imprescindible bajarse de internet (www.parallax.com) el editor de Basic Stamp I, programa desde el que programaremos el microcontrolador. El programa funciona bajo MSDOS, y puede que dé algún problema a los usuarios de Windows XP, sin embargo con otras versiones de windows, funciona perfectamente. Una vez ejecutado el editor, conectamos el cable con el Basic Stamp observando el símbolo >> serigrafiado en la placa, alimentamos el Basic Stamp con las pilas y teclearemos el siguiente programa: debug “Hola mundo, soy tu Basic Stamp” A continuación pulsaremos ALT + R y observaremos el resultado en pantalla. ¡El Basic Stamp nos habla! ¿Cómo que no nos habla? Si en la pantalla de su ordenador no viese el mensaje en cuestión, revise el cable de programación creado, y revise que el Basic Stamp esté correctamente alimentado. Pero si por el contrario lee el mensaje en pantalla, ¡Enhorabuena! Acaba usted de ejecutar su primer programa sobre el Basic Stamp. Existen múltiples manuales de programación en el sitio web de parallax pero en la bibliografía le recomendamos otra web donde encontrará los manuales de parallax en castellano. Pasemos ahora, a otra fase de la programación Leyendo los sensores Los sensores, los tenemos colocados en las patitas 0 y 1 del microcontrolador. Lo primero que debemos hacer es indicarle al controlador que esas patitas van a ser de entrada. Para ello utilizaremos la instrucción input de la siguiente manera: INPUT 0 INPUT 1 ‘ El pin 0 del Basic Stamp actuará como ENTRADA ‘ El pin 1 del BStamp actuará como ENTRADA Fíjese que tras la instrucción hemos añadido dos comentarios con el símbolo apóstrofe por delante. A continuación leeremos la entrada de cada pin y la mostraremos con el comando debug en un bucle infinito: INPUT 0 ‘ El pin 0 del Basic Stamp actuará como ENTRADA INPUT 1 ‘ El pin 1 del BStamp actuará como ENTRADA Leer: ‘ Etiqueta para el bucle infinito DEBUG pin0,pin1 ‘Mostramos en pantalla el estado del pin 0 y 1 PAUSE 500 ‘ esperamos medio segundo (500 milisegundos) GOTO Leer ‘Saltamos a la etiqueta Leer para repetir el ciclo ‘ de forma indefinida Al pulsar ALT + R nos aparecerá en pantalla el estado del pin0 y el pin 1. Si colocamos en un folio un trozo de cinta aislante negra y vamos variando la posición de los sensores sobre el folio y la cinta aislante observaremos en pantalla los distintos valores de los
  • 8. sensores. La altura a la que deben estar los sensores con respecto a la superficie a leer debe ser aproximadamente (varía con la iluminación empleada) de medio centímetro. Ahora, en cuanto sepamos como mover los servos, podremos crear el programa rastreador. Moviendo los servos Para mover el robot hemos seleccionado 2 servomotores de rotación contínua que distribuye la empresa parallax. Estos motores se caracterizan por tener una circuitería auxiliar que permite que con una única señal de pulsos electrónicos controlemos el movimiento del motor. Así nos ahorramos la etapa de potencia que deberíamos usar con otros motores y ganamos en sencillez de diseño. Pero basta de teoría. Empecemos a mover el robot. Dependiendo de la señal que enviemos al servomotor conseguiremos un movimiento u otro. Para crear una señal de pulsos electrónicos el Basic Stamp dispone de una instrucción llamada PULSOUT. No nos vamos a extender con el funcionamiento de los servos. Simplemente indicaremos a continuación un programa que controla el movimiento de los servos. Al poner los dos servomotores enfrentados, si mandamos la misma señal a los servomotores, girarán en sentido contrario y si mandamos señales distintas girarán en el mismo sentido. Veámoslo y comprobémoslo con el ejemplo. ‘Pruservo.bs2 ‘Programa para la prueba de servos SYMBOL MotorIzq = 7 ‘El motor de la izquierda lo conectamos al pin7 SYMBOL MotorDer = 6 ‘El motor de la derecha lo conectamos al pin6 ‘La instrucción SYMBOL se utiliza para declarar variables y constantes OUTPUT MotorIzq ‘Configuramos la patita 7 como salida OUTPUT MotorDer ‘Configuramos la patita 6 como salida FOR B0 = 1 TO 20 ‘Para observar el movimiento del robot ‘mandamos la señal durante 20 impulsos PULSOUT MotorIzq,300 ‘Con el parámetro 300 en el motor izq ‘conseguimos que este avance rápidamente PULSOUT MotorDer,1 ‘Y el motor derecho avanza cuando mandamos un ‘1 pulso de 10 microsegundos PAUSE 20 ‘Y al avanzar los dos motores, el robot avanza NEXT FOR B0 = 1 TO 20 ‘El motor izquierdo sigue avanzando PULSOUT MotorIzq ,300 ‘ pero al mandar la señal contraria al servo PULSOUT MotorDer , 300 ‘ derecho, este retrocede. PAUSE 20 ‘ Y así al avanzar una rueda y girar la otra NEXT ‘conseguimos que el robot gire Para aprender más sobre el movimiento y control de los servomotores no dude en consultar la bibliografía indicada al final del artículo. En caso de no conseguir el efecto deseado cambie las constantes en la instrucción PULSOUT hasta conseguirlo. Con cambiar el 1 por 300 y viceversa, debería ser suficiente. Una posible solución Si integramos todos los aspectos analizados a través de todo el artículo, y con un poco de conocimiento del lenguaje PBASIC, podríamos llegar fácilmente a una solución muy parecida a esta:
  • 9. '*************************************************************** '* Programa de control de robot * '* para Basic Stamp Rev D. * '* AUTOR: Aritza Etxebarria 2.003 * '*************************************************************** '======================= ' Asignaci¢n de patitas '======================= symbol p0 = pin0 'Pin0 conectado al detector de l¡nea der symbol p1 = pin1 'Pin1 conectado al detector de l¡nea izq symbol MotorIzq = 7 'Conectado al servomotor izquierdo symbol MotorDer = 6 'Conectado al servomotor derecho '================================= ' Constantes de control de Servos '================================= symbol Avizq = 300 'Hace avanzar el servomotor izquierdo symbol Reizq = 1 'Hace retroceder el servomotor izquierdo symbol AvDer = 1 'Hace avanzar el motor derecho symbol ReDer = 300 'Hace retroceder el motor derecho '=========== ' Variables '=========== symbol pulsos = b0 'Para el control del bucle de los motores symbol lectura = b1 'Para almacenar el estado de la lectura '================ ' Inicializaci¢n '================ input p0 'p0 y p1 son entradas input p1 'de los sensores de reflexion output MotorIzq 'El Motor izquierda es de salida output MotorDer 'El Motor derecha es de salida '==================== ' Programa principal '==================== Principal: GOSUB LeeSensores 'Leemos el estado de los sensores Continua: ' En fucnci¢n de dicho estado nos encontramos en una superficie u otra ' y actuamos en consecuencia BRANCH lectura, (BlancoBlanco,BlancoNegro,NegroBlanco,NegroNegro) GOTO Principal 'Repetimos el bucle indefinidamente '==================== ' Rutinas auxiliares '==================== NegroNegro: for pulsos = 1 to 5 ‘Hacemos girar el robot a izquierda pulsout MotorDer,AvDer pulsout MotorIzq,ReIzq pause 20 next GOTO Principal NegroBlanco: for pulsos = 1 to 5 ‘Hacemos girar el robot a derecha pulsout MotorDer,ReDer pulsout MotorIzq,AvIzq pause 20 next GOTO Principal BlancoNegro: ‘El robot avanza pulsout MotorIzq,AvIzq pulsout MotorDer,AvDer pause 20 GOTO Principal BlancoBlanco: ‘El robot gira a derecha for pulsos = 1 to 5 pulsout MotorDer,ReDer pulsout MotorIzq,AvIzq pause 20 next GOTO Principal '================================================================== 'Esta rutina devuelve en una variable el estado de los bits p0 y p1 '================================================================== LeeSensores: lectura = p1*2 + p0 ‘ Convierte los bits en valor decimal RETURN ' Vuelve al programa principal
  • 10. Si introducimos esta solución en el robot, este se encontrará listo para seguir la línea que usted le marque. ¡Adelante¡ Constrúyase su propio circuito de pruebas y trate de depurar el programa hasta conseguir mejores velocidades. ¿Quiere entretenerse más? A continuación le presentamos posibles mejoras del robot y/o transformaciones: -Añadir un interruptor de encendido/apagado. -Añadir un switch y modificar el programa para que el robot vaya por los caminos de la derecha o la izquierda. Cuando se concursa con un robot rastreador, siempre suele haber un camino mejor que el otro. Si nosotros solo programamos el robot para que elija el camino de la derecha (como en nuestro ejemplo) corremos el riesgo de que el mejor camino sea el de la izquierda. Por eso sería interesante añadirle un switch al robot para que en función del switch, siga siempre el de la izquierda o siga siempre el de la derecha. -Modificar el robot para ser un luchador de sumo. Una vez superada esta fase del robot rastreador, intente crear un robot luchador de sumo. Parallax dispone de un robot de lucha sumo llamado Sumobot, cuyo manual de ensamblaje y programación puede bajarselo gratuitamente de la web de parallax junto con las reglas de este concurso. -Conseguir mejores giros del robot, utilizando más sensores. Si utiliza más sensores podría determinar el tipo de giro que debe dar el robot: Muy cerrado, poco cerrado, etc. Modifique el robot para que detecte cada tipo de giro y haga que las ruedas giren de distinta forma dependiendo del tipo de giro, de forma que optimice el tiempo empleado en el circuito. -También puede ahorrarse algo de dinero si en vez de usar los sensores de reflexión MSES110.1 los confecciona usted mismo siguiendo el siguiente esquema de conexionado de los CNY70 Bibliografía recomendada: www.parallax.com o www.stampsinclass.com sitio web oficial de la empresa parallax, con extensos manuales, catálogos de productos, software, todos ellos gratuitos. www.cursoderobotica.com.ar Dentro de la sección libros encontrará una serie de manuales en castellano que le ayudarán de una forma muy sencilla a introducirse en la programación de estos microcontroladores, creación de robots, … www.microcontroladores.com Distribuidor en España de los microcontroladores Parallax y de los sensores utilizados.