Sensor de infrarrojos CNY70 como entrada digital. El dispositivo CNY70 es un sensor óptico infrarrojo, de un rango de corto alcance (menos de 5 cm !ue se utili"a para detectar colores de o#jetos $ super%cies. Su uso m&s com'n es para construir pe!ueos ro#ots siguel)neas. Contiene un emisor de radiación infrarroja *fotodiodo* $ un receptor *fototransistor*. *fototransistor*. El fotodiodo emite un +a" de radiación infrarroja, el fototransistor reci#e ese +a" de lu" cuando se reeja so#re alguna super%cie u o#jeto. -ependiendo de la cantidad de lu" reci#ida por el fototransistor el dispositivo env)a una seal de retorno a rduino. El sensor CNY70 /uede utili"arse como entrada digital o analógica. En este ejemplo se +a utili"ado como entrada digital para distinguir dos colores #lanco o negro. Cando el sensor est& orientado +acia una super%cie u o#jeto de color negro 1ste a#sor#e gran parte de la lu" lu" emitida por el diodo. Entonces Entonces el sensor enviar& un valor alto (2342 6 a rduino. rduino. su ve" cuando el sensor se sit'a so#re una super%cie u o#jeto de color #lanco gran parte de la lu" emitida por el diodo ser& reejada al fototransistor. fototransistor. Entonces, el sensor enviar& un valor alto (89* 0 a rduino. El CNY70 tiene cuatro terminales. /ara distinguir los terminales a %n de poder +acer el cone:ionado correctamente, correctamente, tienes !ue colocar el sensor con la parte del fotodiodo $ del fototransistor +acia arri#a $ los terminales +acia a#ajo. dem&s, la cara del sensor !ue est& serigra%ada con el nom#re del dispositivo +a de estar situada en tu derec+a, tal $ como se muestra en la siguiente imagen. ;na ve" identi%cados los terminales +a$ !ue reali"ar el cone:ionado a la proto#oard $ a rduino. rduino. Este es!uema te servir& para +acer correctamente correctamente las cone:iones. El pin de rduino !ue se +a usado en este programa ejemplo es el <. /uedes conectarlo a cual!uier otro pin digital.
El sensor vimos en el caso de
CNY70 puede utili"arse como entrada digital, como art)culo anterior o como entrada analógica. En el entrada digital el sensor puede distinguir entre dos colores. En el caso de entrada analógica, el sensor devuelve valores entre 0 $ 60=>, como cual!uier otro sensor conectado a una entrada analógica de
rduino. El siguiente programa est& preparado para !ue se pueda compro#ar, a trav1s del puerto serie de rduino, los valores !ue devuelve 1ste en función del color de la super%cie u o#jeto al !ue est1 orientado el sensor. ;na ve" conocidos !u1 valores devuelve el CNY70, se podr&n disear otros programas !ue puedan distinguir diferentes colores. Se podr& o#servar !ue los valores devueltos por el sensor var)an sensi#lemente en función de la distancia !ue +a$a entre el sensor $ la super%cie u o#jeto so#re el !ue est1 orientado. /or eso, para tener una medida m&s precisa de los valores, se aconseja colocar el CNY70 de forma !ue la distancia entre 1l $ la super%cie so#re la !ue se desea determinar el color permane"ca constante. C8?N@A;CC38N -E BSE -E A8B8@. Esta parte del proyecto es muy importante ya que de ella depende la movilidad del robot así como de su rigidez para soportar los elementos electrónicos que posteriormente se integrarán a el. Se eligió como soporte un pequeño trozo de acrílico de 3mm de espesor y aproximadamente 2cm de largo y !cm de anc"o# el acrílico es muy $ácil de mane%ar de "ec"o se puede cortar con un cutter y una regla repasando varias veces sobre el. La rueda loca &llamada
graciosamente así' es una rueda igual a la que usan los carritos de supermercado y las sillas de o$icina &igual en concepto( no $ísicamente' esta tiene un movimiento libre de 3)* que $acilita los giros del robot# la rueda loca implementada en este proyecto $ue construida con piezas de mecano y una llanta de tambi+n se pueden encontrar en robótica unas muy bonitas y no continuación muestro una $oto de la rueda.
un carrito de %uguete# pero tiendas de electrónica o tan pesadas. ,
- por ltimo pero no menos importante la parte de tracción del robot# constituida por los dos moto/ reductores y sus respectivas ruedas( cada uno de estos puede ser controlado independientemente
y son los que le dan dirección al robot( cabe destacar que si uno gira en sentido opuesto al otro respectivamente se puede obtener un giro de 3)* sobre el e%e del robot( lo que permite un amplio rango de movimiento. Este es el aspecto $inal de la construcción del c"asis del robot seguidor de línea que "emos bautizado BICHIBOT.
-3SE8 -E -A3DEA /A 8S 8@8AES. En esta etapa de la construcción del robot BICHIBOT trata sobre el diseño de un controlador bidireccional para motores de corriente directa( que está constituido de un 0ircuito 1ntegrado 234. El 234 &datas"eet' es un driver de 5 canales capaz de proporcionar una corriente de salida de "asta !, por canal. 0ada canal es controlado por señales de entrada compatibles 66 y cada pare%a de canales dispone de una señal de "abilitación que desconecta las salidas de los mismos. 7ispone de un pin para la alimentación de las cargas que se están controlando( de $orma que dic"a alimentación es independiente de la lógica de control. a siguiente imagen describe la conexión básica de un motor al driver y en la tabla se muestra las señales de control( 89s es el pin de alimentación de los motores.
a conexión del circuito aparece en el siguiente diagrama esquemático( los motores se conectan a los pines :;6! y :;62 para el primer motor y :;63 y :;65 para el segundo. os diodos &!<5!5=' que van conectados a los motores son de protección contra sobrecorrientes de retorno debido a la conmutación de las bobinas de los motores# evitando así un sobrecalentamiento o posibles daños al driver.
El diagrama incluye un regulador de volta%e ?=@( podemos descartarlo en el diseño ya que la placa de arduino cuenta con un regulador y pines que entregan 3.39 y @9 pero si se desea incluir algunos componentes extras es recomendable alimentarlos mediante la salida de este regulador para no sobrecargar al ,rduino.
/A84A /A E A8B8@. El programa "ec"o para este robot es muy básico y puede ser modi$icado para me%orar el control del robot( se puede agregar auto a%uste de sensibilidad a la luz de los sensores( medidor de nivel de batería( algn sonido o cualquier otra cosa til en el desempeño del robot. int Sen! A # int Sen2 A !# int Sen3 A 2# int Sen5 A 3# int Sen@ A 5#
BBExtremo izquierdo BB1zquierdo BB0entro BB7erec"o BBExtremo 7erec"o
int 9al! A # BB 9alor de los sensores int 9al2 A # int 9al3 A # int 9al5 A # int 9al@ A # BB0ontrol de los motores int ,zul A )# int Cris A # int 0a$e A !# int
int 9el A 2@@# void setup&' pinFode&,zul( :;6G;6'# pinFode&Cris( :;6G;6'# pinFode&0a$e( :;6G;6'# pinFode&
analogLrite&,zul( '# analogLrite&Cris( '# analogLrite&0a$e( '# analogLrite&
analogLrite&
SENS8AES /A -E@ECC38N -E 3NE. ,quí se describe la construcción del sensor que está constituido de @ OI7!!!5 &pueden utilizar 0<-? o algn otro sensor óptico/re$lectivo' Gara la polarización de estos es necesario un resistor de 22 o"m y uno de 5.?Po"m y los conectaremos como se muestra en el circuito. 9+ase datas"eet OI7!!!5.
El diagrama anterior representa la conexión de un solo sensor# es necesario repetir @ de estos circuitos. a linea que indica S,17, es el volta%e que entregara el sensor( que es proporcional a la cantidad de luz re$le%ada por alguna super$icie y recibida por el $ototransistor. En este caso se "an acomodado los QRD1114 de la siguiente manera# pero si asi se cree conveniente se pueden agregar u omitir sensores.
;na vez montado el circuito y polarizado se puede comprobar que todos los E7s in$rarro%os de los QRD1114 encienden mediante una cámara digital &podemos usar la de nuestro celular' y se verán con una luz en un tono violeta.
Gara asegurarnos que los $ototransistores de los QRD1114 están traba%ando correctamente deberemos comprobar el volta%e de las salidas. 0on una super$icie re$lectante &un trozo de papel blanco' deberemos obtener un volta%e superior a 3 volts aproximadamente# en ausencia de algn ob%eto que re$le%e la luz in$rarro%a emitida por los E7s mediremos aproximadamente ! volt( este valor puede variar dependiendo de la luz del ambiente en el que estemos traba%ando( aspecto que debe ser considerado en la programación del robot. 0on esto "emos terminado la parte electrónica y mecánica de nuestro robot( resta conectar todo a nuestro ,rduino y comenzar con la programación.