Sie sind auf Seite 1von 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

ROBOT SEGUIDOR DE LINEA


Sistemas de Telecomunicacin e I nformtica Claver o Car rascull, Car los Rodrguez 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 cin ......................................................................... 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 lnea ........................................ 2-24 2.1.- Conc eptos bs 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.- Prc tica ............................................................................ 8-24 2.2.1 .- Co mponen tes del chasi s ........................................ 8-9 2.2.2 .- Co mponen tes electrni 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. Introduccin
1.1. Presentacin
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 prctica, 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 construccin del robot , de un CD que almacena videos, fotograf as y datos de pr uebas y procesos realizados y una presentacin 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 Informt ica es la realizac in de un r o bot a l fi nal de curso. En segun do luga r este proyect o nos permit a poner en prctica 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 aplicacin de dif eren tes elemen tos electrnicos . Finalmente una pres ente motiv aci n fue ver si conseguamos desarrollar el cdigo 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
Mnimos: Robot r astr eado r de una lnea (Placa Ar duino, 2 LDR, 2 leds y 2 servomotores) con e l mn imo pres upues t o posible.

El robot dis pond r de s e nsores qu e debern capt ar la intensidad de luz , principalmente el proce sado r inte rpre t ar a los estmulos de esta manera. Cuando del robot este encendido deber se guir o bie n , una lnea 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 . Mximos: 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.
P gin a 1 de 3 3

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

2. Desarrollo de un robot seguidor de lnea


2.1. Conceptos bsicos
2.1.1. Introduccin a Arduino:
Qu es Ard uino?

Arduino es una pl aca cre ada p ara el aprendizaje y la intr oduccin a la pr ogramacin e implementac in en le m undo f sic o. Es una plataforma de desar roll o de comput aci n fsica de cd 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 autnomos 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 cin de Wiring, una plataf orma de comput aci n fsic a pare cida, qu e a su vez se basa en Processing, un entorno de programaci n mul timed ia , este lenguaje de progr amacin 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 programacin de Arduin o es fcil 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 cdigo 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 Rodr gu ez Gr ota , Dav id P gin a 2 de 3 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

Hardwar e am plia ble y d e Cdi go abier to: Los pl anos de los mdulos estn public ados baj o li cenci a Creati ve Commons, por l o que diseador es de cir cuitos con exp erie ncia pued en hacer su pr opia versin del mdulo, amplindolo u optimi znd olo. Componentes de l a pl aca Ardu ino UN O:

AREF (V erde clar o ): T e rminal de referencia analgica. 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 analgica Pines 3.3V , 5V , Vi n ( Ma r rn): Termi nales de alimentacin. 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 acin exter na (En comparacin con lo s 5 vo lt ios de la co nexin USB o de otr a f uente de al iment acin regul ada). Puedes pro porc iona r vo lt aje a travs de este pin.

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 3 de 3 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

Pin Res et ( G ris claro ): Se pone a LOW para reset ear el microcontr olador . Utiliz ada tp icam ente pa r a aadir un bot n de reset a shi elds qu e bloquean el de la pl aca prin cipa l. Entrada de alim enta cin ( Rosa ): Entrada de al imentacin 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 Rodr gu ez Gr ota , Dav id

P gin a 4 de 3 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

2.1.2. Introduccin a la programacin de Arduino


Este apar tado pre tend e explic ar la progr amacin ms bsi 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 (cdi 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( ) { e s ta m e n t o s; } v o id l o o p () { e s ta m e n t o s; }

En donde setup( ) es la parte encargada de recoger la confi guracin y loop() es la que cont ienen el programa que se ej ecut ar cclicament e .Ambas f unci ones son necesarias para q ue el programa t rabaje.
void setup(){ pinMode(pin, OUTPUT); // configura el 'pin' como salida }

La funci n de configuracin ( se tu p ) debe cont ener la declar aci n de la s va ria bles. Es la primer a f uncin a ejecutar en el pr ogram a, se e jec uta slo 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 cdigo que se ejecutara continuamente (lectura de entra das, void loop() { activacin de sal idas , digitalWrite(pin, HIGH); // pone en uno (on, etc.) Esta fu nci n es el 5v) el pin ncleo de todo s lo s delay(1000); // espera un segundo (1000 ms) digitalWrite(pin, LOW); // pone en cero (off, programas de A rdui no y 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 acin proc edemos a est udiar las funciones bsicas. Una funcin e s un bl oqu e de cd igo que tiene un nom bre y un conjunt o de estamentos que son ej ecut ados cuan do se llama a la funcin. 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 tamao 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 funcin, por ejemplo int , que se u til izar cua ndo la fu ncin devuelva un dato numri co de t ipo entero. Si la funci n no devue lve nin gn valor entonces se colocar delante la palabra void , que signi fica fu nci n vaca . Despu s de declarar el ti po de dato que devuel ve la funcin se debe esc rib ir el no mbre de la fun cin y entr e par ntesis se escribirn, si es n ecesario, los parme tros que se de ben pa sar a l a funcin para que se ejecute. Ahora pasar emos a expl icar la s normas bsicas de la pr ogramacin en Arduino, que siempr e se ten drn en cu enta para no ocasionar errores de cdi 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 programacin setup() , loop() , i f , etc.
Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id P gin a 5 de 3 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

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 ogramacin de Ar duino incluye una herramient a de gra n ut ilida d pa ra comprobar el total de l laves. Sl 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 programacin 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 ln 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 estn 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 cdigo o comentar ios que ayudan a c ompre nder e l programa . Comienzan con /* y terminan con */ y pueden abarcar va rias ln eas. Una lnea de c omen tari o empiez a con // y termi nan con l a siguiente l nea de cdi 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 bsica 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 valor num rico par a su u so po ster ior por el progr ama. Como su nombre indi ca, l as var iables so n n meros que se pueden variar cont inuam ente e n contra d e lo que ocur r e con las constantes cu yo valo r nu nca cambi a. Una vari able debe ser declar ada y, o pcio nalm en te, a sign arle un valor.
int variableEntrada = 0; // declara una variable y le asigna el valor 0 variableEntrada = analogRead(2);

Las variab les deben tom ar nomb res descrip t ivos, para hacer el cdigo m s le gibl e, p ara ay udar al pr ogramador y a cualquier otr a per sona a leer el cdigo 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 slo 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 funcin del lugar en do nde se ll ev e a cab o la defi nicin 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 in 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 Rodr gu ez Gr ota , Dav id

P gin a 6 de 3 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

bloque, co mo pa ra l os b u cles d el t ipo if , f or , et c. En funcin del lugar de decl aracin de la var iab le as se de termin ara el mbi to de aplicacin, 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 funcin 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 funcin 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 ms varia bles de l mi s mo nombre en difer ente s part es d el mismo programa que pu eden contene r valores dif eren tes. L a g aran t a de que slo u na fun cin t ie ne acces o a sus vari able s d entro de l programa simp lifi ca y reduce e l potencial de err o res de programaci n.

int value; // 'value' es visible para cualquier funcin void setup() { // no es necesario configurar } void loop() { for (int i=0; i<20;) // 'i' solo es visible { // dentro del bucle for i++; } float f; // 'f' es visible solo } // dentro del bucle

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 7 de 3 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

2.2.- Prctica
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 tambin 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 permit ir al ro bot recorr ido, ya que, las delan teras que ser una ru eda con base gir ator i a que desp l azarse sin dif icul tad en curvas del la ni ca fun cin de sta ser obedecer a ll evar n la dir ecci n.

Bridas Unas brid as d e p lst ico normal es servi rn 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 pequeas y cortar en trozo r esta nte una vez p uest a conseguimos que queden ms 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 Rodr gu ez Gr ota , Dav id

P gin a 8 de 3 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

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 fcil 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.

Estao El est ao e s un m etal que se util iza y durant e el proyecto hemo s util iza do para so ldar pequeos elementos ele ctr nico s, pero tamb in 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 in a tr avs de los agujer os e n lu gar de un t ornil lo.

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 9 de 3 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

2.2.2.- Componentes electrnicos


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 estn 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 in. Con sol o 2 re sist enci as y un tra nsistor es fcil 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 Rodr gu ez Gr ota , Dav id

P gin a 1 0 d e 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

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 potencia

Reductor de velocidad

Los servo s es tnd ar llev an 3 cab les: tensin, t ier ra y control . Se mueven en funcin de pulsos qu e l e en viam os a tra vs 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 ms. Tienen una amplit ud d e pu lsos de en tre 0 .5 y 2.5 mil isegundos para establecer la posi cin. 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 ms larga ( nodo) y ot ra negati va (ctodo).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 oposicin al pa so de cor rient e. Una resistencia i deal es u n elemento pa sivo que d isi pa ener ga en for ma de calor segn la ley de Jou le. Tambin 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 Rodr gu ez Gr ota , Dav id

P gin a 1 1 d e 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

medibl e entr e sus ext rem os, rela cin 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 razn entr e la cada 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 ao , 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 eos y el otro extremo al pin central que es ms 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 Rodr gu ez Gr ota , Dav id

P gin a 1 2 d e 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

2.2.3.- Primeros programas


Este apart ado m ostr ara funci ones bsi 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 bsic os d e su f unci onami ento, pr ogramacin y caract ersticas fsi cas. Algunos de l os pr ogram as empl eados est n descritos en l a pgina 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 in 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 cdigo 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, despus le orde namos c on la funci n digi talWr i te() que deje salir tensin 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 in po r tiempo l imit ado. Todo el cdi go escr ito en void loop() se repit e contin uamen te. A parti r de es te cd igo se pued e ir experimentando introducie ndo ms 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 Rodr gu ez Gr ota , Dav id

P gin a 1 3 d e 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

Programa#2: El segun do prog rama consis ta entender el funci onami ento de un sensor LDR. Modifi cand o alg unos a specto s del cdi go expuesto en la pgi 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 cdigo:

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 funcin Monit or Seri al del soft ware Arduino 1. 0.1 .

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 1 4 d e 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

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 cin ambient al.

En la prcti ca comprobamos los val ores numr 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 perfeccin los dos col ores.

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 1 5 d e 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

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 cdigo comprobamos su func ion amient o.

Mediante el cdi 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 Rodr gu ez Gr ota , Dav id

P gin a 1 6 d e 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

Programa#6: Este es e l lt imo pr ogra ma real izado antes del cdigo 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 { detach_servos2(); } entrada_sensor2 = analogRead (1); Serial.print("LDR2 = "); Serial.println(entrada_sensor2); delay(500); if (entrada_sensor2 < 450){ attach_servos2(); } else { detach_servos(); } } void detach_servos(){ servo1.detach(); } void detach_servos2(){ servo2.detach(); } void attach_servos(){ servo1.attach(9); } void attach_servos2(){ servo2.attach(10); }

En este progr ama, por un lado vemos funci ones par a control ar el encendido y apagado de los servos, y por otro las lectur as de los LDR por separado. En cada lect ura de los LDR, hay un if()else( ) , l lamando a las funciones de los servomotores (si la lect ura es menos a un val or, que se encienda un servomotor det erminado, y viceversa).

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 1 7 d e 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

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 cdi 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 Rodr gu ez Gr ota , Dav id

P gin a 1 8 d e 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

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 idnea pa ra desa rrol lar ste tip o de robot . Aqu encont ramos nuest ro pri mer obstculo 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 fsi cas de la placa Arduino es necesario rea liza r v aria s prue bas bsicas (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 cdi 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 electrni 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 struccin del chasis consiste en una base en la que colocar los elem ento s el ectrn 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 travs 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 lnea y soluci onar lo s probl emas que vayamos encont rando tanto como por la disposicin de l os elementos fsi cos del rob ot com o por parte de l a programacin.

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 1 9 d e 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

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 conexin 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 software indicndole puerto y el modelo placa que vamos programar.

el el de a

En la sigui ente imagen podemos ver la confi guracin, en la pestaa de Tools, seleccionamos Board , e indica mos nue stra placa Ar duino (en nuestro caso Ardu ino UNO). Despus 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 Rodr gu ez Gr ota , Dav id

P gin a 2 0 d e 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

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 lnea, 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 operacin: 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 propsito . A c onti nuac i n vere mos el ejempl o de cmo 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 Rodr gu ez Gr ota , Dav id

P gin a 2 1 d e 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

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 sealado hay una especie de rectngulo 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 ms 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 ms 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 Rodr gu ez Gr ota , Dav id

P gin a 2 2 d e 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

Despus 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 :

Programacin de los se rvos En relaci n a la prog ra macin 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 era de lo s servos, el inconveni ente lo tenamos a l a ho ra de pa rar e l s ervomotor . Podamos 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 sta en pr ogramar cada sensor junto con su respect ivo servomotor de forma ind ependi ente ordenndole 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 Rodr gu ez Gr ota , Dav id

P gin a 2 3 d e 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

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 informacin que aparece en int ernet es errnea . 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 lgico 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 cmara digital como l a de un mvi l, y cu ando e nfocas el sensor aparece el inf rarrojo encendido.

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 2 4 d e 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

3.- Resultados y estadsticas


3.1.- Robot finalizado
Aqu podem os v er d ifer entes imgenes , de un prot otipo realizado con 3D Studio Max2010 para te ner un a idea de cmo pensbamos que habra de ser, un chasi s montado co n lo s com pon entes elc tricos para ent ender donde colocar los componentes y unas imge 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 Rodr gu ez Gr ota , Dav id

P gin a 2 5 d e 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

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 2 6 d e 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

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

PRESUPUESTO PARA PRUEBAS Productos Unidades Precio / Unidad Pack LED de colores 3 1,25 LDR 5 1,68 Cinta de goma doble cara autoadhesiva 1 4,40 TOTAL TOTAL FINAL

Total 3,75 8,40 4,40 16,55 98,69

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 2 7 d e 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

3.3.- Mejoras futuras


Este apart ado tien e com o obje tivo explicar posibles mejoras par a el robot seguidor de lnea. Algunas de la s mejor as f actib les para nuestro r obot seguidor de lnea 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 crfono el cual tenga el objet ivo de parar o encender el robot . La imp leme ntac in de u n sensor que permi ta l a detecci n de obstculos a cort a dista ncia para ev itar una colisin. 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 da y noche par a encender de forma automt ica unos LED delan teros y trase ros a m odo de faros para su det eccin.

Cl aver o Carr as cu ll, C arl os Rodr gu ez Gr ota , Dav id

P gin a 2 8 d e 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.- Anexo
4.1.- Programa y conexiones finales
En el siguien te a part ado inclu imos el cdigo 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 Rodr gu ez Gr ota , Dav id

P gin a 2 9 d e 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

Estas son l as conex ione s necesari as para un r obot seguidor de lnea en el cual hay dos sensor es CN Y70 que se util izan par a detec t ar l a lnea, 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 endern cuando el LDR no det ecte luz. Tambin 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 Rodr gu ez Gr ota , Dav id

P gin a 3 0 d e 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 grafa


Informacin 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 neasencil 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 Rodr gu ez Gr ota , Dav id

P gin a 3 1 d e 33

Das könnte Ihnen auch gefallen