Ttorial de Logicator Picaxe amb la placa Picaxe-08

  1. Hardware de la placa PICAXE-08

La placa PICAXE-08 porta un xip 8m2 que controla dos motors de CC a partir de la informació que rep de dos sensors CNY70.

El xip 8m2 té un processador, memòria on guardar el programa i memòria RAM. Els pins 3, 4, 5, i 6 son polivalents i es poden fer servir com a entrades digitals o analògiques,  sortides digitals o analògiques o moltes altres funcions més. Els pins 1 i 8 serveixen per alimentar el xip amb una tensió de 5 volts i els 2 i 7 per comunicar el xip amb l’ordinador i poder programar-lo.

El circuit d’alimentació i comunicació del xip, que està imprès a la placa és el següent:

Per alimentar la placa cal tenir una font de tensió de, com a mínim  8 volts que pot provenir d’un porta piles.La seerigrafia de la font d’alimentació està impresa a la placa i porta un díode perquè el corrent no circuli en direcció contraria, un interruptor i un regulador de tensió que crea un voltatge de 5 volts. El voltatge VCC és de 8 a 17 volts i el V+ de 5. Cal recordar que entre V+ i la massa hi ha un condensador de 10uF per evitar interferències. Si la tensió que tenim és inferior a 8 volts cal fer un pont al regulador.

Pel que fa als sensors, utilitzarem els de tipus reflexiu CNY70. Aquests, disposen d’un led emissor de llum i un fototransistor que condueix quan rep la llum del led rebotada en algun objecte clar. El led va alimentat amb 5 volts i una resistència de 220ohms per no cremar-lo i el transistor du un inversor de tensió que dona 5 volts quan el sensor no detecta blanc i res quan el detecta. Pel que fa als motors, es governaran des del xip amb un transistor que obra i tanca el pas de corrent de més de 8 volts a partir d’una senyal de 5 volts. També porta un led per indicar que funciona i una resistència per protegir-lo.









El El circuit total de la placa és el següent:



2. Software Logicator en el xip 8m2

Hi ha un altre programa més fàcil d’utilitzar que el basic anomenat Logicator. Per fer-lo servir només cal seleccionar Flowchart a la barra d’eines del Picaxe Programming Editor i desprès instal·lar el programa Logicator un programa que s’instal·la de forma quasi automàtica. Aquest programa fa servir la lògica dels blocs per funcionar, cada bloc dona una instrucció al xip sobre el que ha de fer i el xip executa els blocs un a un, de forma ordenada, seguint la fletxa que nosaltres dibuixem. Els blocs rectangulars realitzen operacions internes dins el xip, els romboides alteren l’estat de les sortides del xip i els rombes llegeixen entrades o valors i en treuen una resposta afirmativa o negativa, per tant, tenen una entrada i dues sortides. Per instal·lar aquest porgrama ho podem fer directament o a partir del Picaxe programming editor, també necessitarem els drivers del cable.


Exemple 1:

La intermitència amb el motor dret es fa com en aquesta il·lustració. Abans de poder escriure res cal anar a opcions i informar al programa que tenim un xip Picaxe 8m2 de (3 In – 3 Out (0,2,4)) i que esta al com 3. Per posar el high, el low i el wait anem a l’apartat common de la part dreta de la pantalla on hi ha les eines més comunes. El high engega una sortida, el low la para i el wait espera un temps que nosaltres decidim. Hem de posar els blocs units l'un darrera l’altre després de l'start i unir l’últim amb el primer per fer el bucle sense necessitat de capçaleres. Els valors numèrics dels blocs s’han de posar a la part inferior esquerra de la pantalla. No cal posar noms als pins ni posar el let dirs. Podem fer les fletxes amb el llapis que hi ha a la part superior de la pantalla, calicant l’origen de la fletxa i després del destí. 

 





Ex 2:

Ara cal fer les sirenes de la policia amb el motors dret i esquerra. A l’hora de simular podem seleccionar l’opció show the digital panel per veure l’estat de les sortides en un esquema. El que volem es que el motor dret estigui mig segon encès i després el motor esquerra mig segon més.











Ex 3:

Amb l’eina outpins del menú common podem activar i desactivar les sortides que volem d’un sol cop posant un 1 a les que volem activar, un 0 a les que volem desactivar i un – a les que volem deixar com estaven. Amb només dos waits i dos outpins podrem fer les sirenes de la policia amb els motors.

 

 

 

 

 

 

 

 



Exemple 4:

Per engegar el motor dret quan s’activa el sensor dret hem de posar la instrucció decisions i una condició a l’interior, en aquest cas que el pin3 must be. A la sortida yes i posem un outpins que activi el motor dret i al la sortida no un outpins que el pari. Cal recordar que sempre hem de tornar a l’start perquè el programa continuï funcionant.

 

 

 

 

 

 

Ex 5:

Ara caldrà fer un programa que activi el motor dret quan el sensor dret estigui activat i el mateix amb el cantó esquerra. Per fer això només caldran outpins i decisions, en concret quatre outpins ja que podem encendre els dos motors, encendre el dret i parar l’esquerra, encendre l’esquerra i parar el dret i parar els dos motors.

 

 

 


 

Exemple 6:

Hi ha una eina a l’apartat common anomenada basic que et permet escriure un tros de text en basic enmig d’un programa i una anomenada comans que permet escriure comentaris al programa. Ara caldria fer un seguidor de línia simple amb les mateixes eines que hi ha a l’exercici 5. Un seguidor de línia simple encén els dos motors quan els dos sensors detecten línia i en para un quan un sensor deixa de detectar línia fins que aquest mateix sensor torna a detectar. Cal tenir en compte que el sensor dona senyal quan esta sobre superfícies negres i no en dona quan esta sobre la línia blanca, per tant, ens dona una senyal invertida. Si els sensors no detecten línia el xip a de continuar fent el que feia fins que un passi a detectar.

Podem posar nom als blocs decisions i outpins per entendre millor el programa.

 

 

Ex 7:

També podem fer el mateix programa amb les capçaleres, per crear una capçalera anem a l’apartat Procedures i seleccionem l’eina Procedure, posem un nom ala capçalera i amb l’eina goto podem accedir a la subrutina que vulguem. Un programa per seguidor de línia amb capçaleres es més gran que un sense elles però si es fan programes més grans el programa es fa més fàcil d’entendre.

 

 

 





Exemple 8:

Per fer un bucle podem utilitzar les instruccions repeat i loop de l’apartat Procedures, aquest programa fa una intermitència amb el motor dret sempre que el sensor dret detecti. Quan el programa arriba a la instrucció loop torna a repeat i després es pregunta si el sensor dret detecta línia ( està a 0)

 










Ex 9:

Ara caldrà fer un programa que faci una intermitència amb el motor dret només quan un dels dos sensors detecta línia. Per fer això necessitareu dues decisions. Tota decisió té una fletxa d’entrada i dues de sortida, la primera fletxa que fem sortir és la del yes i la segona la del no.

 









Exemple 10:

Les eines relacionades amb els valors numèrics estan a l’apartat variables el bloc Random posa un valor a l’atzar dins d’un espai de memòria. La memòria del xip està organitzada en bytes, grups de 8 bits, que poden emmagatzemar un nombre enter del 0 al 255 i van de la lletra A fins a la T, per visualitzar-los podem clicar l’opció Show the variables panel. El bloc compare compara dos valors que poden ser valors indicats per nosaltres o valors de les variables A-T, poden comparar amb diferents criteris, igual (=), més gran (>), més petit (<), més gran o igual (>=), més petit o igual (<=) o diferent (<>).

En aquest exercici creem un valor a l’atzar al byte A, si és més gran o igual que 127 encenem el motor dret un segon i si no encenem el motor esquerra un segon. Això fa que cada motor tingui un 50% de possibilitats d’encendre’s.

 






Ex 11:

Amb les eines que hem utilitzat a l’exercici 10 hauríem de fer que els motors estiguin un terç del temps encesos cada un i un terç parats. Per fer-ho necessitarem dues condicions.








Exemple 12:

Ara, volem fer deu intermitències amb el motor dret i desprès parar 2 segons, per fer-ho utilitzarem al byte A i l’eina Inc, que suma +1 a la variable que nosaltres triem. Farem una intermitència d’un segon amb els blocs outpins i wait i després posarem la variable A a 0 quan arribi a deu amb una comparació i un bloc Expression. El bloc Expression assigna el valor o expressió matemàtica que nosaltres volem a una variable. No hem de confondre la igualtat de la comparació que es pregunta si dos valors son iguals amb al igualtat de l’expressió, que canvia el valor de la variable de l’esquerra per el valor o l’expressió de la dreta.









Ex 13:

Ara ja tenim totes les eines necessàries per poder fer operacions digitals amb la nostra placa 08. Per practicar podríem fer una intermitència amb el motor dret però que comences durant 10 segons i acabés amb 2, utilitzant només 2 waits que portaran el valor d’una variable.                                                                               











Ex 14:

Una de les millors maneres de programar un seguidor de línia de dos sensors és fent com en l’exercici 7 però fent que quan el robot gira lliuri la meitat de voltatge a la roda exterior. Per fer això farem una intermitència de molt poc temps que engegui el motor la meitat del temps com per exemple encendre el motor en una centèsima de segon i parant-lo una altra centècima. Això farà que el motor vagi a mitja velocitat i no oscil·li tant, per contra, perdrem velocitat de gir.

 










Aquí hi torbareu els exercicis fets amb el Logicator.
ċ
Exercicis fets.rar
(16k)
Equip Robolot,
9 d’ag. 2012, 2:40
Comments