Você está na página 1de 13

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Guilherme Martins
{ 2009 01 02 }

O Teu Primeiro Robot com Picaxe


Esta traduo foi feita com o consentimento do seu autor. O artigo original encontra-se aqui. Todas e quaisquer questes relativamente ao seu contedo devero ser discutidas no forum LMR (se possivel em ingls) . Todas e quaisquer questes relativas traduo para portugus por favor comuniquem ao tradutor (eu) . -

Este projecto no requere conhecimento de electrnica, e no est no mbito deste projecto aprofundar muito neste sentido, apenas vai fazer com que ds o primeiro passo na construo de um robot muito rapidamente. baseado num sistema chamado Picaxe que apesar de ser muito simples tambm bastante poderoso. Se quizeres experimentar outra plataforma igualmente simples e robusta existe o Arduino. Tens aqui um projecto simples que usa um Arduino e uma breadboard para construir um simples perseguidor de luz. Tempo de construo: 2 horas URL com mais informao Custos: $85 / 60 Dispositivos: 2 motores com redutoras CPU: Picaxe Fonte de alimentao: 4 pilhas AA Linguagem de programao: Picaxe basic Sensores / Dispositivo de input: Sharp IR Ambiente: interior Bem-vindos(as). Antes de comearmos, aqui esto umas coisas que deves ler: 1. Para teu prprio interesse, l isto antes de continuares 2. Se procuras um projecto ainda mais simples e menos dispendioso, este pode-te interessar: http://letsmakerobots.com/node/87 3. Se nunca construiste um robot antes, este video pode-te inspirar, vers que muito fcil e que no precisas nenhum material em especial para o fazer: http://letsmakerobots.com/node/35 4. Para saberes onde poders ir depois, aqui tens uma 2 parte OK vamos comear ;-) Como comear um robot fixe por aproximadamente 85$ Isto fixe porque: A electrnica que se usa so peas reais (no se trata de peas inventadas que para funcionar precisam de muitas horas de modificao, e tambm no se trata de um simples kit de peas que s montar e j est). fcil e simples, ters um robot feito dentro de aproximadamente uma hora! Podes evoluir a partir daqui, mesmo com as mesmas peas, se no te importares de desmontar o teu robot. barato. um projecto a srio, e divertido! tambm o projecto mais divertido de construo de um Robot.. fim da histria! :)

1 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Estas links tratam-se apenas de stios que uso para descobrir componentes na web. Podes usar qualquer loja que gostes claro. Convm dares uma olhada nesta pgina para veres onde podes adquirir Picaxe Os preos so sempre aproximados. Tenta ao mximo obter todos os componentes da mesma loja, e se possvel de uma loja localizada no teu pas para obteres os melhores preos e a maior rapidez na entrega.

1 PICAXE-28X1 Starter Pack A placa de 28 pins neste pacote como o jogo o Mario Bros, divertido e cheio de extras e coisas por descobrir, e faz com que queiras continuar a brincar uma e outra vez. O pacote inclui o crebro principal, o PICAXE-28X1. um pouco dispendioso, mas a nica e a primeira vez que eu te recomendo a comprar, inclui muitas coisas bsicas, um Cd-Rom com imensos manuais, cabos, a placa, o Microprocessador, etc.. Na verdade torna-se bastante barato. Pacotes similares costumam custar 10 vezes a mais o seu preo! Certifica-te que obtns a verso USB, a imagem nas lojas pode no corresponder e mostra um cabo serial quando tu compras um cabo USB. Quando comprares a verso USB, no necessrio que compres o cabo USB pois este j vem incluido na caixa. Podes comprar aqui Uma vez que tiveres feito a compra, apenas precisas de comprar um Microcontrolador e uma placa nova para futuros projectos, sai muito mais barato e tornas-te num inventor de robots com todas as ferramentas necessrias. Para fazeres ligaes com mais facilidade aconselho-te a fazeres mais um pequeno investimento e compra female to female jumpers. Aconselho bastante esta compra, apesar de no ser estritamente necessrio vais ver que te facilita a vida.

1 L293D Motor Driver Controlador de 2 motores O nome diz tudo, falaremos mais sobre este chip :) Podes comprar aqui

2 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

1 PICAXE Servo Upgrade Pack - Uma maneira simples de obter um servo coberto com todos os componentes necessrios para este projecto. Podes sempre obter um servo standard, os pins macho iguais na imagem e uma resistncia de 330 Ohm em vez do chip amarelo fazem o mesmo. Podes comprar aqui O que um Servo? Um Servo um componente bastante usado na robtica. Resumindo como uma pequena caixinha preta com uns fios, e um eixo que gira cerca de 200 graus. Neste eixo podes montar um disco ou um outro qualquer perifrico que aconpanhe o servo. Os 3 fios so para: 2 para alimentao e um para envio de sinal. O fio do sinal liga-se a algo que controle o servo, neste caso o microcontrolador. O resultado que o microcontrolador d ordem ao servo para onde que o eixo deva girar, e isto muito til; Tu podes programar algo para se mover para uma determinada posio.

1 Sharp GP2D120 IR Sensor 11.5 / Analgico 11.5ou outro raido de alcance serve. No compres a verso Digital dos sensores Sharp para este tipo de projectos, eles no medem as distncias da mesma maneira que os analgicos. Podes comprar aqui Certifica-te que obtns o conector vermelho/preto/branco. Nem sempre vem incluido e no um conector standard. Este sensor no o meu favorito, normalmente uso sensores de ultrasons, por ex o SRF05 (tambm se vendem loja-picaxe onde lhes chamam SRF005 e tem uma imagem da traseira do SRF04 na loja! Mas o correcto o SRF05, eu j lhes disse mas.) Enfim, o SRF05 muito mais fivel e preciso. Tambm mais rpido e custa um pouco mais, um pouco mais complicado de ser programado e mais complexo de se instalar por isso no o vou usar aqui, se no tiveres experincia opta pelo Sharp. Se optares pelo SRF05, est aqui um pequeno tutorial em que ensino a lig-lo e a program-lo

2 Motores com redutoras e rodas Quanto mais alto o rcio, mais forte ser o robot, quanto mais baixo mais rpido ser o robot. Recomendo um rcio algures entre 120:1 e 210:1 para este tipo de projecto. A razo pela qual o robot to lento, que este tem um rcio elevado. Lentido mais simples para inciantes, mais simples de entender e de acompanhar o que acontece.

3 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Preo total para 2+2: 15 USD Podes comprar aqui Tambm vais precisar: Fita adesiva de dupla face (aquela com a parte fofinha no meio a melhor) Alguns fios Fita adesiva normal (poder servir para isolar as ligaes) Equipamento de soldar simples (qualquer um simples e barato serve) Uma tesoura, um alicate e um canivete podem sempre ser teis Uma chave de parafusos Podes tambm comprar j agora: Alguns LEDs de vrias cores se quizeres que o teu robot comunique com o mundo atravs de efeitos luminosos engraados Mais servos para fazer o teu robot mover por exemplo braos? Ou servos moverem outros servos, etc.. Um pequeno altifalante/speaker/piezzo se quizeres que o teu robot comunique sonoramente Rodas diferentes, por exemplo lagartas, robots com lagartas so engraados, apenas mudam as formas das rodas, de resto a maneira de as controlar igual Est aqui um exemplo do que podes fazer com um robot com rodas lagartas TAMYIA faz este tipo de rodas bem fixes, e este aqui tambm um dos meus favoritos Aqui podes consultar mais informao sobre rodas lagartas Qualquer tipo de sensor que possibilite o robot seguir de linhas, ou um kit de robot lutador de sumo, ou que o faa evitar cair de mesas.

Onde encontrar manuais para os produtos Picaxe


OK! Fizeste a encomenda, j recebeste o material.. e deixa-me adivinhar, querer comear a construir o teu robot :) vamos l comear!

Primeiro monta as rodas nos motores. Monta as tiras de borrachas nas rodas.

Uma maneira fcil e rpida de montar coisas no teu robot (e bastante slida e duradoura) usando fita adesiva (aquela que tem uma parte fofinha no meio) de dupla face.

4 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Coloca as pilhas na caixa, assim ters uma ideia real do peso e do equilibrio do chassis do robot. Pe fita adesiva de dupla face na base da caixa e na base do servo tambm.

Escolhe o teu prprio design, se achares que o meu design muito simples adicciona coisas como quizeres. O principal que tudo esteja bem colado. Pilhas, Servo e Roda. As rodas e o servo devem poder girar livremente, e o robot deve conseguir equilibrar-se nas rodas, balanando ou no. Remove as pilhas para evitar algum curto circuito durante a montagem!

5 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Agora o crebro. Deves ter uma placa de projecto semelhante a esta. (isto pode ser do teu interesse: http://letsmakerobots.com/node/75) Nota que tem um chip j inserido. Remove-o. Este chip um Darlington-driver, no vamos precisar dele neste projecto, por isso podes remov-lo. fcil remover chips dos sockets, basta inserir com cuidado uma chave de fendas e fazer uma ligeira presso e retirar o chip com muito cuidado.

Um chip novo normalmente no encaixa logo dentro do socket, ters que dobrar com muito cuidado os pins para o interior em ambos os lados. Pousa o chip lateralmente numa mesa e dobra os pins ligeiramente, repete o mesmo processo do outro lado. (os pins encaixam no socket) Certifica-te de que todos os pins ficam encaixados. Se compras-te o upgrade de Servo da loja Picaxe, tens contigo um chip amarelo. Mete-o no mesmo sitio do Darlington. Nota que sobram dois orifcios do socket onde entra o chip amarelo. No te preocupes pois mesmo assim. Este chip amarelo so 8 * Resistncias de 330 Ohms num s pacote. Assim, se em vez do chip tiveres uma resistncia podes apenas inseri-la na slot com o nmero 0, este o nico que vamos usar pois s temos um servo neste projecto.

Insere tambm o chip maior, o crebro, o microcontrolador, o Picaxe 28 (n de verso) na placa de projecto. importante ter isto do lado correcto. Repara que h uma pequena marca num dos lados da placa. O chip vai ser alimentado atravs da placa atravs de 2 dos seus pins. Todos os restantes pins esto ligados volta da placa, e sero todos programveis, podes enviar voltagem se quizeres controlar algo ou receber voltagem se

6 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Todos os restantes pins esto ligados volta da placa, e sero todos programveis, podes enviar voltagem se quizeres controlar algo ou receber voltagem se quizeres analizar algo.

Agora insere o controlador de motores L293D. Este chip recebe quatro saidas (outputs) do microcontrolador, e transforma-as em 2. estranho no ? Mas assim mesmo acredita Qualquer sada do microcontrolador tem sempre dois estados on ou off. Isto limitaria os movimentos do nosso robot, s poderiamos ter o estado de andar ou parado. No seria possivel inverter a direco do motor. Isto no seria muito agradvel se o nosso robot fosse em direco a uma parede. A placa feita de maneira inteligente, ento os 2 outputs ficam com o seu prprio espao com a marca (A) e (B) logo a seguir ao chip L293D (v na figura abaixo). Falaremos sobre isto mais tarde.

Na parte de trs da placa encontras umas fitas de plstico. Podes remov-las pois no tm qualquer utilidade.

7 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Usa 4 fios e solda-os nos orifcios A e B. Podes sempre usar terminais ou qualquer outro tipo de connector.

Se tiveres fita termoretrctil usa-a. Isto d longevidade e isolamento s tuas ligaes.

O fio correspondente 2 A vai para um pin do motor, e o fio do 2 B vai para outro pin do mesmo motor. No importa qual qual, desde que os fios A sejam ligados a um motor e os B a outro.

8 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Agora vamos s ligaes do servo. Se leste a documentao do Picaxe, viste que recomendam usar duas fontes de alimentao diferentes quando se usam servos ou motores. Resumindo, sim uma boa prtica, mas como este robot to simples no necessrio. Vais precisar de soldar um pin extra ao output 0, se quizeres usar a ligao normal para o servo. Este pin vem como Picaxe Upgrade Pack (vem uma fileira destes pins), mas s vais precisar apenas de um para cada servo, e estes podem ser adquiridos em qualquer loja electrnica. Se o cabo do teu servo for (Preto, Vermelho, Branco) ou (Preto, Vermelho, Amarelo), o Preto deve ficar na ponta da placa. O meu (Castanho, Vermelho, Laranja) e ento o castanho fica na ponta. O truque normalmente o Vermelho; a referncia deste V, V+, +, 1.. qualquer umas destas referncias usada. O fio preto ( ou castanho no meu caso) G, GND, 0, ou -. conhecido como Ground, e para onde a voltagem se dirige. Lembras-te dos 2 plos das aulas de fsica? A ltima cor o sinal e pode ser Branco, Amarelo ou Laranja. O servoo precisa de ambos + e - ou V e G e sinal. Alguns outros dispositivos podem precisar apenas de Ground e Sinal, outros podero precisar de Ground, Voltagem, Sinal de entrada e Sinal de Saida. Pode ser confuso ao nicio mas com o tempo habituas-te. At eu me habituei :)

9 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Vamos agora colocar a cabea, o sensor Sharp IR. Se estiveres a usar um sensor de ultrasom tipo o SRF005 v isto porque a programao diferente. H milhes de maneiras de fazer isto, seguem algumas pistas: Vermelho precisa de ser ligado ao V1, isto (nesta configurao) qualquer coisa marcada com V, ter que ser ligada aqui. O Preto vai para o G. O Branco liga-se ao Input Analgico 1. O que vs na imagem o seguinte, cortei o cabo de um servo velho e queimado, e uni o cabo do servo ao cabo do sensor e isto facilita a ligao. Se usares este mtodo ou outro qualquer para ligar o Sharp IR, devers ligar tambm os 3 restantes inputs analgicos ao V. Eu tinham alguns jumpers de sobra, e podes que as 3 ligaes que sobram esto cortadas. ( O ltimo par, deixei-o ficar, so apenas dois Ground, e no precisamos de unir estes.) A razo pela qual importante ligar as entradas analgicas restantes, porque so left floating. Isto significa que se no as ligasses, terias uma leitura dos valores do sensor cheia de ruido.

OK! Vamos agora ao que interessa :)

Let there be life

Devers ter o fio Vermelho vindo das pilhas (+) ligado ao Vermelho na placa. E o Preto (-) ligado ao (G). A maneira como fazes estas ligaes depender do teu projecto e dos teus componentes. Certifica-te sempre que o (+) das pilhas liga ao (V) na placa. E o (-) das pilhas liga ao (G). Isto convm sempre sempre duplamente verificado, assim evitas que os componentes se danifiquem. No alimentes a placa com mais do que 6V (nem mesmo pilhas de 9V). NOTA: estamos apenas a funcionar com uma fonte de alimentao. Mais tarde vais ter que partilhar o Ground, mesmo usando o V1 e o V2. Desta maneira poders usar uma fonte de alimentao para a placa e outra fonte de alimentao (mais forte) para os motores. Instala o Picaxe Programming Editor num PC, segue o manual para ligar o Jack / USB / Serial. Instala as pilhas no teu robot (ainda sem cabea), insere o jack na placa.. e no programa de edio do Picaxe escreve: servo 0, 150 pressiona F5, espera que o programa transfira o cdigo para a placa, e podes ver que o servo gira, ou d um pequeno salto (dependendo da sua posio) Se algo correr mal aqui, certifica-te que as ligaes esto todas bem, volta a ler o manuel, e se mesmo assim no encontrares uma soluo escreve nos forums (em ingls). Se tudo estiver bem, para efectuar outro teste experimenta escrever:

10 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

Se tudo estiver bem, para efectuar outro teste experimenta escrever: servo 0, 200 e pressiona F5 O servo dever girar um pouco e parar, para andar em sentido contrrio escreve: servo 0, 150 e pressiona F5 Agora o pescoo do teu robot est a olhar em frente. Cola o Sharp IR no disco do servo, e isto vai ser a cabea do teu robot.

Ol Mundo, eu sou um robot, e esto pronto a obedecer s tuas ordens e explorar o mundo :) Finalizas-te os passos bsicos!

O design pode variar, podes ter usado outros componentes, peas, etc.. Mas se fizeste as ligaes como descritas anteriormente, aqui esto algumas pistas para te iniciares na programao do robot: Faz copy-paste deste cdigo para o editor, e pressiona F5: +++ main: readadc 1, b1 l a voltagem recebida no pin analgico 1, e assigna este valor varivel b1 debug aqui mostras o valor no na janela do editor. Selecciona Byte se estiver em Word goto main +++ Agora pe a tua mo na frente do robot e v se a varivel b1 alterada. Vais usar este valor para decidir o que dever acontecer quando existe algum obstculo a determinada distncia. Deves tambm usar um qualquer tipo de suporte para apoiares o chassis do robot, pois as rodas vo comear a andar. Copia este cdigo para o editor e pressiona F5 com o robot ligado. +++ high 4

11 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

high 4 low 5 +++ Uma das rodas dever comear a rodar numa direco. Verifica se ambas as rodas andam na mesma direco e para a frente. Se for o caso, esta dever ser a instruo de futuro para fazer o teu robot andar para a frente. Se as rodas andarem para trs tenta desta maneira: +++ low 4 high 5 +++ Para activares a outra roda escreve: high 6 low 7 J falmos anteriormente do servo. Para um lado : servo 0, 75 Para o outro: servo 1, 225 - ao centra: servo 1, 150 Aqui est um pequeno programa que vai (ou que dever, se tudo estiver correcto e se todos os parametros de controle de motores tambm estiverem correctos) fazer o robot andar, parar em frente das coisas, olhar para cada um dos lados para decidir qual a melhor alternativa, virar para esse lado e continuar a andar em procura de novas aventuras. +++ Symbol dangerlevel = 70 a que distncia devem estar as coisas antes de reagirmos ? symbol turn = 300 o quanto devemos virar symbol servo_turn = 700 quanto tempo devemos esperar que o servo vire (dependendo da sua velocidade) antes de medirmos as distncias main: o loop principal readadc 1, b1 ler quanta distncia est nossa frente if b1 < dangerlevel then gosub nodanger se nada estiver frente, continua em frente else gosub whichway se houver algum obstculo decidir para que zona se deve ir end if goto main aqui termina o loop, o resto so sub-routinas nodanger: aqui dever estar a tua combinao para fazer o robot andar em frente, aqui precisas de ajustar os valores consoante a maneira como ligaste os teus motores high 5 : high 6 : low 4 : low 7 return whichway: gosub totalhalt primeiro stop! Olhar para um lado: gosub lturn olha para um lado pause servo_turn esperar que o servo termine de virar gosub totalhalt readadc 1, b1 Olhar para o outro lado: gosub rturn olhar para o outro lado pause servo_turn esperar que o servo termine de virar gosub totalhalt readadc 1, b2 Decidir qual a melhor via a seguir: if b1<b2 then gosub body_lturn else gosub body_rturn end if return body_lturn: high 6 : low 5 : low 7 : high 4 aqui dever ser a combinao que vira o robot para um lado

12 de 13

02-11-2011 15:05

Guilherme Martins : O Teu Primeiro Robot com Picaxe

http://lab.guilhermemartins.net/2009/01/02/o-teu-primeiro-robot-com-p...

high 6 : low 5 : low 7 : high 4 aqui dever ser a combinao que vira o robot para um lado pause turn : gosub totalhalt return body_rturn: high 5 : low 6 : low 4 : high 7 aqui dever ser a combinao que vira o robot para o outro lado pause turn : gosub totalhalt return rturn: servo 0, 100 olha para um lado return lturn: servo 0, 200 olha para o outro lado return totalhalt: low 4 : low 5 : low 6 : low 7 low nos quatro pins pra o robot! Servo 0,150 olha em frente wait 1 para tudo por 1 segundo return +++ Com alguma programao e adaptao a este cdigo, podes fazer o robot andar e ao mesmo tempo ir virando a cabea e tomar decises, fazer pequenos ajustes sua rota, virar em direco a zonas de interesse por exemplo portas abertas, e tudo isto ao mesmo tempo enquanto ele se move. muito engraado o robot ir olhando para os lados enquanto anda. ;) No te esqueas de ver a 2 parte deste tutorial. Som: Podes tambm adiccional um pequeno buzzer ao example pin 1 e ao ground e escrever: Sound 1, (100, 5) - ou ento fazer algo de acordo com o programa que vimos anteriormente: Sound 1, (b1,5) - assim obtemos sons engraados consoante a distncia dos objectos. Podes tambm adiccionar um LED ao pin 2 e ao ground, e escrever: (notaq que os leds tm uma maneira correcta de serem ligados e podem precisar de uma resistncia para no queimar) High 2 acende o LED Low 2 apaga LED ;) - e que tal um apontador Laser montado num servo extra? Podes fazer com que o robot aponte o laser de um lado para o o outro, lig-lo, deslig-lo.. podes fazer qualquer coisa que imaginares :) Benvindo a um mundo muito divertido que o de fazer robots, existe uma grande diversidade de sensores, actuadores, motores espera de serem ligados e de darem vida a robots :) No te esqueas de partilhar connosco o que ests a fazer, o que tens aprendido, etc :) Se chegaste at aqui podes sempre dar aqui uma olhada Part II ;) Posted by GUI on Friday, January 2, 2009, at 8:26 pm. Filed under Picaxe 1 robot, Tutorials. Tagged Picaxe, Portugus, Robot, Tutorial. Follow any responses to this post with its comments RSS feed. You can post a comment or trackback from your blog.

{ 1 } Comments
1. adair jansen | January 20, 2011 at 12:17 pm | Permalink muito bom

13 de 13

02-11-2011 15:05