SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                        Cur so 201 1 - 20 12




                     ROBOT
                  SEGUIDOR
                   DE LINEA
                                    Sistemas de Telecomunicación e I nformática
                                                     Claver o Car rascull, Car los
                                                        Rodríguez Grot a, David
                                                               Curso 2011 -2012




Cl aver o Carr as cu ll, C arl os
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                                 Cur so 201 1 - 20 12




Índice
1.- Introdu cció n ....................................................................................... 1

          1.1.- Pres enta ción ......................................................................... 1

          1.2.- Moti vaci o nes ......................................................................... 1

          1.3.- Obje tivo s ............................................................................... 1

2.- Desarr ollo de u n rob ot seg uidor de línea ........................................ 2-24

          2.1.- Conc eptos bás icos ............................................................. 2-7

                    2.1.1 .- I ntrod ucció n a Arduino .......................................... 2-4

                    2.1.2 .- I ntrod ucció n a la programaci ón Arduino ................. 5-7

          2.2.- Prác tica ............................................................................ 8-24

                    2.2.1 .- Co mponen tes del chasi s ........................................ 8-9

                    2.2.2 .- Co mponen tes electróni cos .................................. 10-12

                    2.2.3 .- P rimer os p rogramas ........................................... 13-18

                    2.2.4 .- S eguim iento del proyecto ....................................... 19

                    2.2.5 .- P roble mas y soluciones ...................................... 20-24

3.- Result ados y es tadí s ticas .............................................................. 25-28

          3.1.- Robot fin aliz ado .............................................................. 25-26

          3.2.- Pres upues to ........................................................................ 27

          3.3.- Mejo ras futur as ................................................................... 28

4.- Anexo ........................................................................................... 29-31

          4.1.- Prog rama y co nexi ones f inal es ......................................... 29-30

          4.2.- Web g rafí a ........................................................................... 31




Cl aver o Carr as cu ll, C arl os
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                    Cur so 201 1 - 20 12




1. Introducción
1.1. Presentación
El proyect o ha sid o re ali zado p or Ca rlos Clavero Carrascul l y David Rodr íguez Grot a,
del Centr o de Estud ios STUCOM, de l segundo curso de CFGS de Sistemas de
Telecomunic acio nes e I nformá tica . Este consta de una parte práctica, la cual es la
realizació n de un robo t seguid or de l ínea, de un inf orme donde se expli can todos los
pasos seg uido s e n e l pr o ceso de construcción del robot , de un CD que almacena videos,
fotografí as y datos de pr uebas y procesos realizados y una presentación en PowerPoi nt
con una br eve expl icac ió n del des arrol lo de este pr oyect o.

1.2. Motivaciones
En pr imer lug ar hemos d ecidid o r eali zar est e pr oyecto porque uno de los motivos por l os
que empezamo s es te cu r so de CF GS de Sist emas de Tel ecomunicaciones e Informát ica
es la realizac ión de un r o bot a l fi nal de curso.

En segun do luga r este proyect o nos permití a poner en práctica algunos de los
conoci mien tos adqu irid os dura n te este curso.

Otra de l as mot ivaci ones que nos impulsaron a cr ear un robot, es ponernos a prueba a
nosotr os m ismo s de most rando que somos capaces de ent ender y llevar a la pr ácti ca la
aplicación de dif eren tes elemen tos electrónicos .

Finalmente una pres ente motiv ació n fue ver si conseguíamos desarrollar el código de
programació n n eces ario , ya q ue, est e er a un aspecto bastante complej o por nuestra
parte deb ido a n u estr os c onocim ient os.

1.3. Objetivos
Mínimos:

    -    Robot r astr eado r de una línea (Placa Ar duino, 2 LDR, 2 leds y 2 servomotores)
         con e l mín imo pres upues t o posible.

El robot dis pond rá de s e nsores qu e deberán capt ar la intensidad de luz , principalmente
el proce sado r inte rpre t ar a los estímulos de esta manera. Cuando del robot este
encendido deber á se guir o bie n , una línea bl anca o negr a en el suelo. El procesador de
alguna man era debe rá c a ptar e in terpretar por separado cada est imul o de l uz .

Máximos:

A part e de l a c arac terí s tica a nter ior , si hay tiempo y presupuesto suficiente el r obot
deberá hac er t ambi én:

    -    Robot que inte rpre te u n s onido.
    -    Robot rast read or l uz ( LD R).
    -    Conect ar u na p anta lla qu e muestre cuando esta encendi do o apagado.


Cl aver o Carr as cu ll, C arl os                                                     Pá gin a 1 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




2. Desarrollo de un robot seguidor de línea
2.1. Conceptos básicos
2.1.1. Introducción a Arduino:

¿Qué es Ard uino?




Arduino es una pl aca cre ada p ara el aprendizaje y la intr oducción a la pr ogramación e
implementac ión en le m undo f ísic o. Es una plataforma de desar roll o de comput ació n
física de cód igo ab iert o, basada en una placa con un sencillo micro controlador y un
entorno de des arro llo par a crea r so ftware para la placa.

Puedes usa r Ar duin o p ara cr ear objetos int er activos, leyendo datos de una gr an
variedad de in terr upto re s y sens ores y cont rolar multitud de tipos de luces, motores y
otros actu ador es f ísic o s. Los proyect o s de Arduino pueden ser autónomos o
comuni carse c on un pr og rama (so ftwar e) que se ejecut e en tu ordenador. El lenguaje de
programació n d e A rdui no es un a implementa ción de Wiring, una plataf orma de
comput ació n físic a pare cida, qu e a su vez se basa en Processing, un entorno de
programació n mul timed ia , este lenguaje de progr amación es pareci do al lenguaje C o
C++.

¿Por qué us ar Ar duino ?

Arduino, adem ás de sim plifi car e l proceso de t r abajar con micro cont roladores , ofrece
algunas ve nta jas r espe ct o a o tros sistemas a prof esores, estudi antes y amateurs:

     Asequi ble: Ardui no UNO es asequibl e en cuanto a precio. La pl aca con el cable
      USB est a en tre los 30 a 40 €. El soft ware necesario para la programaci ón es
      gratu ito      y      se     p uede       descargar    desde     la       pagi na    ofici al
      http: //ar duin o.cc /es/ Main / Software
     Multip lata for m a: El so ftw are uti lizado para Ardui no es multi plat afor ma, funciona
      en lo s si stema s op erat ivo s Windows, Maci ntosh OSX y Linux.
     Entorn o de prog ramac ió n simpl e y directa: El entorno de programación de
      Arduin o es fácil d e usar para principi antes y lo sufici en temente f lexi ble para los
      usuari os a vanz ados .
     Softwa re ampl iabl e y de código abier to: El software Ardui no esta publi cado bajo
      una l icen cia libr e y prepar ado para ser ampliado por pr ogramadores
      experi ment ados .

Cl aver o Carr as cu ll, C arl os                                                       Pá gin a 2 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




     Hardwar e am plia ble y d e Códi go abier to: Los pl anos de los módulos están
      public ados baj o li cenci a Creati ve Commons, por l o que diseñador es de cir cuitos
      con exp erie ncia pued en hacer su pr opia versión del módulo, ampliándolo u
      optimi zánd olo.

Componentes de l a pl aca Ardu ino UN O:




    -    AREF (V erde clar o ): T e rminal de referencia analógica. Refer enci a de voltaje
         para las entra das anal ógi cas.
    -    GND (Na ranja ): T oma d e tier ra
    -    Pines 2-13 (Azu l cl aro) : Terminales digital es
    -    Pines 0- 1 (Amari llo ) : Te rminal es digital es E/S serie - Tx/Rx. Estos pines no se
         pueden ut iliz ar c o mo e /s digit ales si se esta util izando comuni caci ón en seri e.
    -    Reset (Blan co): Botó n d e rei nici o
    -    ICSP (Azu l oscur o ): " In-cir cuit Serial Programmer"/Programador seri e en
         circui to
    -    ATMEGA328P-PU (Roj o) : Micr ocontrol ador ATMEGA328P -PU
    -    Pines 0-5 (Gri s os curo ) : Termi nales de ent rada analógica
    -    Pines 3.3V , 5V , Vi n ( Ma r rón): Termi nales de alimentación.

         Vin (a ve ces mar cada c omo "9V"), es el vol taje de entrada a la placa Arduino
         cuando se es tá ut iliz and o una fuente de al iment ación exter na (En comparación
         con lo s 5 vo lt ios de la co nexión USB o de otr a f uente de al iment ación regul ada).
         Puedes pro porc iona r vo lt aje a través de este pin.




Cl aver o Carr as cu ll, C arl os                                                       Pá gin a 3 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                     Cur so 201 1 - 20 12




    -    Pin Res et ( G ris claro ): Se pone a LOW para reset ear el microcontr olador .
         Utiliz ada típ icam ente pa r a añadir un bot ón de reset a shi elds qu e bloquean el de
         la pl aca prin cipa l.
    -    Entrada de alim enta ción ( Rosa ): Entrada de al imentación exter na
    -    USB (V erde oscu ro ): En trada USB uti lizada para subi r progr amas a l a pl aca y
         comuni caci ones serie e ntre l a placa y el ordenador; puede ut ilizarse como
         alimen taci ón.




Cl aver o Carr as cu ll, C arl os                                                      Pá gin a 4 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                          Cur so 201 1 - 20 12




2.1.2. Introducción a la programación de Arduino

Este apar tado pre tend e explic ar la progr amación más bási ca que se necesitar ía saber
crear prog ramas sen cill o s en A rdui no UNO .

Para emp ezar anal izare mos la es tructura de un sketch (códi go de progr amaci ón). L a
estructura b ásica d el le nguaje d e progr amaci ón de Arduino es bastante simple y se
compone de a l meno s do s secto res. Estos dos son necesarios ya que enci erran bloques
que conti enen dec larac io nes, estam entos o inst rucciones.

 v o id s e t u p( ) {              En donde “setup( )” es la parte encargada de recoger la
         e s ta m e n t o s;        confi guración y “loop() ” es la que cont ienen el programa que
         }
 v o id l o o p () {                se ej ecut ará cíclicament e .Ambas f unci ones son necesarias
         e s ta m e n t o s;        para q ue el programa t rabaje.
 }
                                                                         void setup(){
                                La funci ón de configuración
                                                                         pinMode(pin, OUTPUT);
                                ( “setu p”) debe cont ener la            // configura el 'pin'
declar ació n de la s va ria bles. Es la primer a f unción a             como salida
ejecutar en el pr ogram a, se e jec uta sólo una vez. Se                 }

utili za para ini cial izar l os mo dos de trabajo de los
pines o d el p uert o se rie.

La funci ón buc le ( “lo op”) siguien te contiene el código que se ejecutara continuamente
(lectura de entra das,
activación de sal idas ,         void loop() {
                                 digitalWrite(pin, HIGH); // pone en uno (on,
etc.) Esta fu nció n es el       5v) el ´pin´
núcleo de todo s lo s            delay(1000); // espera un segundo (1000 ms)
programas de A rdui no y         digitalWrite(pin, LOW); // pone en cero (off,
                                 0v.) el ´pin´
la que real iza la ma yor
                                 delay(1000);
parte del tra bajo .             }

Una vez comp rend ida la
estructura de la progr am ación proc edemos a est udiar las funciones básicas.

Una función e s un bl oqu e de cód igo que tiene un nom bre y un conjunt o de estamentos
que son ej ecut ados cuan do se llama a la función. Son f unci ones “set up()” y “loop()” de
las que ya se ha habl ad o. La s f unci ones de usuario pueden ser escr itas para realizar
tareas repet itiv as y para reducir el tamaño de un programa. Las funciones se declar an
asociadas a un t ipo de v alor . Es te val or será el que devolver á la función, por ejemplo
“int” , que se u til izará cua ndo la fu nción devuelva un dato numéri co de t ipo entero. Si la
funci ón no devue lve nin gún valor entonces se colocar á delante la palabra “void” , que
signi fica fu nció n vacía . Despué s de declarar el ti po de dato que devuel ve la función se
debe esc rib ir el no mbre de la fun ción y entr e par éntesis se escribirán, si es n ecesario,
los paráme tros que se de ben pa sar a l a función para que se ejecute.

Ahora pasar emos a expl icar la s normas básicas de la pr ogramación en Arduino, que
siempr e se ten drán en cu enta para no ocasionar errores de códi go.

Las llaves ({ }) si rven p ar a de fin ir el principio y el final de un bl oque de instrucciones.
Se ut ilizan p ara los bloq u es de programación “setup()”, “loop()” , “i f”, etc.


Cl aver o Carr as cu ll, C arl os                                                           Pá gin a 5 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




Una llave de a pert ura ({ ) siempr e debe ir seguida de una l lave de cierre ( } ) , si no es así
el programa dará err o res. E l ent orno de pr ogramación de Ar duino incluye una
herramient a de gra n ut ilida d pa ra comprobar el total de l laves. Sól o tienes que
selecciona r en el p unto d e inse rció n de una llave abier ta e inmediatament e se mar ca el
correspond ie nt e ci erre de ese bloq ue ( ll ave cer rada).

El punto y coma ( ;) se uti liza par a separar inst rucciones en el lenguaje de programación
de Arduino . Ta mbié n se u tiliz a pa ra separ ar elementos en una i nstr ucci ón de tipo bucle .

Olvidarse de pone r fin a una lín ea con un punto y coma se t raduci rá en un error de
compil ació n. El tex to d e error puede ser obvi o, y se ref erir á a la falta de una coma, o
puede qu e no. Si se pr od uce un error raro y de di f ícil d et ecci ón lo pr imero que debemos
hacer es c ompro bar q ue los puntos y comas están colocados al f inal de las
instruccio nes.

Los bl oque s de comen tar ios, o mult i -l ínea de comentar io s, son áreas de texto ignorados
por el pro grama q ue se utili zan para las descri pcion es del código o comentar ios que
ayudan a c ompre nder e l programa . Comienzan con “/*” y terminan con “ */” y pueden
abarcar va rias lín eas.

Una línea de c omen tari o empiez a con “ //” y termi nan con l a siguiente lí nea de códi go. Al
igual que los come ntar io s de b loque, los de l ínea son ignora das por el programa y no
ocupan esp acio en la m e moria.

Una vez ente ndid o to do lo ant erio r procedemos a hacer una expli caci ón básica de las
variables y su dec lara ció n.

Una variab le es u na m a nera de n ombr ar y almacena r un
                                                                           int
valor numé rico par a su u so po ster ior por el progr ama. Como           variableEntrada =
su nombre indi ca, l as var iables so n n úmeros que se pueden             0; // declara una
variar cont inuam ente e n contra d e lo que ocur r e con las              variable y le
                                                                           asigna el valor 0
constantes cu yo valo r nu nca cambi a. Una vari able debe ser             variableEntrada =
declar ada y, o pcio nalm en te, a sign arle un valor.                     analogRead(2);

Las variab les deben tom ar nomb res descrip t ivos, para hacer
el código m ás le gibl e, p ara ay udar al pr ogramador y a cualquier otr a per sona a leer el
código y ente nder lo que repres enta la vari able.

Todas las va riab les ti en en que decl ararse antes de que puedan ser util izadas. Para
declar ar un a var iab le se comien za por def inir su t i po como “int” ( entero), “ long” (largo),
“float” (coma fl otan te) , et c. a sign ándoles siempre un nombre, y, opcionalmente, un valor
inici al. Est o sólo deb e ha cerse una vez en un programa, per o el valor se puede cambi ar
en cualqu ier m oment o us ando a ritm ética y reasignaciones di versas.

Una variab le p uede ser d eclara da e n una serie de lugare s del pr ograma y en función del
lugar en do nde se ll ev e a cab o la defi nición esto determinar á en que part es del
programa s e po drá hacer uso de e lla.

Una var iabl e pued e se r dec la rada al inicio de l programa antes de la part e de
confi gurac ión “set up()” , a nive l loc al dentr o de l as func iones, y, a veces, dent ro de un


Cl aver o Carr as cu ll, C arl os                                                       Pá gin a 6 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                       Cur so 201 1 - 20 12




bloque, co mo pa ra l os b u cles d el t ipo “if” , “f or”, et c. En función del lugar de decl aración
de la var iab le así se de termin ara el ámbi to de aplicación, o la capacidad de ci ertas
partes de un progr ama p ara ha cer uso de ella.

Una var iabl e gl obal es a quell a que puede ser vista y ut ili zada por cual quier función y
estamento de u n prog ram a. Esta v ariable se declara al comi enzo del programa, antes de
“setup()”.

Una var iabl e loca l es a q uella q ue se defi ne dent ro de una función o como parte de un
bucle. Só lo es vi sibl e y s ólo p uede uti lizarse dent r o de la f unci ón en la que se declaró.

Por l o tanto , es pos ibl e t ener dos o
más varia bles de l mi s mo nombre            int value; // 'value' es visible para
                                              cualquier función
en difer ente s part es d el mismo
                                              void setup()
programa que pu eden contene r                {
valores dif eren tes. L a g aran t ía de      // no es necesario configurar
que sólo u na fun ción t ie ne acces o        }
                                              void loop()
a    sus    vari able s     d entro   de l    {
programa simp lifi ca y reduce e l            for (int i=0; i<20;) // 'i' solo es
potencial        de      err o res     de     visible
                                              { // dentro del bucle for
programació n.                                i++;
                                              }
                                              float f; // 'f' es visible solo
                                              } // dentro del bucle




Cl aver o Carr as cu ll, C arl os                                                        Pá gin a 7 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                        Cur so 201 1 - 20 12




2.2.- Práctica
2.2.1.- Componentes del chasis

Placa de m etac rila to

La pl aca d e me tacr ilat o se u til izar á como base par a el
chasis de l r obot y se trat a ú nicament e de una placa
transparen te d e plá sti co pero de gr an dureza y grosor . Por
tanto, se rá perf ecta par a s uj etar todos los elementos del
robot a ella aunq ue tr a bajarl a ser á algo mas compli cado
debido a sus carac terí sti cas.



CD

Los CD l os ut iliz arem os como la s ruedas delanteras de l
robot y será n uno s sim pl es CD que podr íamos uti lizar para
grabar info rmaci ón o pe l ículas . Aunque también servir ían
unos discos tra nspa rent e s igual es a los CD tal y como
hemos uti liza do noso t ros en nuest ro proyecto que
quedar án m ejor con la pl aca t ransp arente.



Rueda con b ase g irat ori a

La rueda tr aser a      ser á una ru eda con base gir ator i a que
permit irá al ro bot    desp l azarse sin dif icul tad en curvas del
recorr ido, ya que,     la ú ni ca fun ción de ésta será obedecer a
las delan teras que     ll evar án la dir ecci ón.




Bridas

Unas brid as d e p lást ico normal es servi rán par a f i jar l os
elementos el ectr ónic os c omo serv omotores o pl acas al
chasis sin di ficu ltad . Al u tiliz ar bri das pequeñas y cortar
en trozo r esta nte una vez p uest a conseguimos que
queden más dis cret as e n el robo t y que no t engamos
que hacer aguj eros dem a siado gran des para pasar las.




Cl aver o Carr as cu ll, C arl os                                                         Pá gin a 8 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                     Cur so 201 1 - 20 12




Cinta de go ma de dob le cara a uto - adhesiva

Se trata de un a cint a de goma que podemos
utili zar para rode ar l as r uedas y as í conseguir que
no resbalen las ru edas sobre un a super fici e lisa.
Ésta goma es de dob l e car a y fácil de poner
debido a s u elast icid ad y sus prop iedades
adhesi vas.

Perfil de sil icona

El per fil d e sil icon a ha ce la m isma f unci ón que la
cinta de goma q ue es la de rodea r la rueda y evitar
que no se ad hier a sob re super fici es li sas y es como
la goma de u na b icic leta pero d e si licona y nosotros
podemos ad apta rla a nu e stra r ueda .

Hemos pu esto éste perf il de sil icona porque quedaba
mejor en cua nto a esté tic a pero c ualquier a de l as dos
opciones c umpl e co n el o bjeti vo.



Estaño

El est año e s un m etal que se util iza y durant e el
proyecto hemo s util iza do para so ldar pequeños
elementos ele ctró nico s, pero tamb ién nos ha ser vido
en el chas is p ara fija r lo s CD qu e a los servomot ores
simplemente como el eme nto de un ión a tr avés de los
agujer os e n lu gar de un t ornil lo.




Cl aver o Carr as cu ll, C arl os                                                      Pá gin a 9 de 3 3
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




2.2.2.- Componentes electrónicos

Placa Ardui no U N O: (m ir ar apa rtado 1.1)

                                    Sensor de Luz o LDR ( Li ght Dependent Resistor):

                                   Un LDR es una resist encia variable, que var ía su valor
                                   dependiendo de la canti dad de luz que incide sobre su
                                   superf icie. Cuanta mas i ntensidad de l uz incide en la
                                   superf icie de la L DR
                                   menor        será   su
                                   resist enci a y cuant o
menos luz inc ide mayor será la r esistencia. Suel en
ser util izado s c omo se nsores de luz ambiental o
como una f otoc élul a q ue act iva un deter minado
proceso en aus enci a o pr esenci a de luz.

Los valore s qu e pu ede tomar una L DR en t otal
oscuri dad y a ple na luz puede va riar un poco de un modelo a ot ro, en general oscil an
entre unos 50 a 1000 o hmios cua ndo están iluminadas y valores comprendidos ent re
50K y vari os m egohm ios cuando est á a oscuras.

Sensor CNY70

El CNY70 es un peq ueñ o dispos itivo con forma de cubo y
cuatro pi nes que tien e en su int erior un diodo emisor de
infrar rojo s y un f otot rans i stor en paral elo y apuntando ambos
en la mism a di recc ión.

Con sol o 2 re sist enci as y un tra nsistor es fácil conectar un
CNY70 a un a p lac a Ard uino, est e sensor es muy usado en
robots seg uido res de l íne as.



Protoboard

El pr otob oard es una especi e d e t ablero con
orifi cios, en la cual se pueden insertar
componente s el ectr ónic o s y c ables para armar
circui tos. Lo s or ific ios está n interconectado s
entre si por co lumn as c omo lo vemos en l a fot o.
En       algu nas  pl acas      tambié n     hay   f ilas
interconec tand o los ori fic ios, est as se encuentran
en los bord es de la pl aca, como lo muestr a la
segunda fo to.




Cl aver o Carr as cu ll, C arl os                                                     Pá gin a 1 0 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                    Cur so 201 1 - 20 12




Motor Servo

Un motor ser vo es un dispos iti vo actuador que tiene la capacidad de ubicarse en
cualquier pos ició n dent ro de su rango de oper aci ón, y de mantenerse est able en dicha
posici ón.

Consta de un m otor de corrie nte conti nua, con una caj a reductora y un circuito de
control, para su posic ion amient o.



                                                  Eje de                      Reductor de velocidad
                                                  potencia




Los servo s es tánd ar llev an 3 cab les: tensión, t ier ra y control . Se mueven en función de
pulsos qu e l e en viam os a tra vés del cable de control y estos pulsos que le envi amos
son los que esta blece n la po sici ón del ser vo. El servo esper a pul sos cada 20
milisegund os par a ten er una ide a corr ecta de la posici ón que ha de tener. En general
los servo s giran un os 1 80 grados , aunque hay algunos que giran más. Tienen una
amplit ud d e pu lsos de en tre 0 .5 y 2.5 mil isegundos para establecer la posi ción.

Para nues tro proy ecto d eb erem os util izar el ser vomotor para poder mover las r uedas
delanteras y d eber á po de r real izar gir os de 360º continuos.

LED:

Los LED (L ight E miti ng Diode) . Son di odos que se ilumi nan cuando
pasa la e lect rici dad.

Tienen dos “p atas ”, un a positi va más larga ( ánodo) y ot ra negati va
(cátodo).S e co nect an a Arduin o por medio de una resistencia par a
proteger e l LE D y el m icr ocontr olad or.

Resist enci as

La resist enci a el éctr ica de un obj eto es una medida de su
oposición al pa so de cor rient e. Una resistencia i deal es u n
elemento pa sivo que d isi pa ener gía en for ma de calor según
la ley de Jou le.

También esta blec e una relaci ón de propor cionali dad ent re
la intensid ad de co rrie n te que la atraviesa y l a tensi ón


Cl aver o Carr as cu ll, C arl os                                                   Pá gin a 1 1 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                       Cur so 201 1 - 20 12




medibl e entr e sus ext rem os, rela ción conoci da como ley de Ohm. D e acuerdo con la ley
de Ohm. La re sist enci a d e un mat erial puede defi nirse como l a razón entr e la caída de
tensi ón y la corr ient e en dicha resi stencia, así: R = V / I Donde: R = Resistencia V =
Voltaje I = Cor rien te.

Porta-pila s

El port a-pi las e s un e le ment o q ue nos permitir á
alimentar e l rob ot q ue constr uyamos de forma
independie nte s in est a r sujet o a un cable
conect ado al orde nado r . El port a -pi las puede
ser de di feren te tam año , forma o cantidad de
pilas que pue de alb er gar pero en nuestro
proyecto nos será suf i cient e co n 4 espacios
para 4 pi las de 1 ,5V.



Conmutad or d e pl aca MSP1M1

Es un interru ptor para poder c ortar la entrada de volt aje a l a
placa Ard uino . E ste ti ene tres pines, per o nosotros solo
conect arem os 2 de ell os , uno de los ext remos del conductor a
alguno de los pine s pequ eños y el otro extremo al pin central que
es más gra nde que los ot ros do s.


Cable unifi lar

El cable unif ilar s erá el conec tor entre el ementos
electr ónic os y pi nes o p a ra re aliz ar l as conexiones en la
protoboard de ésto s.




Cl aver o Carr as cu ll, C arl os                                                      Pá gin a 1 2 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                           Cur so 201 1 - 20 12




2.2.3.- Primeros programas

Este apart ado m ostr ara funci ones bási cas de la placa Arduino UNO, por las que es
recomendab le em peza r a pro bar ya que de esta manera se van adquiriendo
conoci mien tos básic os d e su f unci onami ento, pr ogramación y caract erísticas físi cas.
Algunos de l os pr ogram as empl eados est án descritos en l a página web ofi cial de
Arduino (h ttp ://www .ard ui no.cc / ).

Para realiz ar l os es que mas vis uales de las conexiones hemos util izado el software
gratuito “Frit zin g ”.

Programa#1:

Esta func ión con sist e e n un led par padeante. Di cho led estar á conectado a un pin (por
ejempl o el 13), y a l a to ma de t ierra de Ardui no (pin GND). El código ordenará al led
que      se     e ncie nda      y     que     se      apague     cada      cier to  t iempo.

                                    El led se conecta
                                    directamente a la
                                     placa (pin 13 y
                                          G N D)




Como vemos en el c ódig o lo prim ero que hacemos es decl arar el pin nº 13 como sal ida,
después le orde namos c on la funci ón “ digi talWr i te()” que deje salir tensión y con el
“delay()” el t iempo en m ilise gundo s que ha de estar encendido, acto seguido decimos
que se par e t amb ién po r tiempo l imit ado. Todo el códi go escr ito en “void loop()” se
repit e contin uamen te.

A parti r de es te cód igo se pued e ir experimentando
introducie ndo más led s, para qu e se apaguen y se
enciendan d epen dien do de las ó rdenes que se le
dan.




Cl aver o Carr as cu ll, C arl os                                                          Pá gin a 1 3 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                    Cur so 201 1 - 20 12




Programa#2:

El segun do prog rama consis tía entender el funci onami ento de un sensor LDR.
Modifi cand o alg unos a specto s del códi go expuesto en la pági na web ofi cial ,
conseguimo s iden tif icar los val ores dados por el LDR y entender l as conexiones
necesarias (ne cesa ria re sisten cia 10kΩ) . Ejemplo de las conexiones y el código:




Conect amos a l LDR a l pi n de 5V y en el
otro pin lo con ectam os en se rie a una
resist enci a de 10 kΩ que ira al GND y al
pin analó gico de Ard uino el cu al reci birá
los dat os de l sen sor. En el có digo hay funci ones especí ficas par a que los datos
recibi dos por e l LDR se muestr en por pantall a con la función Monit or Seri al del soft ware
Arduino 1. 0.1 .




Cl aver o Carr as cu ll, C arl os                                                   Pá gin a 1 4 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                  Cur so 201 1 - 20 12




Programa#3:

Partiendo d el pr ogram a anter ior, p asamos a cali brar un LDR junto con un led. El LDR,
en la prá ctic a, lo t apam os de alg una maner a para que no distorsione los dat os por el
efect o de la luz del led o la il umina ción ambient al.




                                                                 En la prácti ca comprobamos
                                                                 los val ores numér icos que
                                                                 inter preta el LDR con una
                                                                 hoja de papel blanca y una
                                                                 raya negar para ver ifi car
                                                                 que      dif erencia  a     la
                                                                 perfección los dos col ores.




Cl aver o Carr as cu ll, C arl os                                                 Pá gin a 1 5 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                   Cur so 201 1 - 20 12




Programa#4:

Este consi ste en a pren de r a ha cer funcionar un servomot or con Ar duino. C onsta de tres
conexi ones ( rojo -5V, n egro -GN D y amar illo -di gital Pin) , con el sigui ente código
comprobamos su func ion amient o.




Mediante      el       códi go,
conseguimo s       que        el
servomotor           f unci o ne
durant e 5 segu ndos y e ste
parado dura nte 1 segu n do
y así cons ecut ivam ente .




Programa#5:

Probamos de con tro lar d os ser vomotores a la vez.




Cl aver o Carr as cu ll, C arl os                                                  Pá gin a 1 6 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                    Cur so 201 1 - 20 12




Programa#6:

Este es e l últ imo pr ogra ma real izado antes del código f inal . Consist e en controlar l os
servomotore s de p end iend o de los datos captados por l os LDR.

  #include <Servo.h>
  Servo servo1;
  Servo servo2;
  int entrada_sensor;
  int entrada_sensor2;
  void setup(){
    pinMode (12, OUTPUT);
    pinMode (13, OUTPUT);
    pinMode (0, INPUT);
    pinMode (1, INPUT);
    Serial.begin(9600);
  }
  void loop(){
    digitalWrite (12, HIGH);
    digitalWrite (13, HIGH);
    entrada_sensor = analogRead (0);
    Serial.print("n");
    Serial.print("LDR = ");
    Serial.println(entrada_sensor);
    if (entrada_sensor < 450){
      attach_servos();
    }
    else {                                        En este progr ama, por un lado vemos
       detach_servos2();                          funci ones par a control ar el encendido y
    }
    entrada_sensor2 = analogRead (1);             apagado de los servos, y por otro las
    Serial.print("LDR2 = ");                      lectur as de los LDR por separado. En
    Serial.println(entrada_sensor2);
    delay(500);                                   cada lect ura de los LDR, hay un
    if (entrada_sensor2 < 450){                   “if()…else( )” , l lamando a las funciones
      attach_servos2();
    }                                             de los servomotores (si la lect ura es
    else {                                        menos a un val or, que se encienda un
       detach_servos();
    }                                             servomotor det erminado, y viceversa).
  }
  void detach_servos(){
    servo1.detach();
  }
  void detach_servos2(){
    servo2.detach();
  }
  void attach_servos(){
    servo1.attach(9);
  }
  void attach_servos2(){
    servo2.attach(10);
  }




Cl aver o Carr as cu ll, C arl os                                                   Pá gin a 1 7 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                    Cur so 201 1 - 20 12




Programa#7:

Una vez ya pod emos co ntr ol ar los ser vomotores dependi endo de l os sensores LDR,
probamos lo s sen sore s CNY70 ya que presentan un mej or rendimient o y funci onal idad
ya que s on un os sen s ores com pact os e i nfrarrojos. El primer códi go util izado es
sencil lo, s irve para v er el comportamie nt o y l os datos int erpr etados por los dos
sensor es.




Las conexio nes ne cesa r ias son
un poco compl icad as ya que el
sensor tie ne c uatr o pi ne s, a uno
de entrad a l e l lega n 5V , al otro
le l legan 5V pa sand o por u na
resist enci a d e 2 20Ω, uno de los de sal ida se conecta con el GND y el otr o de sal ida se
conect a en ser ia c on u na resis tenc ia conectada al GND y con el pin anal ógi co concret o.




Cl aver o Carr as cu ll, C arl os                                                   Pá gin a 1 8 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                    Cur so 201 1 - 20 12




2.2.4.- Seguimiento del proyecto

Para r eali zar est e ro bot s eguido r d e lí nea es necesario un micro controlador, en nuestro
caso hemos uti liza do l a plac a Ard uino que como most ramos en el apar tado 2.1. 1 es
idónea pa ra desa rrol lar éste tip o de robot . Aquí encont ramos nuest ro pri mer obstáculo
al conect ar l a pl aca al o r denado r (a part ado 2.2. 5).

Para compr ende r e l f unci onamie nto y las caracter ísticas físi cas de la placa Arduino es
necesario rea liza r v aria s prue bas básicas (como muestr a el apart ado 2.2. 3 o los videos
incluidos en el CD adju n to a l i nforme) para famil iarizarse con los pines y códi go que
poster iorm ente util izar e mos par a el r obot . Una vez comprendido el funcionami ento de
dichos elem ento s pod re mos ent ender como conectar l os el ementos electróni cos por
separado para pos teri or mente poder conectarlos ent re si y así constr uir un robot
seguidor d e l íneas .

Una vez real izad as las prueba s y solucionados los problemas con los servomotores
(apart ado 2.2. 5), e l pa so sigui ente es cr ear un pr ograma capaz de sincr onizar los dos
sensor es co n los dos s ervomo tores (video adjunto en el CD) . Para ell o deber emos
inter preta r las lect uras de los s ensor es y una vez obt enidos los valor es deseados
sincroniza r di chos sen sor es con los ser vomotores para contr olar su funcionamient o.

El siguient e proc edimi ent o a tener en cuenta es el montaje del chasis de nuestro robot.
Para el mon taje de nu e stro rob ot intentamos ut ilizar en la mayor medida posibl e los
materi ales qu e p odemo s obte ner de for ma senci l la por casa par a no gast ar en nuevos
materi ales (a part ado 2. 2. 1). La con strucción del chasis consiste en una base en la que
colocar los elem ento s el ectrón icos (placa ardui no, servomotor es, protoboard…) y a la
que poder un ir una s rue das pa ra su desplazami ento. En nuest ro caso, utili zamos una
placa de metac rila to par a la base , unos CD con r ecubri miento de goma para las ruedas
y una rued a “l oca ” par a s ostene r j unto a l as r uedas motr ices el robot.

A continuaci ón, te ndre mos el chasis del r obot montado junto a los componentes
electr ónic os (apa rtad o 2 .2.2) y úni camente tendremos que interconectar los todos a
través de cabl es u nif ilar e s a l a pl aca arduino sirvi éndonos de la protoboard.

Finalmente podr emos rea lizar las pruebas perti n entes para el seguimient o de la línea y
soluci onar lo s probl emas que vayamos encont rando tanto como por la disposición de l os
elementos físi cos del rob ot com o por parte de l a programación.




Cl aver o Carr as cu ll, C arl os                                                   Pá gin a 1 9 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                   Cur so 201 1 - 20 12




2.2.5.- Problemas y soluciones

Puerto USB-S eria l Ard ui no

Al conectar la pl aca Ard u ino UNO, el PC no l a det ecta ya que no tiene los controladores
necesarios ins tala dos . P ara in stal ar l os drivers hay que hacerl o manual mente desde
“Administr ador de di spos itivo s ”, b uscamos la conexión correcta, vamos a “Propi edades”
y en la pes tañ a de “Co n trola dores ” seleccionamos “Actualizar control ador …”. Una vez
acabamos e sto nos apar ece un a ve ntana que en l a que seleccionamos “Buscar software
de cont rola dor en el eq u ipo ”, c uando le veamos que nos deja seleccionar el director io,
en la misma car peta del softw are Ardui no hay un director io l lamado “dri vers ”, hay que
decirl e que lo s busq ue e n esta car peta, una vez encont rados se instalan y procedemos
a configu rar e l s oftwa re .




Una vez fin aliz ado e l p roceso de i nstalaci ón de los contr ola dores, configuramos               el
                                                                   software indicándole               el
                                                                    puerto y el modelo               de
                                                                    placa que vamos                    a
                                                                    programar.

                                                                  En la sigui ente imagen
                                                                  podemos        ver    la
                                                                  confi guración, en la
                                                                  pestaña de “Tools”,
                                                                 seleccionamos “Board ”,
e indica mos nue stra placa Ar duino (en nuestro caso Ardu ino UNO). Después
selecciona mos “Ser ial P ort ” e indi camos el puerto serial correcto (en nuestr o caso
COM8).




Cl aver o Carr as cu ll, C arl os                                                  Pá gin a 2 0 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




Adaptar ser vo ( de 1 80º a 360 º co ntinuos)

El servom otor ad quir ido ( Servo Hit ec HS -311 Standard) par a nuest ro robot rastreador de
línea, es un se rvo m otor sencil lo d e mediana ponencia y de giro de 180º, con un precio
de 11,95€ .

Especi fica cion es t écni ca s del Serv o Hi tec HS -311 Standard:

    >    Peso: 43 g
    >    Rotaci ón: 180 º
    >    Tensió n re comen dada de operación: 4.8V
    >    Torque est átic o: 6 .0v >/= 3.7kg.cm 4.8v >/ = 3. 0kg. cm
    >    Veloci dad 6.0v : 0 .15s ec/ 60°
    >    Veloci dad 4.8v : 0 .19s ec/ 60°
    >    Soport e pa ra NX C




Este serv omot or tie nen el inconveniente de que su giro es de 180º y nosotros
necesi tamo s que ll egue a girar 36 0º conti nuos ya que van a ser las r uedas de nuestro
robot .

Para conseg uir que e l servo g irara l os 360º hay que tr ucar lo; est e tiene unos
engranajes en l a par te s uperio r, l os cuales hemos de sacar y modi ficarlos para nuest ro
propósito . A c onti nuac ió n vere mos el ejempl o de cómo trucamos el servo (Servo Hi tec
HS-311 Sta ndard ):

PASO 1:

Desmont amos la pie za gira tori a de la par te superior del ser vo y acto seguido
desmontarem os t ambi én l a par te d e inferi or:




Cl aver o Carr as cu ll, C arl os                                                     Pá gin a 2 1 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                   Cur so 201 1 - 20 12




Una vez de smont ada la pieza in feri or l a superi or ya la podemos sacar para ver los
engranajes .

PASO 2:

Una vez c on lo s eng rana j es dela nte nos po demos fijar que hay dos topes que evit an que
el mot or g ire los 360 º:




En la primer a image n po demos ver como en el engranaje señalado hay una especie de
rectángulo q ue es el qu e evita el gi ro. En la segunda imagen podemos ver como debaj o
del mi smo e ngra naj e est a la f orma de l a pi eza de que va debaj o, esta pi eza no puede
llegar a girar más de 180 º.

PASO 3:

Ahora que hem os loca li zado el engr anaj e que sirve de tope para el giro compl eto,
procedemos a mo difi carl o de l a manera más sencill a posible y con cui dado. Con un
taladro o un a her ramie nta par ecida hacemos el aguj ero de la parte infer ior del
engranaje mas gran de y t otalme nte circular .




Cl aver o Carr as cu ll, C arl os                                                  Pá gin a 2 2 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




Después co n un os a lica te s cort amos el tope superi or del engranaje:




PASO 4:

Una vez f inal izad o es te proces o vo lvemos a p oner el engranaje en su si t io y mont amos
otra vez el s ervom otor :




Programación de los se rvos

En relaci ón a la prog ra mación de Ar duino par a hacer funcionar los servomotores,
tuvimos do s pr oblem as.

El primer pr oble ma es tab a rela cion ado con la libr ería de lo s servos, el inconveni ente lo
teníamos a l a ho ra de pa rar e l s ervomotor . Podíamos ponerl o en f unci onamiento con l a
funci ón “at tach .ser vo(9) ” , pero a l a hora de det enerlo, no fuimos consci entes de que
exist ía l a fu nció n co ntra ri a “de tach .servo()” .

El segundo pro blema no s lo e ncon tramos al intentar progr amar los dos servomotores y
los dos LDR. Ten íamo s que conseguir que dependiendo del valor que se obtení a en los
LDR, func ionar a u n s erv omotor y se parara el otr o, f unci onaran l os dos o se detuvi eran
los dos. P robam os vari as funci ones difer entes, como las funciones “swichCase()” o
“if()…else i f()…e lse( )” , p ero fin almente encontr amos una forma muy sencilla de hacer lo
con l a f unci ón “if( )…els e( )” , c onsi stía en pr ogramar cada sensor junto con su respect ivo
servomotor de forma ind ependi ente ordenándole cuando tenia que parar y cuando t enia
que poners e en fun cion a miento .



Cl aver o Carr as cu ll, C arl os                                                     Pá gin a 2 3 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




Sensor infr arro jo CN Y7 0

Cuando nos pro pusim os cambi ar l os LDR por l os sensores CNY70, tuvimos vari os
problemas con lo qu e son las conexiones y las re sistencias necesarias para obtener
buenos r esul tado s, ya qu e mucha de la información que aparece en int ernet es errónea .
En est e ap arta do s e ex pli caran las soluciones obtenidas.

Uno de lo s i ncon veni en tes m ás i mpor tant es a l a hor a de usar un sensor i nfrarro j o
CNY70 es ten er la s res istenc ias adecuadas par a que proporcione datos fiables. La
resist enci a ne cesa ria par a el e miso r infrarr ojo es de 220Ω y las resist enci as necesar ias
para el rece ptor son de 10k Ω o 4 7kΩ i ndistint amente (se obtienen buenos r esul tados
con cualqu iera de las dos ).

Otro i ncon veni ente es el de tene r claro como conectar cada uno de los pines, la
soluci ón la mu estr a la sig uient e ima gen




En la prim era ima gen se muestra e l esquema lógico de las conexiones necesari as par a
el buen func ionam ient o del sen sor CNY70 y en la segunda i magen se muestr a el
esquema fí sico en una pr otoboa rd .

Un aspect o que no se ti ene en cuenta a la hora de usar dichos sensores, es el que el
emisor in frar rojo c uand o esta encendido, no se perci be por el oj o humano, para
comprobar que el inf rarr o jo es ta encendido , es necesario di sponer de una cámara digital
como l a de un móvi l, y cu ando e nfocas el sensor aparece el inf rarrojo encendido.




Cl aver o Carr as cu ll, C arl os                                                     Pá gin a 2 4 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                Cur so 201 1 - 20 12




3.- Resultados y estadísticas
3.1.- Robot finalizado
Aquí podem os v er d ifer entes imágenes , de un prot otipo realizado con 3D Studio
Max2010 para te ner un a idea de cómo pensábamos que habría de ser, un chasi s
montado co n lo s com pon entes eléc tricos para ent ender donde colocar los componentes
y unas imáge nes d e dos robots finalizados. En el CD adjunt o a este inf orme , se han
guardado v ario s vi deos d emostr ativ os.




Cl aver o Carr as cu ll, C arl os                                               Pá gin a 2 5 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                       Cur so 201 1 - 20 12




Cl aver o Carr as cu ll, C arl os                                      Pá gin a 2 6 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                               Cur so 201 1 - 20 12




3.2.- Presupuesto
                                    PRESUPUESTO
                   Productos               Unidades        Precio / Unidad           Total
Placa Arduino UNO                                      1             35,95 €           35,95 €
Porta-pilas                                            1              0,85 €            0,85 €
Pack 4 pilas de 1,5V                                   1              3,65 €            3,65 €
Servomotor                                             2             13,43 €           26,86 €
Juego de cables unifilares                             1              8,70 €            8,70 €
Pack 100 resistencias 10K Ohmios                       1              1,25 €            1,25 €
Pack 100 resistencias 220 Ohmios                       1              1,25 €            1,25 €
Sensor de luz CNY70                                    2              0,63 €            1,26 €
Conmutador de placa MSP1M1                             1              0,93 €            0,93 €
Placa con cara de fibra de vidrio                      1              1,44 €            1,44 €
TOTAL                                                                                  82,14 €



                              PRESUPUESTO PARA PRUEBAS
                 Productos                 Unidades   Precio / Unidad                Total
Pack LED de colores                                 3            1,25 €                 3,75 €
LDR                                                 5            1,68 €                 8,40 €
Cinta de goma doble cara autoadhesiva               1            4,40 €                 4,40 €
TOTAL                                                                                  16,55 €

TOTAL FINAL                                                                             98,69 €




Cl aver o Carr as cu ll, C arl os                                              Pá gin a 2 7 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                   Cur so 201 1 - 20 12




3.3.- Mejoras futuras
Este apart ado tien e com o obje tivo explicar posibles mejoras par a el robot seguidor de
línea.

Algunas de la s mejor as f actib les para nuestro r obot seguidor de línea podr ían ser entre
otras :

     Intro ducir una p anta lla L CD que muestr e los datos obtenidos por l os sensores o
      la di recci ón en l a qu e gi r e el robot.
     La in trod ucci ón d e u n mi crófono el cual tenga el objet ivo de parar o encender el
      robot .
     La imp leme ntac ión de u n sensor que permi ta l a detecci ón de obstáculos a cort a
      dista ncia para ev itar una colisión.
     Implem entar u n LDR par a detect ar la cantidad de luz del ambi ente y así simular
      la dife renci a entr e día y noche par a encender de forma automát ica unos LED
      delan teros y trase ros a m odo de faros para su det ección.




Cl aver o Carr as cu ll, C arl os                                                  Pá gin a 2 8 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                      Cur so 201 1 - 20 12




4.- Anexo
4.1.- Programa y conexiones finales
En el siguien te a part ado inclu imos el código f inal utili zado y l as conexiones real izadas.

#include <Servo.h>
Servo servo1;
Servo servo2;
int CNY1;
int CNY2;
int LDR;
void setup(){
  Serial.begin(9600); //para visualizar los datos
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(7, OUTPUT);
}
void loop(){
  CNY1 = analogRead (A0);
  Serial.print("nCNY_Dr = ");
  Serial.println(CNY1);
  if (CNY1 < 500){ //si el CNY capta <200 funcione el servo 1
    attach_servos();
  }
  else { //sino que se apague
     detach_servos();
  }
  CNY2 = analogRead (A1);
  Serial.print("CNY_Iz = ");
  Serial.println(CNY2);
  if (CNY2 < 500){ //si el CNY capta <200 funcione el servo 2
    attach_servos2();
  }
  else { //sino que se apague
     detach_servos2();
  }
  LDR = analogRead (A2);
  Serial.print("LDR = ");
  Serial.println(LDR);
  //delay(1000);
  if (LDR > 200){
    digitalWrite(10, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    digitalWrite(7, LOW);
  }
  else {
    digitalWrite(10, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(8, HIGH);
    digitalWrite(7, HIGH);
  }
}
void detach_servos(){
  servo1.detach();
}
void detach_servos2(){
  servo2.detach();
}
void attach_servos(){
  servo1.attach(13);
}
void attach_servos2(){
  servo2.attach(12);
}


Cl aver o Carr as cu ll, C arl os                                                     Pá gin a 2 9 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                     Cur so 201 1 - 20 12




Estas son l as conex ione s necesari as para un r obot seguidor de línea en el cual hay dos
sensor es CN Y70 que se util izan par a detec t ar l a línea, dos servomotor es par a l as
ruedas motr ices del r o bo t, un L DR que det ectara la luz ambi ente para comprobar si se
va la l uz y un os le ds qu e se enc enderán cuando el LDR no det ecte luz. También son
necesarias var ias resis te ncias para est e pr oyecto: 220 Ω, 10kΩ y 47kΩ . Se recomienda
utili zar cable s de d isti nto s color es para difer enciar las f unci ones y poder entenderlo de
forma senc illa .




Cl aver o Carr as cu ll, C arl os                                                    Pá gin a 3 0 d e 33
Rodr ígu ez Gr ota , Dav id
Si st ema s d e T ele co mun ic a ció n e In form át ica
                                                                                         Cur so 201 1 - 20 12




4.2.- Web grafía
Información

http: //www .ard uino .cc/ es/

http: //www .inf o -ab .uclm .e s/l ab elec /sol ar/otros/inf rarrojos/sensor_cny70.htm

http: //jorgef lore sver garay .blog spot .com. es/2009/ 07/un -carrit o-seguidor -d e-li nea-
sencil lo. html

http: //www .sli desh are. net /rongu ti/ robot -seguidor -d e-linea

http: //www .rob otgr oup. co m.ar/w eb/

Componentes

http: //www .ond arad io.e s/ (Compon entes varios)

http: //www .dio tron ic.c om/ (Sens ores CNY70)

http: //ro -bot ica. com/ (Ser vomoto res)



*Las pagina s webs d e inf ormaci ón, a nteri ores, han sido l as mas utili zadas. En internet ,
puede habe r muc ha in f ormaci ón y puede llegar a ser úti l o no, estar corr ecta o
incorr ecta , pe ro mu chas de las con clusiones a las que hemos llegado para reali zar este
proyecto h an s ido a p arti r de foros o blogs.




Cl aver o Carr as cu ll, C arl os                                                        Pá gin a 3 1 d e 33
Rodr ígu ez Gr ota , Dav id

Weitere ähnliche Inhalte

Was ist angesagt?

Seaparat elect pote
Seaparat elect poteSeaparat elect pote
Seaparat elect poteLuis Sanchez
 
Recortadores Serie Y Paralelo
Recortadores Serie Y ParaleloRecortadores Serie Y Paralelo
Recortadores Serie Y ParaleloUisraelCircuitos
 
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Tino Fernández
 
Electrónica potencia 2
Electrónica potencia 2Electrónica potencia 2
Electrónica potencia 2JUAN AGUILAR
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plcCincoC
 
5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjt5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjtAndresChaparroC
 
Multisim, como medir paso a paso
Multisim, como medir paso a pasoMultisim, como medir paso a paso
Multisim, como medir paso a pasoedgarfrans
 
Ecuación Diferencial de un Circuito RLC
Ecuación Diferencial de un Circuito RLCEcuación Diferencial de un Circuito RLC
Ecuación Diferencial de un Circuito RLCSaer C
 
Informe Seguidor De Linea
Informe Seguidor De LineaInforme Seguidor De Linea
Informe Seguidor De Lineacristi9908
 
Motores electricos presentacion
Motores electricos presentacionMotores electricos presentacion
Motores electricos presentacionGustavo A'ngel
 
Configuración de polarización fija y la auto polarización en el JFET
Configuración de polarización fija y la auto polarización en el JFETConfiguración de polarización fija y la auto polarización en el JFET
Configuración de polarización fija y la auto polarización en el JFETVidalia Montserrat Colunga Ramirez
 
Ejercicios resueltos con diodos
Ejercicios resueltos con diodosEjercicios resueltos con diodos
Ejercicios resueltos con diodosvstiven18
 
Analisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo ordenAnalisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo ordenUniversidad Nacional de Loja
 

Was ist angesagt? (20)

Presentación de Diodos
Presentación de DiodosPresentación de Diodos
Presentación de Diodos
 
Seaparat elect pote
Seaparat elect poteSeaparat elect pote
Seaparat elect pote
 
Recortadores Serie Y Paralelo
Recortadores Serie Y ParaleloRecortadores Serie Y Paralelo
Recortadores Serie Y Paralelo
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
 
Electrónica potencia 2
Electrónica potencia 2Electrónica potencia 2
Electrónica potencia 2
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plc
 
5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjt5 polarizacion divisor de voltaje del transistor bjt
5 polarizacion divisor de voltaje del transistor bjt
 
2.4. Compuertas AND - OR con Diodos
2.4. Compuertas AND - OR con Diodos2.4. Compuertas AND - OR con Diodos
2.4. Compuertas AND - OR con Diodos
 
Multisim, como medir paso a paso
Multisim, como medir paso a pasoMultisim, como medir paso a paso
Multisim, como medir paso a paso
 
Ecuación Diferencial de un Circuito RLC
Ecuación Diferencial de un Circuito RLCEcuación Diferencial de un Circuito RLC
Ecuación Diferencial de un Circuito RLC
 
Practica de arduino
Practica de arduinoPractica de arduino
Practica de arduino
 
Informe Seguidor De Linea
Informe Seguidor De LineaInforme Seguidor De Linea
Informe Seguidor De Linea
 
Motores electricos presentacion
Motores electricos presentacionMotores electricos presentacion
Motores electricos presentacion
 
Configuración de polarización fija y la auto polarización en el JFET
Configuración de polarización fija y la auto polarización en el JFETConfiguración de polarización fija y la auto polarización en el JFET
Configuración de polarización fija y la auto polarización en el JFET
 
Fundamentos de los Transistores
Fundamentos de los TransistoresFundamentos de los Transistores
Fundamentos de los Transistores
 
Ejercicios resueltos con diodos
Ejercicios resueltos con diodosEjercicios resueltos con diodos
Ejercicios resueltos con diodos
 
Analisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo ordenAnalisis circuitos eléctricos primer y segundo orden
Analisis circuitos eléctricos primer y segundo orden
 
Sesión 6: Teoría Básica de Transistores BJT
Sesión 6: Teoría Básica de Transistores BJTSesión 6: Teoría Básica de Transistores BJT
Sesión 6: Teoría Básica de Transistores BJT
 
Ejercicios resueltos-motores cc en serie
Ejercicios resueltos-motores cc en serieEjercicios resueltos-motores cc en serie
Ejercicios resueltos-motores cc en serie
 

Andere mochten auch

Carrito seguidor de línea final
Carrito seguidor de línea finalCarrito seguidor de línea final
Carrito seguidor de línea finaldani
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea94022301238
 
Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital Eduardo Arévalo Angamarca
 
Seguidor de linea
Seguidor de lineaSeguidor de linea
Seguidor de lineataicon
 
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardwareRobot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardwareNamsohj Ozarazil
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea DL3004
 
Manual seguidor de linea
Manual seguidor de lineaManual seguidor de linea
Manual seguidor de lineaENRIQUE PIGUAVE
 
Detector de obstaculo + seguidor de luz -julio césar alanoca
Detector de obstaculo + seguidor de luz  -julio césar alanocaDetector de obstaculo + seguidor de luz  -julio césar alanoca
Detector de obstaculo + seguidor de luz -julio césar alanocaJ César Alanoca
 
seguidor de linea
seguidor de lineaseguidor de linea
seguidor de lineaYupi Raton
 
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...fernandoposada
 
Diseño De Un Prototipo De Seguidor Solar
Diseño De Un Prototipo De Seguidor SolarDiseño De Un Prototipo De Seguidor Solar
Diseño De Un Prototipo De Seguidor Solarguest876dc2
 
Seguidor de linea
Seguidor de lineaSeguidor de linea
Seguidor de lineaguidoeddy
 
REDES NEURONALES -Deteccion de obstaculos por medio de un robot
REDES NEURONALES -Deteccion de obstaculos por medio de un robotREDES NEURONALES -Deteccion de obstaculos por medio de un robot
REDES NEURONALES -Deteccion de obstaculos por medio de un robotUAEM
 
Carro evasor de obstáculos con pic16f84a
Carro evasor de obstáculos con pic16f84aCarro evasor de obstáculos con pic16f84a
Carro evasor de obstáculos con pic16f84aChristian Alexander
 

Andere mochten auch (20)

Seguidor de linea
Seguidor de lineaSeguidor de linea
Seguidor de linea
 
Carrito seguidor de línea final
Carrito seguidor de línea finalCarrito seguidor de línea final
Carrito seguidor de línea final
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea
 
ROBOT SEGUIDOR DE LUZ
ROBOT SEGUIDOR DE LUZ ROBOT SEGUIDOR DE LUZ
ROBOT SEGUIDOR DE LUZ
 
Robot seguidor de linea
Robot seguidor de lineaRobot seguidor de linea
Robot seguidor de linea
 
Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital Carro seguidor de luz... Electronica y digital
Carro seguidor de luz... Electronica y digital
 
Seguidor de linea
Seguidor de lineaSeguidor de linea
Seguidor de linea
 
Seguidor de linea con arduino
Seguidor de linea con arduinoSeguidor de linea con arduino
Seguidor de linea con arduino
 
Robot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardwareRobot seguidor de línea con software y hardware
Robot seguidor de línea con software y hardware
 
Proyecto seguidor de linea
Proyecto seguidor de linea Proyecto seguidor de linea
Proyecto seguidor de linea
 
Manual seguidor de linea
Manual seguidor de lineaManual seguidor de linea
Manual seguidor de linea
 
Detector de obstaculo + seguidor de luz -julio césar alanoca
Detector de obstaculo + seguidor de luz  -julio césar alanocaDetector de obstaculo + seguidor de luz  -julio césar alanoca
Detector de obstaculo + seguidor de luz -julio césar alanoca
 
seguidor de linea
seguidor de lineaseguidor de linea
seguidor de linea
 
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
Bases didácticas y recursos para trabajar el pensamiento computacional en el ...
 
Diseño De Un Prototipo De Seguidor Solar
Diseño De Un Prototipo De Seguidor SolarDiseño De Un Prototipo De Seguidor Solar
Diseño De Un Prototipo De Seguidor Solar
 
Seguidor de linea
Seguidor de lineaSeguidor de linea
Seguidor de linea
 
REDES NEURONALES -Deteccion de obstaculos por medio de un robot
REDES NEURONALES -Deteccion de obstaculos por medio de un robotREDES NEURONALES -Deteccion de obstaculos por medio de un robot
REDES NEURONALES -Deteccion de obstaculos por medio de un robot
 
Generador hidroelectrico casero
Generador hidroelectrico caseroGenerador hidroelectrico casero
Generador hidroelectrico casero
 
Carro evasor de obstáculos con pic16f84a
Carro evasor de obstáculos con pic16f84aCarro evasor de obstáculos con pic16f84a
Carro evasor de obstáculos con pic16f84a
 
Robotica
RoboticaRobotica
Robotica
 

Ähnlich wie Proyecto: Robot seguidor de línea

Ähnlich wie Proyecto: Robot seguidor de línea (20)

Historia compu
Historia compuHistoria compu
Historia compu
 
Historia compu aguirre
Historia compu aguirreHistoria compu aguirre
Historia compu aguirre
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con Arduino
 
Software para redes opticas pasivas (PON) WDM
Software para redes opticas pasivas (PON) WDMSoftware para redes opticas pasivas (PON) WDM
Software para redes opticas pasivas (PON) WDM
 
Practica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfPractica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdf
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Trabajo02
Trabajo02Trabajo02
Trabajo02
 
Tarjeta arduino equipo #7
Tarjeta arduino equipo #7Tarjeta arduino equipo #7
Tarjeta arduino equipo #7
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 
Tarjeta arduino (2)
 Tarjeta arduino (2) Tarjeta arduino (2)
Tarjeta arduino (2)
 
Tarjeta arduino
 Tarjeta arduino  Tarjeta arduino
Tarjeta arduino
 
Tarjeta arduino
 Tarjeta arduino  Tarjeta arduino
Tarjeta arduino
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
La electricidad y_electronica
La electricidad y_electronicaLa electricidad y_electronica
La electricidad y_electronica
 
La electricidad y_electronica-convertido
La electricidad y_electronica-convertidoLa electricidad y_electronica-convertido
La electricidad y_electronica-convertido
 
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
4. LIBRO COMUNICACIONES INDUSTRIALES - AUTOMATISSANDRO EMERSON EDUARDO RODRIGUES
 

Mehr von Francesc Perez

Conmutación LAn e inalámbrica: 5.1 VTP
Conmutación LAn e inalámbrica: 5.1 VTPConmutación LAn e inalámbrica: 5.1 VTP
Conmutación LAn e inalámbrica: 5.1 VTPFrancesc Perez
 
Conmutación LAN e inalámbrica: 5.2 VTP Solución
Conmutación LAN e inalámbrica: 5.2 VTP SoluciónConmutación LAN e inalámbrica: 5.2 VTP Solución
Conmutación LAN e inalámbrica: 5.2 VTP SoluciónFrancesc Perez
 
Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...
Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...
Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...Francesc Perez
 
Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...
Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...
Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...Francesc Perez
 
Enrutamiento estático pràctica 2 sol
Enrutamiento estático pràctica 2 solEnrutamiento estático pràctica 2 sol
Enrutamiento estático pràctica 2 solFrancesc Perez
 
Seguridad: Backtrack2
Seguridad: Backtrack2 Seguridad: Backtrack2
Seguridad: Backtrack2 Francesc Perez
 
Seguridad: Backtrack1_bis
Seguridad: Backtrack1_bisSeguridad: Backtrack1_bis
Seguridad: Backtrack1_bisFrancesc Perez
 
Seguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónSeguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónFrancesc Perez
 
Sistemas digitales combinacionales: Multiplexador
Sistemas digitales combinacionales: MultiplexadorSistemas digitales combinacionales: Multiplexador
Sistemas digitales combinacionales: MultiplexadorFrancesc Perez
 
Exercici html5, js y css3
Exercici html5, js y css3Exercici html5, js y css3
Exercici html5, js y css3Francesc Perez
 
Ejercicios funciones lógicas
Ejercicios funciones lógicasEjercicios funciones lógicas
Ejercicios funciones lógicasFrancesc Perez
 
Sistemas electrónicos digitales pràctica 1
Sistemas electrónicos digitales   pràctica 1Sistemas electrónicos digitales   pràctica 1
Sistemas electrónicos digitales pràctica 1Francesc Perez
 
Sistemas digitales comb inacionales: Propiedades de boole
Sistemas digitales comb inacionales: Propiedades de booleSistemas digitales comb inacionales: Propiedades de boole
Sistemas digitales comb inacionales: Propiedades de booleFrancesc Perez
 
Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...
Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...
Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...Francesc Perez
 
Sistemas digitales comb inacionales: Teoremas de boole
Sistemas digitales comb inacionales: Teoremas de booleSistemas digitales comb inacionales: Teoremas de boole
Sistemas digitales comb inacionales: Teoremas de booleFrancesc Perez
 

Mehr von Francesc Perez (20)

ICT Parte 1/2
ICT Parte 1/2ICT Parte 1/2
ICT Parte 1/2
 
Conmutación LAn e inalámbrica: 5.1 VTP
Conmutación LAn e inalámbrica: 5.1 VTPConmutación LAn e inalámbrica: 5.1 VTP
Conmutación LAn e inalámbrica: 5.1 VTP
 
Conmutación LAN e inalámbrica: 5.2 VTP Solución
Conmutación LAN e inalámbrica: 5.2 VTP SoluciónConmutación LAN e inalámbrica: 5.2 VTP Solución
Conmutación LAN e inalámbrica: 5.2 VTP Solución
 
Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...
Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...
Sistemas digitales secuenciales: Contador binario módulo 10 con display siete...
 
Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...
Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...
Conceptos y protocolos de enrutamiento: 3.3 Enrutamiento dinámico y redistrib...
 
Enrutamiento estático pràctica 2 sol
Enrutamiento estático pràctica 2 solEnrutamiento estático pràctica 2 sol
Enrutamiento estático pràctica 2 sol
 
Seguridad: Backtrack2
Seguridad: Backtrack2 Seguridad: Backtrack2
Seguridad: Backtrack2
 
Seguridad: Backtrack1_bis
Seguridad: Backtrack1_bisSeguridad: Backtrack1_bis
Seguridad: Backtrack1_bis
 
Seguridad: Backtrack1
Seguridad: Backtrack1Seguridad: Backtrack1
Seguridad: Backtrack1
 
Seguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode SoluciónSeguridad: Ataque Unicode Solución
Seguridad: Ataque Unicode Solución
 
Sistemas digitales combinacionales: Multiplexador
Sistemas digitales combinacionales: MultiplexadorSistemas digitales combinacionales: Multiplexador
Sistemas digitales combinacionales: Multiplexador
 
Js api formularios
Js api formulariosJs api formularios
Js api formularios
 
Exercici html5, js y css3
Exercici html5, js y css3Exercici html5, js y css3
Exercici html5, js y css3
 
Ejercicios funciones lógicas
Ejercicios funciones lógicasEjercicios funciones lógicas
Ejercicios funciones lógicas
 
Sistemas electrónicos digitales pràctica 1
Sistemas electrónicos digitales   pràctica 1Sistemas electrónicos digitales   pràctica 1
Sistemas electrónicos digitales pràctica 1
 
html5 multimedia
 html5 multimedia html5 multimedia
html5 multimedia
 
Sistemas digitales comb inacionales: Propiedades de boole
Sistemas digitales comb inacionales: Propiedades de booleSistemas digitales comb inacionales: Propiedades de boole
Sistemas digitales comb inacionales: Propiedades de boole
 
Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...
Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...
Conceptos y protocolos de enrutamiento: 2.2 Enrutamiento estatico y Traducció...
 
Estudio del PC
Estudio del PCEstudio del PC
Estudio del PC
 
Sistemas digitales comb inacionales: Teoremas de boole
Sistemas digitales comb inacionales: Teoremas de booleSistemas digitales comb inacionales: Teoremas de boole
Sistemas digitales comb inacionales: Teoremas de boole
 

Kürzlich hochgeladen

Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 

Kürzlich hochgeladen (20)

Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 

Proyecto: Robot seguidor de línea

  • 1. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 ROBOT SEGUIDOR DE LINEA Sistemas de Telecomunicación e I nformática Claver o Car rascull, Car los Rodríguez Grot a, David Curso 2011 -2012 Cl aver o Carr as cu ll, C arl os Rodr ígu ez Gr ota , Dav id
  • 2. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Índice 1.- Introdu cció n ....................................................................................... 1 1.1.- Pres enta ción ......................................................................... 1 1.2.- Moti vaci o nes ......................................................................... 1 1.3.- Obje tivo s ............................................................................... 1 2.- Desarr ollo de u n rob ot seg uidor de línea ........................................ 2-24 2.1.- Conc eptos bás icos ............................................................. 2-7 2.1.1 .- I ntrod ucció n a Arduino .......................................... 2-4 2.1.2 .- I ntrod ucció n a la programaci ón Arduino ................. 5-7 2.2.- Prác tica ............................................................................ 8-24 2.2.1 .- Co mponen tes del chasi s ........................................ 8-9 2.2.2 .- Co mponen tes electróni cos .................................. 10-12 2.2.3 .- P rimer os p rogramas ........................................... 13-18 2.2.4 .- S eguim iento del proyecto ....................................... 19 2.2.5 .- P roble mas y soluciones ...................................... 20-24 3.- Result ados y es tadí s ticas .............................................................. 25-28 3.1.- Robot fin aliz ado .............................................................. 25-26 3.2.- Pres upues to ........................................................................ 27 3.3.- Mejo ras futur as ................................................................... 28 4.- Anexo ........................................................................................... 29-31 4.1.- Prog rama y co nexi ones f inal es ......................................... 29-30 4.2.- Web g rafí a ........................................................................... 31 Cl aver o Carr as cu ll, C arl os Rodr ígu ez Gr ota , Dav id
  • 3. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 1. Introducción 1.1. Presentación El proyect o ha sid o re ali zado p or Ca rlos Clavero Carrascul l y David Rodr íguez Grot a, del Centr o de Estud ios STUCOM, de l segundo curso de CFGS de Sistemas de Telecomunic acio nes e I nformá tica . Este consta de una parte práctica, la cual es la realizació n de un robo t seguid or de l ínea, de un inf orme donde se expli can todos los pasos seg uido s e n e l pr o ceso de construcción del robot , de un CD que almacena videos, fotografí as y datos de pr uebas y procesos realizados y una presentación en PowerPoi nt con una br eve expl icac ió n del des arrol lo de este pr oyect o. 1.2. Motivaciones En pr imer lug ar hemos d ecidid o r eali zar est e pr oyecto porque uno de los motivos por l os que empezamo s es te cu r so de CF GS de Sist emas de Tel ecomunicaciones e Informát ica es la realizac ión de un r o bot a l fi nal de curso. En segun do luga r este proyect o nos permití a poner en práctica algunos de los conoci mien tos adqu irid os dura n te este curso. Otra de l as mot ivaci ones que nos impulsaron a cr ear un robot, es ponernos a prueba a nosotr os m ismo s de most rando que somos capaces de ent ender y llevar a la pr ácti ca la aplicación de dif eren tes elemen tos electrónicos . Finalmente una pres ente motiv ació n fue ver si conseguíamos desarrollar el código de programació n n eces ario , ya q ue, est e er a un aspecto bastante complej o por nuestra parte deb ido a n u estr os c onocim ient os. 1.3. Objetivos Mínimos: - Robot r astr eado r de una línea (Placa Ar duino, 2 LDR, 2 leds y 2 servomotores) con e l mín imo pres upues t o posible. El robot dis pond rá de s e nsores qu e deberán capt ar la intensidad de luz , principalmente el proce sado r inte rpre t ar a los estímulos de esta manera. Cuando del robot este encendido deber á se guir o bie n , una línea bl anca o negr a en el suelo. El procesador de alguna man era debe rá c a ptar e in terpretar por separado cada est imul o de l uz . Máximos: A part e de l a c arac terí s tica a nter ior , si hay tiempo y presupuesto suficiente el r obot deberá hac er t ambi én: - Robot que inte rpre te u n s onido. - Robot rast read or l uz ( LD R). - Conect ar u na p anta lla qu e muestre cuando esta encendi do o apagado. Cl aver o Carr as cu ll, C arl os Pá gin a 1 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 4. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2. Desarrollo de un robot seguidor de línea 2.1. Conceptos básicos 2.1.1. Introducción a Arduino: ¿Qué es Ard uino? Arduino es una pl aca cre ada p ara el aprendizaje y la intr oducción a la pr ogramación e implementac ión en le m undo f ísic o. Es una plataforma de desar roll o de comput ació n física de cód igo ab iert o, basada en una placa con un sencillo micro controlador y un entorno de des arro llo par a crea r so ftware para la placa. Puedes usa r Ar duin o p ara cr ear objetos int er activos, leyendo datos de una gr an variedad de in terr upto re s y sens ores y cont rolar multitud de tipos de luces, motores y otros actu ador es f ísic o s. Los proyect o s de Arduino pueden ser autónomos o comuni carse c on un pr og rama (so ftwar e) que se ejecut e en tu ordenador. El lenguaje de programació n d e A rdui no es un a implementa ción de Wiring, una plataf orma de comput ació n físic a pare cida, qu e a su vez se basa en Processing, un entorno de programació n mul timed ia , este lenguaje de progr amación es pareci do al lenguaje C o C++. ¿Por qué us ar Ar duino ? Arduino, adem ás de sim plifi car e l proceso de t r abajar con micro cont roladores , ofrece algunas ve nta jas r espe ct o a o tros sistemas a prof esores, estudi antes y amateurs:  Asequi ble: Ardui no UNO es asequibl e en cuanto a precio. La pl aca con el cable USB est a en tre los 30 a 40 €. El soft ware necesario para la programaci ón es gratu ito y se p uede descargar desde la pagi na ofici al http: //ar duin o.cc /es/ Main / Software  Multip lata for m a: El so ftw are uti lizado para Ardui no es multi plat afor ma, funciona en lo s si stema s op erat ivo s Windows, Maci ntosh OSX y Linux.  Entorn o de prog ramac ió n simpl e y directa: El entorno de programación de Arduin o es fácil d e usar para principi antes y lo sufici en temente f lexi ble para los usuari os a vanz ados .  Softwa re ampl iabl e y de código abier to: El software Ardui no esta publi cado bajo una l icen cia libr e y prepar ado para ser ampliado por pr ogramadores experi ment ados . Cl aver o Carr as cu ll, C arl os Pá gin a 2 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 5. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12  Hardwar e am plia ble y d e Códi go abier to: Los pl anos de los módulos están public ados baj o li cenci a Creati ve Commons, por l o que diseñador es de cir cuitos con exp erie ncia pued en hacer su pr opia versión del módulo, ampliándolo u optimi zánd olo. Componentes de l a pl aca Ardu ino UN O: - AREF (V erde clar o ): T e rminal de referencia analógica. Refer enci a de voltaje para las entra das anal ógi cas. - GND (Na ranja ): T oma d e tier ra - Pines 2-13 (Azu l cl aro) : Terminales digital es - Pines 0- 1 (Amari llo ) : Te rminal es digital es E/S serie - Tx/Rx. Estos pines no se pueden ut iliz ar c o mo e /s digit ales si se esta util izando comuni caci ón en seri e. - Reset (Blan co): Botó n d e rei nici o - ICSP (Azu l oscur o ): " In-cir cuit Serial Programmer"/Programador seri e en circui to - ATMEGA328P-PU (Roj o) : Micr ocontrol ador ATMEGA328P -PU - Pines 0-5 (Gri s os curo ) : Termi nales de ent rada analógica - Pines 3.3V , 5V , Vi n ( Ma r rón): Termi nales de alimentación. Vin (a ve ces mar cada c omo "9V"), es el vol taje de entrada a la placa Arduino cuando se es tá ut iliz and o una fuente de al iment ación exter na (En comparación con lo s 5 vo lt ios de la co nexión USB o de otr a f uente de al iment ación regul ada). Puedes pro porc iona r vo lt aje a través de este pin. Cl aver o Carr as cu ll, C arl os Pá gin a 3 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 6. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 - Pin Res et ( G ris claro ): Se pone a LOW para reset ear el microcontr olador . Utiliz ada típ icam ente pa r a añadir un bot ón de reset a shi elds qu e bloquean el de la pl aca prin cipa l. - Entrada de alim enta ción ( Rosa ): Entrada de al imentación exter na - USB (V erde oscu ro ): En trada USB uti lizada para subi r progr amas a l a pl aca y comuni caci ones serie e ntre l a placa y el ordenador; puede ut ilizarse como alimen taci ón. Cl aver o Carr as cu ll, C arl os Pá gin a 4 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 7. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2.1.2. Introducción a la programación de Arduino Este apar tado pre tend e explic ar la progr amación más bási ca que se necesitar ía saber crear prog ramas sen cill o s en A rdui no UNO . Para emp ezar anal izare mos la es tructura de un sketch (códi go de progr amaci ón). L a estructura b ásica d el le nguaje d e progr amaci ón de Arduino es bastante simple y se compone de a l meno s do s secto res. Estos dos son necesarios ya que enci erran bloques que conti enen dec larac io nes, estam entos o inst rucciones. v o id s e t u p( ) { En donde “setup( )” es la parte encargada de recoger la e s ta m e n t o s; confi guración y “loop() ” es la que cont ienen el programa que } v o id l o o p () { se ej ecut ará cíclicament e .Ambas f unci ones son necesarias e s ta m e n t o s; para q ue el programa t rabaje. } void setup(){ La funci ón de configuración pinMode(pin, OUTPUT); ( “setu p”) debe cont ener la // configura el 'pin' declar ació n de la s va ria bles. Es la primer a f unción a como salida ejecutar en el pr ogram a, se e jec uta sólo una vez. Se } utili za para ini cial izar l os mo dos de trabajo de los pines o d el p uert o se rie. La funci ón buc le ( “lo op”) siguien te contiene el código que se ejecutara continuamente (lectura de entra das, activación de sal idas , void loop() { digitalWrite(pin, HIGH); // pone en uno (on, etc.) Esta fu nció n es el 5v) el ´pin´ núcleo de todo s lo s delay(1000); // espera un segundo (1000 ms) programas de A rdui no y digitalWrite(pin, LOW); // pone en cero (off, 0v.) el ´pin´ la que real iza la ma yor delay(1000); parte del tra bajo . } Una vez comp rend ida la estructura de la progr am ación proc edemos a est udiar las funciones básicas. Una función e s un bl oqu e de cód igo que tiene un nom bre y un conjunt o de estamentos que son ej ecut ados cuan do se llama a la función. Son f unci ones “set up()” y “loop()” de las que ya se ha habl ad o. La s f unci ones de usuario pueden ser escr itas para realizar tareas repet itiv as y para reducir el tamaño de un programa. Las funciones se declar an asociadas a un t ipo de v alor . Es te val or será el que devolver á la función, por ejemplo “int” , que se u til izará cua ndo la fu nción devuelva un dato numéri co de t ipo entero. Si la funci ón no devue lve nin gún valor entonces se colocar á delante la palabra “void” , que signi fica fu nció n vacía . Despué s de declarar el ti po de dato que devuel ve la función se debe esc rib ir el no mbre de la fun ción y entr e par éntesis se escribirán, si es n ecesario, los paráme tros que se de ben pa sar a l a función para que se ejecute. Ahora pasar emos a expl icar la s normas básicas de la pr ogramación en Arduino, que siempr e se ten drán en cu enta para no ocasionar errores de códi go. Las llaves ({ }) si rven p ar a de fin ir el principio y el final de un bl oque de instrucciones. Se ut ilizan p ara los bloq u es de programación “setup()”, “loop()” , “i f”, etc. Cl aver o Carr as cu ll, C arl os Pá gin a 5 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 8. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Una llave de a pert ura ({ ) siempr e debe ir seguida de una l lave de cierre ( } ) , si no es así el programa dará err o res. E l ent orno de pr ogramación de Ar duino incluye una herramient a de gra n ut ilida d pa ra comprobar el total de l laves. Sól o tienes que selecciona r en el p unto d e inse rció n de una llave abier ta e inmediatament e se mar ca el correspond ie nt e ci erre de ese bloq ue ( ll ave cer rada). El punto y coma ( ;) se uti liza par a separar inst rucciones en el lenguaje de programación de Arduino . Ta mbié n se u tiliz a pa ra separ ar elementos en una i nstr ucci ón de tipo bucle . Olvidarse de pone r fin a una lín ea con un punto y coma se t raduci rá en un error de compil ació n. El tex to d e error puede ser obvi o, y se ref erir á a la falta de una coma, o puede qu e no. Si se pr od uce un error raro y de di f ícil d et ecci ón lo pr imero que debemos hacer es c ompro bar q ue los puntos y comas están colocados al f inal de las instruccio nes. Los bl oque s de comen tar ios, o mult i -l ínea de comentar io s, son áreas de texto ignorados por el pro grama q ue se utili zan para las descri pcion es del código o comentar ios que ayudan a c ompre nder e l programa . Comienzan con “/*” y terminan con “ */” y pueden abarcar va rias lín eas. Una línea de c omen tari o empiez a con “ //” y termi nan con l a siguiente lí nea de códi go. Al igual que los come ntar io s de b loque, los de l ínea son ignora das por el programa y no ocupan esp acio en la m e moria. Una vez ente ndid o to do lo ant erio r procedemos a hacer una expli caci ón básica de las variables y su dec lara ció n. Una variab le es u na m a nera de n ombr ar y almacena r un int valor numé rico par a su u so po ster ior por el progr ama. Como variableEntrada = su nombre indi ca, l as var iables so n n úmeros que se pueden 0; // declara una variar cont inuam ente e n contra d e lo que ocur r e con las variable y le asigna el valor 0 constantes cu yo valo r nu nca cambi a. Una vari able debe ser variableEntrada = declar ada y, o pcio nalm en te, a sign arle un valor. analogRead(2); Las variab les deben tom ar nomb res descrip t ivos, para hacer el código m ás le gibl e, p ara ay udar al pr ogramador y a cualquier otr a per sona a leer el código y ente nder lo que repres enta la vari able. Todas las va riab les ti en en que decl ararse antes de que puedan ser util izadas. Para declar ar un a var iab le se comien za por def inir su t i po como “int” ( entero), “ long” (largo), “float” (coma fl otan te) , et c. a sign ándoles siempre un nombre, y, opcionalmente, un valor inici al. Est o sólo deb e ha cerse una vez en un programa, per o el valor se puede cambi ar en cualqu ier m oment o us ando a ritm ética y reasignaciones di versas. Una variab le p uede ser d eclara da e n una serie de lugare s del pr ograma y en función del lugar en do nde se ll ev e a cab o la defi nición esto determinar á en que part es del programa s e po drá hacer uso de e lla. Una var iabl e pued e se r dec la rada al inicio de l programa antes de la part e de confi gurac ión “set up()” , a nive l loc al dentr o de l as func iones, y, a veces, dent ro de un Cl aver o Carr as cu ll, C arl os Pá gin a 6 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 9. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 bloque, co mo pa ra l os b u cles d el t ipo “if” , “f or”, et c. En función del lugar de decl aración de la var iab le así se de termin ara el ámbi to de aplicación, o la capacidad de ci ertas partes de un progr ama p ara ha cer uso de ella. Una var iabl e gl obal es a quell a que puede ser vista y ut ili zada por cual quier función y estamento de u n prog ram a. Esta v ariable se declara al comi enzo del programa, antes de “setup()”. Una var iabl e loca l es a q uella q ue se defi ne dent ro de una función o como parte de un bucle. Só lo es vi sibl e y s ólo p uede uti lizarse dent r o de la f unci ón en la que se declaró. Por l o tanto , es pos ibl e t ener dos o más varia bles de l mi s mo nombre int value; // 'value' es visible para cualquier función en difer ente s part es d el mismo void setup() programa que pu eden contene r { valores dif eren tes. L a g aran t ía de // no es necesario configurar que sólo u na fun ción t ie ne acces o } void loop() a sus vari able s d entro de l { programa simp lifi ca y reduce e l for (int i=0; i<20;) // 'i' solo es potencial de err o res de visible { // dentro del bucle for programació n. i++; } float f; // 'f' es visible solo } // dentro del bucle Cl aver o Carr as cu ll, C arl os Pá gin a 7 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 10. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2.2.- Práctica 2.2.1.- Componentes del chasis Placa de m etac rila to La pl aca d e me tacr ilat o se u til izar á como base par a el chasis de l r obot y se trat a ú nicament e de una placa transparen te d e plá sti co pero de gr an dureza y grosor . Por tanto, se rá perf ecta par a s uj etar todos los elementos del robot a ella aunq ue tr a bajarl a ser á algo mas compli cado debido a sus carac terí sti cas. CD Los CD l os ut iliz arem os como la s ruedas delanteras de l robot y será n uno s sim pl es CD que podr íamos uti lizar para grabar info rmaci ón o pe l ículas . Aunque también servir ían unos discos tra nspa rent e s igual es a los CD tal y como hemos uti liza do noso t ros en nuest ro proyecto que quedar án m ejor con la pl aca t ransp arente. Rueda con b ase g irat ori a La rueda tr aser a ser á una ru eda con base gir ator i a que permit irá al ro bot desp l azarse sin dif icul tad en curvas del recorr ido, ya que, la ú ni ca fun ción de ésta será obedecer a las delan teras que ll evar án la dir ecci ón. Bridas Unas brid as d e p lást ico normal es servi rán par a f i jar l os elementos el ectr ónic os c omo serv omotores o pl acas al chasis sin di ficu ltad . Al u tiliz ar bri das pequeñas y cortar en trozo r esta nte una vez p uest a conseguimos que queden más dis cret as e n el robo t y que no t engamos que hacer aguj eros dem a siado gran des para pasar las. Cl aver o Carr as cu ll, C arl os Pá gin a 8 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 11. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Cinta de go ma de dob le cara a uto - adhesiva Se trata de un a cint a de goma que podemos utili zar para rode ar l as r uedas y as í conseguir que no resbalen las ru edas sobre un a super fici e lisa. Ésta goma es de dob l e car a y fácil de poner debido a s u elast icid ad y sus prop iedades adhesi vas. Perfil de sil icona El per fil d e sil icon a ha ce la m isma f unci ón que la cinta de goma q ue es la de rodea r la rueda y evitar que no se ad hier a sob re super fici es li sas y es como la goma de u na b icic leta pero d e si licona y nosotros podemos ad apta rla a nu e stra r ueda . Hemos pu esto éste perf il de sil icona porque quedaba mejor en cua nto a esté tic a pero c ualquier a de l as dos opciones c umpl e co n el o bjeti vo. Estaño El est año e s un m etal que se util iza y durant e el proyecto hemo s util iza do para so ldar pequeños elementos ele ctró nico s, pero tamb ién nos ha ser vido en el chas is p ara fija r lo s CD qu e a los servomot ores simplemente como el eme nto de un ión a tr avés de los agujer os e n lu gar de un t ornil lo. Cl aver o Carr as cu ll, C arl os Pá gin a 9 de 3 3 Rodr ígu ez Gr ota , Dav id
  • 12. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2.2.2.- Componentes electrónicos Placa Ardui no U N O: (m ir ar apa rtado 1.1) Sensor de Luz o LDR ( Li ght Dependent Resistor): Un LDR es una resist encia variable, que var ía su valor dependiendo de la canti dad de luz que incide sobre su superf icie. Cuanta mas i ntensidad de l uz incide en la superf icie de la L DR menor será su resist enci a y cuant o menos luz inc ide mayor será la r esistencia. Suel en ser util izado s c omo se nsores de luz ambiental o como una f otoc élul a q ue act iva un deter minado proceso en aus enci a o pr esenci a de luz. Los valore s qu e pu ede tomar una L DR en t otal oscuri dad y a ple na luz puede va riar un poco de un modelo a ot ro, en general oscil an entre unos 50 a 1000 o hmios cua ndo están iluminadas y valores comprendidos ent re 50K y vari os m egohm ios cuando est á a oscuras. Sensor CNY70 El CNY70 es un peq ueñ o dispos itivo con forma de cubo y cuatro pi nes que tien e en su int erior un diodo emisor de infrar rojo s y un f otot rans i stor en paral elo y apuntando ambos en la mism a di recc ión. Con sol o 2 re sist enci as y un tra nsistor es fácil conectar un CNY70 a un a p lac a Ard uino, est e sensor es muy usado en robots seg uido res de l íne as. Protoboard El pr otob oard es una especi e d e t ablero con orifi cios, en la cual se pueden insertar componente s el ectr ónic o s y c ables para armar circui tos. Lo s or ific ios está n interconectado s entre si por co lumn as c omo lo vemos en l a fot o. En algu nas pl acas tambié n hay f ilas interconec tand o los ori fic ios, est as se encuentran en los bord es de la pl aca, como lo muestr a la segunda fo to. Cl aver o Carr as cu ll, C arl os Pá gin a 1 0 d e 33 Rodr ígu ez Gr ota , Dav id
  • 13. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Motor Servo Un motor ser vo es un dispos iti vo actuador que tiene la capacidad de ubicarse en cualquier pos ició n dent ro de su rango de oper aci ón, y de mantenerse est able en dicha posici ón. Consta de un m otor de corrie nte conti nua, con una caj a reductora y un circuito de control, para su posic ion amient o. Eje de Reductor de velocidad potencia Los servo s es tánd ar llev an 3 cab les: tensión, t ier ra y control . Se mueven en función de pulsos qu e l e en viam os a tra vés del cable de control y estos pulsos que le envi amos son los que esta blece n la po sici ón del ser vo. El servo esper a pul sos cada 20 milisegund os par a ten er una ide a corr ecta de la posici ón que ha de tener. En general los servo s giran un os 1 80 grados , aunque hay algunos que giran más. Tienen una amplit ud d e pu lsos de en tre 0 .5 y 2.5 mil isegundos para establecer la posi ción. Para nues tro proy ecto d eb erem os util izar el ser vomotor para poder mover las r uedas delanteras y d eber á po de r real izar gir os de 360º continuos. LED: Los LED (L ight E miti ng Diode) . Son di odos que se ilumi nan cuando pasa la e lect rici dad. Tienen dos “p atas ”, un a positi va más larga ( ánodo) y ot ra negati va (cátodo).S e co nect an a Arduin o por medio de una resistencia par a proteger e l LE D y el m icr ocontr olad or. Resist enci as La resist enci a el éctr ica de un obj eto es una medida de su oposición al pa so de cor rient e. Una resistencia i deal es u n elemento pa sivo que d isi pa ener gía en for ma de calor según la ley de Jou le. También esta blec e una relaci ón de propor cionali dad ent re la intensid ad de co rrie n te que la atraviesa y l a tensi ón Cl aver o Carr as cu ll, C arl os Pá gin a 1 1 d e 33 Rodr ígu ez Gr ota , Dav id
  • 14. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 medibl e entr e sus ext rem os, rela ción conoci da como ley de Ohm. D e acuerdo con la ley de Ohm. La re sist enci a d e un mat erial puede defi nirse como l a razón entr e la caída de tensi ón y la corr ient e en dicha resi stencia, así: R = V / I Donde: R = Resistencia V = Voltaje I = Cor rien te. Porta-pila s El port a-pi las e s un e le ment o q ue nos permitir á alimentar e l rob ot q ue constr uyamos de forma independie nte s in est a r sujet o a un cable conect ado al orde nado r . El port a -pi las puede ser de di feren te tam año , forma o cantidad de pilas que pue de alb er gar pero en nuestro proyecto nos será suf i cient e co n 4 espacios para 4 pi las de 1 ,5V. Conmutad or d e pl aca MSP1M1 Es un interru ptor para poder c ortar la entrada de volt aje a l a placa Ard uino . E ste ti ene tres pines, per o nosotros solo conect arem os 2 de ell os , uno de los ext remos del conductor a alguno de los pine s pequ eños y el otro extremo al pin central que es más gra nde que los ot ros do s. Cable unifi lar El cable unif ilar s erá el conec tor entre el ementos electr ónic os y pi nes o p a ra re aliz ar l as conexiones en la protoboard de ésto s. Cl aver o Carr as cu ll, C arl os Pá gin a 1 2 d e 33 Rodr ígu ez Gr ota , Dav id
  • 15. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2.2.3.- Primeros programas Este apart ado m ostr ara funci ones bási cas de la placa Arduino UNO, por las que es recomendab le em peza r a pro bar ya que de esta manera se van adquiriendo conoci mien tos básic os d e su f unci onami ento, pr ogramación y caract erísticas físi cas. Algunos de l os pr ogram as empl eados est án descritos en l a página web ofi cial de Arduino (h ttp ://www .ard ui no.cc / ). Para realiz ar l os es que mas vis uales de las conexiones hemos util izado el software gratuito “Frit zin g ”. Programa#1: Esta func ión con sist e e n un led par padeante. Di cho led estar á conectado a un pin (por ejempl o el 13), y a l a to ma de t ierra de Ardui no (pin GND). El código ordenará al led que se e ncie nda y que se apague cada cier to t iempo. El led se conecta directamente a la placa (pin 13 y G N D) Como vemos en el c ódig o lo prim ero que hacemos es decl arar el pin nº 13 como sal ida, después le orde namos c on la funci ón “ digi talWr i te()” que deje salir tensión y con el “delay()” el t iempo en m ilise gundo s que ha de estar encendido, acto seguido decimos que se par e t amb ién po r tiempo l imit ado. Todo el códi go escr ito en “void loop()” se repit e contin uamen te. A parti r de es te cód igo se pued e ir experimentando introducie ndo más led s, para qu e se apaguen y se enciendan d epen dien do de las ó rdenes que se le dan. Cl aver o Carr as cu ll, C arl os Pá gin a 1 3 d e 33 Rodr ígu ez Gr ota , Dav id
  • 16. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Programa#2: El segun do prog rama consis tía entender el funci onami ento de un sensor LDR. Modifi cand o alg unos a specto s del códi go expuesto en la pági na web ofi cial , conseguimo s iden tif icar los val ores dados por el LDR y entender l as conexiones necesarias (ne cesa ria re sisten cia 10kΩ) . Ejemplo de las conexiones y el código: Conect amos a l LDR a l pi n de 5V y en el otro pin lo con ectam os en se rie a una resist enci a de 10 kΩ que ira al GND y al pin analó gico de Ard uino el cu al reci birá los dat os de l sen sor. En el có digo hay funci ones especí ficas par a que los datos recibi dos por e l LDR se muestr en por pantall a con la función Monit or Seri al del soft ware Arduino 1. 0.1 . Cl aver o Carr as cu ll, C arl os Pá gin a 1 4 d e 33 Rodr ígu ez Gr ota , Dav id
  • 17. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Programa#3: Partiendo d el pr ogram a anter ior, p asamos a cali brar un LDR junto con un led. El LDR, en la prá ctic a, lo t apam os de alg una maner a para que no distorsione los dat os por el efect o de la luz del led o la il umina ción ambient al. En la prácti ca comprobamos los val ores numér icos que inter preta el LDR con una hoja de papel blanca y una raya negar para ver ifi car que dif erencia a la perfección los dos col ores. Cl aver o Carr as cu ll, C arl os Pá gin a 1 5 d e 33 Rodr ígu ez Gr ota , Dav id
  • 18. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Programa#4: Este consi ste en a pren de r a ha cer funcionar un servomot or con Ar duino. C onsta de tres conexi ones ( rojo -5V, n egro -GN D y amar illo -di gital Pin) , con el sigui ente código comprobamos su func ion amient o. Mediante el códi go, conseguimo s que el servomotor f unci o ne durant e 5 segu ndos y e ste parado dura nte 1 segu n do y así cons ecut ivam ente . Programa#5: Probamos de con tro lar d os ser vomotores a la vez. Cl aver o Carr as cu ll, C arl os Pá gin a 1 6 d e 33 Rodr ígu ez Gr ota , Dav id
  • 19. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Programa#6: Este es e l últ imo pr ogra ma real izado antes del código f inal . Consist e en controlar l os servomotore s de p end iend o de los datos captados por l os LDR. #include <Servo.h> Servo servo1; Servo servo2; int entrada_sensor; int entrada_sensor2; void setup(){ pinMode (12, OUTPUT); pinMode (13, OUTPUT); pinMode (0, INPUT); pinMode (1, INPUT); Serial.begin(9600); } void loop(){ digitalWrite (12, HIGH); digitalWrite (13, HIGH); entrada_sensor = analogRead (0); Serial.print("n"); Serial.print("LDR = "); Serial.println(entrada_sensor); if (entrada_sensor < 450){ attach_servos(); } else { En este progr ama, por un lado vemos detach_servos2(); funci ones par a control ar el encendido y } entrada_sensor2 = analogRead (1); apagado de los servos, y por otro las Serial.print("LDR2 = "); lectur as de los LDR por separado. En Serial.println(entrada_sensor2); delay(500); cada lect ura de los LDR, hay un if (entrada_sensor2 < 450){ “if()…else( )” , l lamando a las funciones attach_servos2(); } de los servomotores (si la lect ura es else { menos a un val or, que se encienda un detach_servos(); } servomotor det erminado, y viceversa). } void detach_servos(){ servo1.detach(); } void detach_servos2(){ servo2.detach(); } void attach_servos(){ servo1.attach(9); } void attach_servos2(){ servo2.attach(10); } Cl aver o Carr as cu ll, C arl os Pá gin a 1 7 d e 33 Rodr ígu ez Gr ota , Dav id
  • 20. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Programa#7: Una vez ya pod emos co ntr ol ar los ser vomotores dependi endo de l os sensores LDR, probamos lo s sen sore s CNY70 ya que presentan un mej or rendimient o y funci onal idad ya que s on un os sen s ores com pact os e i nfrarrojos. El primer códi go util izado es sencil lo, s irve para v er el comportamie nt o y l os datos int erpr etados por los dos sensor es. Las conexio nes ne cesa r ias son un poco compl icad as ya que el sensor tie ne c uatr o pi ne s, a uno de entrad a l e l lega n 5V , al otro le l legan 5V pa sand o por u na resist enci a d e 2 20Ω, uno de los de sal ida se conecta con el GND y el otr o de sal ida se conect a en ser ia c on u na resis tenc ia conectada al GND y con el pin anal ógi co concret o. Cl aver o Carr as cu ll, C arl os Pá gin a 1 8 d e 33 Rodr ígu ez Gr ota , Dav id
  • 21. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2.2.4.- Seguimiento del proyecto Para r eali zar est e ro bot s eguido r d e lí nea es necesario un micro controlador, en nuestro caso hemos uti liza do l a plac a Ard uino que como most ramos en el apar tado 2.1. 1 es idónea pa ra desa rrol lar éste tip o de robot . Aquí encont ramos nuest ro pri mer obstáculo al conect ar l a pl aca al o r denado r (a part ado 2.2. 5). Para compr ende r e l f unci onamie nto y las caracter ísticas físi cas de la placa Arduino es necesario rea liza r v aria s prue bas básicas (como muestr a el apart ado 2.2. 3 o los videos incluidos en el CD adju n to a l i nforme) para famil iarizarse con los pines y códi go que poster iorm ente util izar e mos par a el r obot . Una vez comprendido el funcionami ento de dichos elem ento s pod re mos ent ender como conectar l os el ementos electróni cos por separado para pos teri or mente poder conectarlos ent re si y así constr uir un robot seguidor d e l íneas . Una vez real izad as las prueba s y solucionados los problemas con los servomotores (apart ado 2.2. 5), e l pa so sigui ente es cr ear un pr ograma capaz de sincr onizar los dos sensor es co n los dos s ervomo tores (video adjunto en el CD) . Para ell o deber emos inter preta r las lect uras de los s ensor es y una vez obt enidos los valor es deseados sincroniza r di chos sen sor es con los ser vomotores para contr olar su funcionamient o. El siguient e proc edimi ent o a tener en cuenta es el montaje del chasis de nuestro robot. Para el mon taje de nu e stro rob ot intentamos ut ilizar en la mayor medida posibl e los materi ales qu e p odemo s obte ner de for ma senci l la por casa par a no gast ar en nuevos materi ales (a part ado 2. 2. 1). La con strucción del chasis consiste en una base en la que colocar los elem ento s el ectrón icos (placa ardui no, servomotor es, protoboard…) y a la que poder un ir una s rue das pa ra su desplazami ento. En nuest ro caso, utili zamos una placa de metac rila to par a la base , unos CD con r ecubri miento de goma para las ruedas y una rued a “l oca ” par a s ostene r j unto a l as r uedas motr ices el robot. A continuaci ón, te ndre mos el chasis del r obot montado junto a los componentes electr ónic os (apa rtad o 2 .2.2) y úni camente tendremos que interconectar los todos a través de cabl es u nif ilar e s a l a pl aca arduino sirvi éndonos de la protoboard. Finalmente podr emos rea lizar las pruebas perti n entes para el seguimient o de la línea y soluci onar lo s probl emas que vayamos encont rando tanto como por la disposición de l os elementos físi cos del rob ot com o por parte de l a programación. Cl aver o Carr as cu ll, C arl os Pá gin a 1 9 d e 33 Rodr ígu ez Gr ota , Dav id
  • 22. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 2.2.5.- Problemas y soluciones Puerto USB-S eria l Ard ui no Al conectar la pl aca Ard u ino UNO, el PC no l a det ecta ya que no tiene los controladores necesarios ins tala dos . P ara in stal ar l os drivers hay que hacerl o manual mente desde “Administr ador de di spos itivo s ”, b uscamos la conexión correcta, vamos a “Propi edades” y en la pes tañ a de “Co n trola dores ” seleccionamos “Actualizar control ador …”. Una vez acabamos e sto nos apar ece un a ve ntana que en l a que seleccionamos “Buscar software de cont rola dor en el eq u ipo ”, c uando le veamos que nos deja seleccionar el director io, en la misma car peta del softw are Ardui no hay un director io l lamado “dri vers ”, hay que decirl e que lo s busq ue e n esta car peta, una vez encont rados se instalan y procedemos a configu rar e l s oftwa re . Una vez fin aliz ado e l p roceso de i nstalaci ón de los contr ola dores, configuramos el software indicándole el puerto y el modelo de placa que vamos a programar. En la sigui ente imagen podemos ver la confi guración, en la pestaña de “Tools”, seleccionamos “Board ”, e indica mos nue stra placa Ar duino (en nuestro caso Ardu ino UNO). Después selecciona mos “Ser ial P ort ” e indi camos el puerto serial correcto (en nuestr o caso COM8). Cl aver o Carr as cu ll, C arl os Pá gin a 2 0 d e 33 Rodr ígu ez Gr ota , Dav id
  • 23. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Adaptar ser vo ( de 1 80º a 360 º co ntinuos) El servom otor ad quir ido ( Servo Hit ec HS -311 Standard) par a nuest ro robot rastreador de línea, es un se rvo m otor sencil lo d e mediana ponencia y de giro de 180º, con un precio de 11,95€ . Especi fica cion es t écni ca s del Serv o Hi tec HS -311 Standard: > Peso: 43 g > Rotaci ón: 180 º > Tensió n re comen dada de operación: 4.8V > Torque est átic o: 6 .0v >/= 3.7kg.cm 4.8v >/ = 3. 0kg. cm > Veloci dad 6.0v : 0 .15s ec/ 60° > Veloci dad 4.8v : 0 .19s ec/ 60° > Soport e pa ra NX C Este serv omot or tie nen el inconveniente de que su giro es de 180º y nosotros necesi tamo s que ll egue a girar 36 0º conti nuos ya que van a ser las r uedas de nuestro robot . Para conseg uir que e l servo g irara l os 360º hay que tr ucar lo; est e tiene unos engranajes en l a par te s uperio r, l os cuales hemos de sacar y modi ficarlos para nuest ro propósito . A c onti nuac ió n vere mos el ejempl o de cómo trucamos el servo (Servo Hi tec HS-311 Sta ndard ): PASO 1: Desmont amos la pie za gira tori a de la par te superior del ser vo y acto seguido desmontarem os t ambi én l a par te d e inferi or: Cl aver o Carr as cu ll, C arl os Pá gin a 2 1 d e 33 Rodr ígu ez Gr ota , Dav id
  • 24. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Una vez de smont ada la pieza in feri or l a superi or ya la podemos sacar para ver los engranajes . PASO 2: Una vez c on lo s eng rana j es dela nte nos po demos fijar que hay dos topes que evit an que el mot or g ire los 360 º: En la primer a image n po demos ver como en el engranaje señalado hay una especie de rectángulo q ue es el qu e evita el gi ro. En la segunda imagen podemos ver como debaj o del mi smo e ngra naj e est a la f orma de l a pi eza de que va debaj o, esta pi eza no puede llegar a girar más de 180 º. PASO 3: Ahora que hem os loca li zado el engr anaj e que sirve de tope para el giro compl eto, procedemos a mo difi carl o de l a manera más sencill a posible y con cui dado. Con un taladro o un a her ramie nta par ecida hacemos el aguj ero de la parte infer ior del engranaje mas gran de y t otalme nte circular . Cl aver o Carr as cu ll, C arl os Pá gin a 2 2 d e 33 Rodr ígu ez Gr ota , Dav id
  • 25. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Después co n un os a lica te s cort amos el tope superi or del engranaje: PASO 4: Una vez f inal izad o es te proces o vo lvemos a p oner el engranaje en su si t io y mont amos otra vez el s ervom otor : Programación de los se rvos En relaci ón a la prog ra mación de Ar duino par a hacer funcionar los servomotores, tuvimos do s pr oblem as. El primer pr oble ma es tab a rela cion ado con la libr ería de lo s servos, el inconveni ente lo teníamos a l a ho ra de pa rar e l s ervomotor . Podíamos ponerl o en f unci onamiento con l a funci ón “at tach .ser vo(9) ” , pero a l a hora de det enerlo, no fuimos consci entes de que exist ía l a fu nció n co ntra ri a “de tach .servo()” . El segundo pro blema no s lo e ncon tramos al intentar progr amar los dos servomotores y los dos LDR. Ten íamo s que conseguir que dependiendo del valor que se obtení a en los LDR, func ionar a u n s erv omotor y se parara el otr o, f unci onaran l os dos o se detuvi eran los dos. P robam os vari as funci ones difer entes, como las funciones “swichCase()” o “if()…else i f()…e lse( )” , p ero fin almente encontr amos una forma muy sencilla de hacer lo con l a f unci ón “if( )…els e( )” , c onsi stía en pr ogramar cada sensor junto con su respect ivo servomotor de forma ind ependi ente ordenándole cuando tenia que parar y cuando t enia que poners e en fun cion a miento . Cl aver o Carr as cu ll, C arl os Pá gin a 2 3 d e 33 Rodr ígu ez Gr ota , Dav id
  • 26. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Sensor infr arro jo CN Y7 0 Cuando nos pro pusim os cambi ar l os LDR por l os sensores CNY70, tuvimos vari os problemas con lo qu e son las conexiones y las re sistencias necesarias para obtener buenos r esul tado s, ya qu e mucha de la información que aparece en int ernet es errónea . En est e ap arta do s e ex pli caran las soluciones obtenidas. Uno de lo s i ncon veni en tes m ás i mpor tant es a l a hor a de usar un sensor i nfrarro j o CNY70 es ten er la s res istenc ias adecuadas par a que proporcione datos fiables. La resist enci a ne cesa ria par a el e miso r infrarr ojo es de 220Ω y las resist enci as necesar ias para el rece ptor son de 10k Ω o 4 7kΩ i ndistint amente (se obtienen buenos r esul tados con cualqu iera de las dos ). Otro i ncon veni ente es el de tene r claro como conectar cada uno de los pines, la soluci ón la mu estr a la sig uient e ima gen En la prim era ima gen se muestra e l esquema lógico de las conexiones necesari as par a el buen func ionam ient o del sen sor CNY70 y en la segunda i magen se muestr a el esquema fí sico en una pr otoboa rd . Un aspect o que no se ti ene en cuenta a la hora de usar dichos sensores, es el que el emisor in frar rojo c uand o esta encendido, no se perci be por el oj o humano, para comprobar que el inf rarr o jo es ta encendido , es necesario di sponer de una cámara digital como l a de un móvi l, y cu ando e nfocas el sensor aparece el inf rarrojo encendido. Cl aver o Carr as cu ll, C arl os Pá gin a 2 4 d e 33 Rodr ígu ez Gr ota , Dav id
  • 27. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 3.- Resultados y estadísticas 3.1.- Robot finalizado Aquí podem os v er d ifer entes imágenes , de un prot otipo realizado con 3D Studio Max2010 para te ner un a idea de cómo pensábamos que habría de ser, un chasi s montado co n lo s com pon entes eléc tricos para ent ender donde colocar los componentes y unas imáge nes d e dos robots finalizados. En el CD adjunt o a este inf orme , se han guardado v ario s vi deos d emostr ativ os. Cl aver o Carr as cu ll, C arl os Pá gin a 2 5 d e 33 Rodr ígu ez Gr ota , Dav id
  • 28. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Cl aver o Carr as cu ll, C arl os Pá gin a 2 6 d e 33 Rodr ígu ez Gr ota , Dav id
  • 29. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 3.2.- Presupuesto PRESUPUESTO Productos Unidades Precio / Unidad Total Placa Arduino UNO 1 35,95 € 35,95 € Porta-pilas 1 0,85 € 0,85 € Pack 4 pilas de 1,5V 1 3,65 € 3,65 € Servomotor 2 13,43 € 26,86 € Juego de cables unifilares 1 8,70 € 8,70 € Pack 100 resistencias 10K Ohmios 1 1,25 € 1,25 € Pack 100 resistencias 220 Ohmios 1 1,25 € 1,25 € Sensor de luz CNY70 2 0,63 € 1,26 € Conmutador de placa MSP1M1 1 0,93 € 0,93 € Placa con cara de fibra de vidrio 1 1,44 € 1,44 € TOTAL 82,14 € PRESUPUESTO PARA PRUEBAS Productos Unidades Precio / Unidad Total Pack LED de colores 3 1,25 € 3,75 € LDR 5 1,68 € 8,40 € Cinta de goma doble cara autoadhesiva 1 4,40 € 4,40 € TOTAL 16,55 € TOTAL FINAL 98,69 € Cl aver o Carr as cu ll, C arl os Pá gin a 2 7 d e 33 Rodr ígu ez Gr ota , Dav id
  • 30. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 3.3.- Mejoras futuras Este apart ado tien e com o obje tivo explicar posibles mejoras par a el robot seguidor de línea. Algunas de la s mejor as f actib les para nuestro r obot seguidor de línea podr ían ser entre otras :  Intro ducir una p anta lla L CD que muestr e los datos obtenidos por l os sensores o la di recci ón en l a qu e gi r e el robot.  La in trod ucci ón d e u n mi crófono el cual tenga el objet ivo de parar o encender el robot .  La imp leme ntac ión de u n sensor que permi ta l a detecci ón de obstáculos a cort a dista ncia para ev itar una colisión.  Implem entar u n LDR par a detect ar la cantidad de luz del ambi ente y así simular la dife renci a entr e día y noche par a encender de forma automát ica unos LED delan teros y trase ros a m odo de faros para su det ección. Cl aver o Carr as cu ll, C arl os Pá gin a 2 8 d e 33 Rodr ígu ez Gr ota , Dav id
  • 31. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 4.- Anexo 4.1.- Programa y conexiones finales En el siguien te a part ado inclu imos el código f inal utili zado y l as conexiones real izadas. #include <Servo.h> Servo servo1; Servo servo2; int CNY1; int CNY2; int LDR; void setup(){ Serial.begin(9600); //para visualizar los datos pinMode(10, OUTPUT); pinMode(9, OUTPUT); pinMode(8, OUTPUT); pinMode(7, OUTPUT); } void loop(){ CNY1 = analogRead (A0); Serial.print("nCNY_Dr = "); Serial.println(CNY1); if (CNY1 < 500){ //si el CNY capta <200 funcione el servo 1 attach_servos(); } else { //sino que se apague detach_servos(); } CNY2 = analogRead (A1); Serial.print("CNY_Iz = "); Serial.println(CNY2); if (CNY2 < 500){ //si el CNY capta <200 funcione el servo 2 attach_servos2(); } else { //sino que se apague detach_servos2(); } LDR = analogRead (A2); Serial.print("LDR = "); Serial.println(LDR); //delay(1000); if (LDR > 200){ digitalWrite(10, LOW); digitalWrite(9, LOW); digitalWrite(8, LOW); digitalWrite(7, LOW); } else { digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8, HIGH); digitalWrite(7, HIGH); } } void detach_servos(){ servo1.detach(); } void detach_servos2(){ servo2.detach(); } void attach_servos(){ servo1.attach(13); } void attach_servos2(){ servo2.attach(12); } Cl aver o Carr as cu ll, C arl os Pá gin a 2 9 d e 33 Rodr ígu ez Gr ota , Dav id
  • 32. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 Estas son l as conex ione s necesari as para un r obot seguidor de línea en el cual hay dos sensor es CN Y70 que se util izan par a detec t ar l a línea, dos servomotor es par a l as ruedas motr ices del r o bo t, un L DR que det ectara la luz ambi ente para comprobar si se va la l uz y un os le ds qu e se enc enderán cuando el LDR no det ecte luz. También son necesarias var ias resis te ncias para est e pr oyecto: 220 Ω, 10kΩ y 47kΩ . Se recomienda utili zar cable s de d isti nto s color es para difer enciar las f unci ones y poder entenderlo de forma senc illa . Cl aver o Carr as cu ll, C arl os Pá gin a 3 0 d e 33 Rodr ígu ez Gr ota , Dav id
  • 33. Si st ema s d e T ele co mun ic a ció n e In form át ica Cur so 201 1 - 20 12 4.2.- Web grafía Información http: //www .ard uino .cc/ es/ http: //www .inf o -ab .uclm .e s/l ab elec /sol ar/otros/inf rarrojos/sensor_cny70.htm http: //jorgef lore sver garay .blog spot .com. es/2009/ 07/un -carrit o-seguidor -d e-li nea- sencil lo. html http: //www .sli desh are. net /rongu ti/ robot -seguidor -d e-linea http: //www .rob otgr oup. co m.ar/w eb/ Componentes http: //www .ond arad io.e s/ (Compon entes varios) http: //www .dio tron ic.c om/ (Sens ores CNY70) http: //ro -bot ica. com/ (Ser vomoto res) *Las pagina s webs d e inf ormaci ón, a nteri ores, han sido l as mas utili zadas. En internet , puede habe r muc ha in f ormaci ón y puede llegar a ser úti l o no, estar corr ecta o incorr ecta , pe ro mu chas de las con clusiones a las que hemos llegado para reali zar este proyecto h an s ido a p arti r de foros o blogs. Cl aver o Carr as cu ll, C arl os Pá gin a 3 1 d e 33 Rodr ígu ez Gr ota , Dav id