Sunteți pe pagina 1din 58

TUTORIAL Rob Inseto

Autores: Carlos Magno Feitosa da Silva, Leandro Borini Lone, Lus Fernando Patsko

Nvel: Avanado Criao: 04/12/2006 ltima verso: 19/12/2006

PdP
Pesquisa e Desenvolvimento de Produtos

http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

http://www.automato.com.br atendimento@automato.com.br

1 Introduo
O potencial de crescimento de atividades relacionadas robtica num futuro prximo muito grande. A automatizao dos processos industriais cada vez mais intensa, e ao longo dos prximos anos, os robs no sero apenas mquinas automticas, eles estaro presentes no nosso cotidiano. Robs j so utilizados nas reas de entretenimento, resgate, at mesmo em servios domsticos. Por todo lado eles j esto presentes, desde um caixa eletrnico, at uma mquina de Coca-Cola. Nesse tutorial, nosso objetivo ser construir um inseto, um rob que possui seis pernas e conectado ao Kit e pode ser controlado atravs de um programa que roda num computador. Atravs da construo de um rob inseto, podemos aplicar nossos conhecimentos de Eletrnica, Mecnica e Programao adquiridos ao longo do curso e, consequentemente, aprimorar as tcnicas necessrias para a construo de robs. Sero detalhadamente descritos o funcionamento e a construo de um rob inseto, de modo que, alm de possibilitar a sua elaborao, seja fornecida uma base para a construo de robs que utilizem um princpio de funcionamento semelhante. Um fator importante que no pode ser negligenciado durante a montagem a segurana. indispensvel o uso de equipamentos de proteo individual (EPI's) tais como luvas, culos de proteo, jaleco, etc. Tambm essencial tomar cuidados bsicos para a preveno de acidentes, especialmente durante a manipulao de produtos qumicos e ferramentas. Por pura falta de ateno ou excesso de confiana, podem ser causados acidentes graves. E, alm disso, os problemas decorrentes da postura inadequada e da repetio excessiva de movimentos so vrios e muito simples tomar providncias para evit-los. No difcil se conscientizar e realizar pequenas aes que podem prevenir muitos acidentes.

2 Funcionamento

Figura 1: Rob inseto pronto e ligado ao MEC1000.

O rob inseto um rob que possui seis pernas e que pode ser controlado pelo usurio atravs de um programa que roda num computador. Ele possui dois servo-motores, sendo que um deles destinado ao controle das duas pernas centrais e o outro controla as quatro pernas restantes. A locomoo do inseto ocorre da seguinte forma: as pernas centrais, que esto ligadas a um servo-motor, so responsveis por levantar ora um lado do corpo do rob, ora outro. Esse movimento ser chamado de movimento vertical. Assim, as pernas das extremidades possuem liberdade para se mover. Com um dos lados levantado, duas pernas das extremidades de um mesmo lado ficam em contato com o cho, enquanto que as outras duas ficam livres. Ao rotacionar o servomotor responsvel pelo movimento destas pernas, as pernas que esto levantadas so impulsionadas para uma direo, enquanto que as pernas que esto em contato com o cho recebem uma fora de sentido oposta as pernas levantadas, fazendo com que todo o corpo do inseto seja deslocado em alguma direo (como o rob inseto no tem frontal e traseira claramente definidas, isso deve ser definido por quem vier a vir mont-lo). Este movimento ser chamado de movimento horizontal. Durante esse movimento, as pernas centrais, que mantm o corpo levantado, iro escorregar levemente. O primeiro servo-motor ento rotacionado para o lado oposto ao primeiro movimento, erguendo assim o outro lado do corpo do inseto, para em seguida ter o motor responsvel pelo movimento das pernas das extremidades rotacionado, tambm para o lado contrrio, fazendo com que o corpo seja novamente impulsionado para mesma direo. Note que o movimento se d simplesmente com o vai-e-vem dos motores, ou seja, alternando o sentido da rotao dos servomotores. possvel tambm alterar o sentido do movimento, bastando para isso alterar a rotao do segundo servo-motor, o que pode ser feito na linha de cdigo do programa de controle. O nosso projeto constitudo por duas etapas principais: a construo do rob e a programao necessria para seu funcionamento. A construo do rob a elaborao da estrutura mecnica e eletrnica. A dedicao nessa etapa indispensvel, uma vez que peas ou circuitos mal feitos podem comprometer o funcionamento de todo o sistema. Mas no basta apenas a estrutura estar perfeita, pois ela deve ser controlada adequadamente. A programao ser responsvel por proporcionar a conexo entre o Kit e o rob e pelo controle preciso da atuao dos servo-motores, de modo que o rob possa se movimentar corretamente, pois cada um desses componentes deve ser acionado num momento exato. Dentre outras modificaes que podem ser feitas, o rob pode ser construdo de duas maneiras distintas: com engrenagens redutoras ou sem engrenagens redutoras. Essas engrenagens formam um conjunto redutor, que diminui a velocidade do servo-motor, aumentando assim o torque disponvel para movimentar o rob. A verso sem engrenagens permite uma construo mais fcil. Por essa razo, a verso com engrenagens ser mostrada de forma mais detalhada, e no final desse tutorial mostraremos as mudanas a serem realizadas para a construo de uma verso sem engrenagens. O rob inseto talvez seja o projeto onde mais se deve levar em considerao as dimenses e alinhamentos entre as peas. Um lado deve estar perfeitamente igual ao outro, ou seja, deve haver uma simetria absoluta. At mesmo pequenos erros podem comprometer por completo o funcionamento do inseto, por isso vale lembrar: tenha muita ateno e dedicao durante a construo da estrutura mecnica. Seguindo corretamente as instrues a seguir, podemos ter em mos um pequeno rob inseto. Mas nada o impede de realizar modificaes e implementar o projeto com outras caractersticas, ou seja, construir o rob ao seu gosto.

3 Materiais
Os materiais utilizados nesta montagem so madeira tipo MDF, perfis de alumnio (barras e cantoneiras), madeirite, plstico (PVC), engrenagens de acrlico, dois servo-motores (adaptados para rotao contnua, porm, com potencimetros externos), parafusos de diversos tamanhos, porcas, arruelas, cola branca, cola de secagem instantnea e lubrificante. Alm disso, sero necessrias ferramentas para a montagem tais como paqumetro, caneta de retroprojetor, serra de meia-esquadria. Tais ferramentas estaro disposio nas bancadas de trabalho. Optamos pelos materiais utilizados pela acessibilidade, baixo custo, resistncia adequada, e tambm por serem fceis de trabalhar, tentando sempre adequ-los s dificuldades surgidas no desenvolvimento, ou at substituindo-os por outros se necessrio, lembrando-se sempre de que os materiais listados aqui, de forma alguma so padro para as montagens, e que podem ser substitudos tranquilamente por outros semelhantes ou que desempenhem a mesma funo. Deve-se apenas ter em mente que nem todos os materiais tm desempenho semelhante sob uma determinada situao. Por exemplo, a madeira MDF uma boa escolha, pois fcil de trabalhar e no trinca to facilmente como uma chapa de compensado, por exemplo, quando perfurada.

4 Leituras prvias
Para a construo do projeto descrito nesse tutorial, recomendada a leitura de outros tutoriais, que nos auxiliaro durante a construo do rob inseto. Os tutoriais recomendados so: Montagem do Bloco de Servo-motor Padro, Adaptao de Servo-motores e Criao de engrenagens em acrlico. Esses tutoriais esto disposio ao longo do curso de Mecatrnica e Robtica e sero utilizados ou daro suporte a alguns procedimentos ao longo deste tutorial.

5 Montagem
O primeiro passo para a montagem de um projeto deve ser a elaborao de um esboo deste num papel, mesmo que se tenha todo projeto em mente. Isto facilitar muito a montagem de qualquer projeto, pois alm de uma melhor visualizao deste, no corremos o risco de esquecermos ou pularmos algum passo. Com o roteiro do projeto em mos, podemos comear a montagem escolhendo os materiais que mais se adequem as montagens de cada parte do projeto, enfatizando principalmente a acessibilidade dos materiais; o custo, para que o projeto no venha a ter um custo muito elevado; e maleabilidade. Por exemplo: perfis de alumnio podem ser encontrados em qualquer loja especializada em alumnio, so relativamente baratos e muito mais fceis de trabalhar do que perfis de ferro, por exemplo. O projeto descrito nesse tutorial visa a construo de um rob inseto, fazendo uso de servomotores, uma base de madeirite e barras de alumnio. A montagem do rob pode ser dividida em duas partes: a primeira a construo da parte estrutural do rob inseto, base e pernas, e, posteriormente, a parte eletromecnica, que se refere construo dos blocos dos servos-motores. Esses servo-motores devero ser adaptados para rotao contnua, mas devem utilizar um 3

potencimetro externo. Este potencimetro tem exatamente a mesma funo do potencimetro original do servo-motor, s que agora o servo-motor transferir seu movimento para uma outra engrenagem, e ela dever ser usada como referncia para o controle do servo-motor. Por isso, essa engrenagem ser fixada ao eixo do potencimetro, que ser o eixo principal do bloco. Deste modo, conseguiremos controlar precisamente a posio da engrenagem. Esta engrenagem faz parte de um conjunto redutor, de modo que o torque disponvel seja maior, para possibilitar uma correta movimentao do rob inseto. necessrio que se tome bastante cuidado durante a construo para evitar que ele fique mal estruturado e no caminhe corretamente. Primeiramente, comearemos pela montagem da parte estrutural do inseto, que ser feito com uma base de madeirite e pernas de alumnio. Iremos confeccionar as pernas para o inseto com 4 barras (perfis) de alumnio quadradas de 1/4. Optamos pela quadrada por ser mais fcil de ser perfurada, mas a barra circular pode ser considerada esteticamente melhor. O comprimento destas pernas dependem do tamanho definido para a base, para que no tenhamos uma estrutura desproporcional. recomendvel que o corte seja feito na serra de meia-esquadria, que proporciona mais segurana e facilidade. Aps cort-las, devemos lixar as rebarbas para um melhor acabamento e tambm para evitar possveis ferimentos. Cada perna formada por um conjunto de duas barras de alumnio: uma anteperna, que ser fixada base do rob; e um p, que mantm o rob apoioado no cho. Tais nomes foram dados com a finalidade de que, definindo o nome de cada parte, a explicao da montagem ficasse mais clara. Podemos fazer uma analogia com os nossos braos, nos quais encotramos o antebrao e a mo. A base deste rob foi feita com madeirite, embora possam ser utilizados outros materiais quaisquer, desde que tenham a resistncia necessria. As suas dimenses so de 20 cm x 8 cm e devem ser feitos furos nos seus quatro cantos a 0,5 cm de cada lateral, para que possamos encaixar as suas pernas. As antepernas, a parte das pernas que sero fixadas base de madeirite, tero dois tamanhos como padro, pois um par ser tracionado por um servo-motor para que o inseto possa se movimentar para frente enquanto que o outro par ser movimentado atravs de barras de transferncia de movimento, ligadas s pernas tracionadas pelo servo-motor. Apos cortar a base, certifique-se de que ela foi cortada corretamente, tirando novamente as medidas. Ao marcar os pontos a serem furados, at mais importante ver a distncia interna entre eles do que externa de 5 mm. Ao longo do comprimento da base, a distncia entre os pontos deve ser de exatamente 19 cm, enquanto que na largura devero haver 7 cm. Essas distncias devem ser mantidas, no importando pequenas variaes nas medidas externas de 0,5 cm at as laterais.

Figura 2: A base do inseto foi feita em madeirite. Os detalhes indicam os furos para a fixao das antepernas.

Um detalhe importante que, ao cortar peas compridas, com 15 cm ou mais, teremos dificuldades com o arco de serra, j que o mesmo passar a pegar na madeira. Quando isso acontecer, passe a utilizar o mini-arco, como poder ser observado nas figuras abaixo. Alm disso, sempre aps cortar madeira ou alumnio, os mesmos devem ter suas beiradas lixadas, para retirar rebarbas e imperfeies.

Figura 3: 1-Madeirite sendo cortado com o arco de serra. 2-Madeirite sendo cortado com o mini-arco, quando a utilizao do arco de serra torna-se difcil.

As antepernas do par que ser diretamente tracionado pelo servo-motor tero o comprimento de 10 cm enquanto que as do outro par tero 8 cm de comprimento. Nas duas barras de 8 cm faremos os furos a 0,5 cm de uma extremidade, para encaix-la na base, e outro a 2 cm deste, para, posteriormente, encaixarmos uma barra para a transferncia de movimento. Nas duas maiores faremos uma sequncia de trs furos: um furo a 0,5 cm de uma extremidade, para que possamos colocar hastes ligadas ao servo-motor de movimentao horizontal; um outro 2 cm do primeiro furo, para encaix-las no corpo, e um terceiro 2 cm do segundo furo, onde ser fixada a barra para a transferncia do movimento.

Figura 4: Preparando as antepernas do inseto. 1-Cortando a barra de alumnio na serra de meia-esquadria. 2-As barrras devero ser furadas, de preferncia com a furadeira de bancada.

Para assegurar que os furos sejam feitos corretamente ou que a broca no escorregue, recomendamos o uso de um marcador, que pode vir a ser at mesmo um prego, que deve ser utilizado aps a marcao com caneta ou lpis, fazendo-se uso de um martelo sobre o mesmo, batendo de leve, para fazer um pequeno furo. Esse procedimento pode ser adotado antes de toda e qualquer furao, no alumnio, na madeirite ou em plsticos, especialmente onde haja necessidade de uma furao mais precisa. Alm disso, devemos ainda fazer mais um furo em cada barra, do lado perpendicular ao lado onde foram feitos os primeiros furos, a 0,5 cm da extremidade oposta, para que possamos posteriormente encaixar os ps, que sero responsveis por manter o corpo do rob acima do cho. Os dimetros dos furos da base de madeirite e das barras de alumnio devero ser de acordo com a espessura dos parafusos usados. No nosso exemplo, utilizamos parafusos de 1/8 de dimetro, portanto broca tambm de 1/8 foi aplicada na furao. Na barra, esses furos devem ser feitos centralizados, tomando o mximo de cuidado para no desalinh-los. Logo a seguir h uma imagem mostrando detalhadamente a posio desses furos. Ao furar as barras de alumnio, pode-se notar que elas geralmente ficam com rebarbas. Tais rebarbas, alm de prejudicar os movimentos do rob, podem ocasionar ferimentos. Podemos retirlas com o auxlio de uma broca um pouco maior do que a utilizada para fazer o furo, bastando girla levemente com a prpria mo, tomando cuidado para no arredondar demais as bordas dos furos.

Figura 5: Para retirar as rebarbas das barras de alumnio, basta girar levemente uma broca de tamanho maior do que a utilizada para fazer o furo.

O dimensionamento da base e das pernas foram definidos aleatoriamente, buscando apenas um tamanho proporcional ao servo-motor. Porm recomendamos que no seja muito maior do que isso, pois quanto maior for o rob, mais pesado ele ser e, consequentemente, ser exigida mais fora dos motores. Por exemplo, se aumentarmos o comprimento da pernas, com o intuito de aumentarmos as passadas do rob, ampliando assim a sua movimentao, aumentaremos tambm o esforo sobre o servo-motor (efeito alavanca). As pernas sero presas base atravs de um parafuso colocado nos furos destinados a elas, formando ento uma espcie de parafuso-eixo. Isso se d da seguinte forma: com os furos preparados, j sem rebarbas, pega-se uma arruela, coloca-se ela no parafuso, coloca-se o parafuso na perna, adiciona-se outra arruela e depois mais duas porcas. As arruelas normalmente possuem lados diferentes, um liso e o outro com rebarbas. O lado liso neste caso deve ficar voltado para a pea mvel, que neste caso a barra de alumnio da anteperna, com a inteno de gerar o menor atrito possvel. Rosqueie as porcas at o final e quando encostar no alumnio, solte-as um pouco (mas no muito pois necessrio que haja uma folga suficiente para que o parafuso gire com o menor atrito possvel, porm, se houver uma folga muito grande o movimento ser prejudicado). Verifique se no h atrito entre o parafuso e a perna e ento aperte uma porca contra a outra. Essa uma forma simples de se obter um tipo de eixo. Pode-se tambm, utilizar apenas uma porca, colando-a ao parafuso. No entanto recomendamos que seja utilizado o processo que envolve o uso das duas porcas, para evitar problemas futuros. Com exceo de alguns parafusos autoatarraxantes, todos os parafusos utilizados na montagem do rob inseto ilustrado nesse tutorial so de 1/8, de diversos comprimentos. No vamos detalhar seus respectivos comprimentos, pois os mesmos dependem de vrios fatores, tanto de materiais quanto ao dimensionamento dos mesmos. Mas sempre que possvel, trabalhe com folga no comprimento dos parafusos. possvel observar nas fotos que em todos os locais onde foram utilizados parafusos, adicionada uma arruela. O mesmo pode ser observado tambm no caso das porcas. Isso feito pois, 7

ao apertarmos os parafusos ou porcas, eles podem danificar a pea sobre a qual esto sendo fixados. Com a arruela, eles iro girar em cima da mesma evitando assim qualquer dano a pea, alm de garantir uma maior rea de contato entre parafuso/porca e pea, possibilitando uma fixao mais eficiente. As arruelas apenas no foram colocadas em locais onde no h espao suficiente para tal, como os parafusos que prendem o servo-motor ao seu bloco de madeira, por exemplo.

Figura 6: Fixando as antepernas base. 1-Prendendo a porca com o auxlio de uma chave de boca e um alicate de bico. 2-Parafuso-eixo finalizado. 3-Anteperna presa base atravs do eixo.

Os pontos de fixao das antepernas base devem ser lubrificados com leo, mas precisamos ter cuidado para no exagerar na quantidade de lubrificante. necessrio tomar bastante cuidado para no deixar que o leo atinja pontos indesejveis, como as duas porcas que foram travadas umas nas outras, pois isso facilitar com que as porcas se soltem com o esforo realizado na movimentao. Recomendamos que esta etapa fique para o final do processo de montagem do rob inseto. Ao fixar as pernas na base deve-se utilizar uma chave adequada ao parafuso escolhido (chave de fenda, no caso do exemplo) e uma chave de boca, apertando cuidadosamente, para que as porcas que foram apertadas uma contra a outra no se soltem ou girem, modificando assim a folga deixada para que a perna pudesse se mover corretamente. A imagem a seguir mostra claramente como as barras de alumnio foram fixadas base e os furos feitos em cada uma dessas barras. 8

Figura 7: Antepernas fixadas base, com detalhes indicando o posicionamento dos furos. Observe que a anteperna de 10 cm possui uma extenso voltada para dentro da base.

Em seguida, cortaremos duas barras de alumnio de 20 cm de comprimento. Estas barras serviro para a transferncia de movimento das pernas que sero tracionadas pelo servo-motor responsvel pelo movimento horizontal para as outras duas pernas que no tero ligao com o servo-motor. Alm disso, elas garantem uma melhor estabilidade estrutura mecnica. Estas barras devem possuir, no mnimo, o mesmo comprimento da base. Em cada barra sero feitos trs furos: dois a 0,5 cm de cada extremidade, e mais um a 3 cm de um desses furos, cuja finalidade ser explicada mais adiante. A broca utilizada para a furao da mesma medida do parafuso a ser utilizado, ou seja, 1/8. Os furos das extremidades devem estar perfeitamente alinhados com os furos feitos na base para a fixao das pernas, ou seja, a distncia entre eles deve ser de 19 cm, distncia igual dos dois furos feitos na base do rob inseto, no sentido do comprimento. Esses furos recebero parafusos-eixos, como os que foram utilizados para a fixao das pernas base, porm de comprimento um pouco maior, para prend-los s pernas. recomendvel que aps o trmino da montagem do rob, esse ponto de fixao seja lubrificado. Estas barras devem ser encaixadas nas pernas de forma que o furo extra fique prximo das pernas menores (de 8 cm), que no sero ligadas diretamente ao servo-motor.

Figura 8: Colocando as barras de transferncia de movimento. 1-Definindo o tamanho da barra. 2-Fixando as barras s antepernas com um eixo feito com parafuso, utilizando os mesmos procedimentos para fixar a anteperna base.

Em seguida, devemos cortar mais quatro barras com 7 cm cada uma para que possamos fazer os ps do inseto. Em cada barra, faremos um furo a 0,5 cm da extremidade para poder encaix-las nas antepernas, atravs de parafusos e porcas. Estes ps devem estar bem presos s antepernas, no podendo se movimentar. Para isso utilizamos arruelas serrilhadas (dentadas). Podese tambm fazer uso de arruelas de presso para esse fim.

Figura 9: Colocando os ps do inseto. 1-P preso anteperna atravs de um parafuso. As arruelas serrilhadas foram colocadas entre as duas barras e entre a porca e a anteperna. 2-Movimento a ser realizado pelo inseto.

O passo seguinte consiste em fazermos uma haste de interligao entre as duas barras de transferncia de movimento. Esta haste-guia serve para dar uma melhor estabilidade estrutura de movimentao do rob inseto, tornando seu movimento mais homogneo. No caso do exemplo, esta haste foi cortada com 13 cm de comprimento e 1 cm de largura, aproximadamente. O material utilizado foi o plstico PVC de 2 mm de espessura. A base do inseto deve ser perfurada para que possamos inserir um pequeno prego. Este furo deve estar perfeitamente alinhado com o centro da base e com os furos extras das barras para a transferncia de movimento (no caso do exemplo este furo fica a 3,5 cm da extremidade mais prxima). A haste plstica tambm deve ser perfurada. Este 10

furo deve possuir o dimetro do prego utilizado, e deve estar bem no centro da haste. O furo deve ser feito de modo que a haste no seja colocada com dificuldade, devendo haver liberdade para se movimentar, porm, sem que haja uma folga excessiva Para fixar essa haste s barras de transferncia de movimento, devemos ter uma idia da dimenso dos furos a serem realizados, levando-se em considerao o fato de que as hastes se movimentaro. Colocaremos ento um parafuso em cada furo das barras de transferncia de movimento, e encaixaremos a haste de plstico no prego. Deixando as pernas paralelas uma outra e em relao ao corpo, aproximamos as hastes dos parafusos e, movimentando as pernas, marcamos as posies dos parafusos nas angulaes mximas encontradas.

Figura 10: Verificando as dimenses do furo para a haste, de acordo com a angulao das pernas.

Em seguida, utilizando a furadeira com dimetro de acordo com a espessura do parafuso usado (1/8 no caso do exemplo), faremos trs furos na haste. Utilizando o estilete, interligaremos estes furos de modo que se torne um corte, o qual no deve possuir rebarbas. Pode-se, ento, conferir se esse eixo foi perfurado corretamente encaixando-o no prego e nos parafusos das pernas. Movimentando as pernas podemos ver se a haste est com a furacao correta, de modo que as pernas no tenham seu movimento limitado pela haste. Para finalizar, como acabamento, retiramos o excesso de plstico nas extremidades, deixando as pontas arredondadas. Isso pode ser feito com o prprio estilete, uma lixa, ou at mesmo com a microrretfica utilizando o acessrio lixa. O prego, utilizado como eixo para a haste, deve ser colado com cola de secagem instantnea. Sua ponta deve ser cortada e lixada para evitar possveis ferimentos.

11

Figura 11: Finalizando a haste-guia. 1-O estilete deve ser utilizado para o acabamento do furo. 2-Haste pronta.

A seguir, passaremos montagem das pernas de movimento vertical que serviro para que o inseto possa mover suas pernas para frente e para trs sem patinar. Se no houvesse este par de pernas secundrias, o inseto apenas oscilaria sobre uma posio fixa. As antepernas sero feitas com as mesmas dimenses das pernas responsveis pelo movimento horizontal, ou seja, com comprimento de 10 cm. Nela faremos trs furos, todos na mesma lateral da perna. Primeiramente, ser feito um furo a 0,5 cm de cada extremidade. Um furo ser destinado a fixar os ps; o outro ser conectado ao servo-motor responsvel pela movimentao vertical. Um terceiro furo, localizado a 2,5 cm de distncia do furo destinado ao servo-motor, ser utilizado para fixar a perna ao corpo do rob atravs um parafuso-eixo, igual aos j utilizados nas outras pernas. Os ps so iguais aos demais.

Figura 12: Perna central do rob inseto. Observe que os furos realizados na anteperna esto numa posio diferente dos realizados nas outras antepernas. O furo da extremidade esquerda ligar a perna ao servo-motor de movimentao vertical, enquanto que o furo central destinado fix-lo ao corpo do rob.

12

Para que possamos fixar essas pernas base do rob, cortaremos dois pedaos de cantoneira de 1,6 cm cada. Num lado desta pea, faremos dois furos, 0,4 cm das laterais, que serviro para fix-la base, na linha central da cantoneira (observe a figura 13). No outro lado dever ser feito um terceiro furo, destinado fixar as pernas centrais. Em nosso projeto, este furo ficou a 0,5 cm de distncia da lateral externa da cantoneira (de modo anlogo aos furos para a fixao das pernas base), e a aproximadamente 1 cm de distncia da base (considerando-se a pea posicionada sobre a base). Essa distncia em relao a base deve ser definida de modo que as pernas centrais estejam no mesmo nvel das outras pernas, para que o inseto tenha um equilibrio perfeito. Podemos tomar como referncia as outras pernas, medindo a distncia da base at o meio da espessura da perna (onde foram feitos os furos nas pernas centrais). Como elas foram presas base atravs de parafusos e arruelas, elas encontram-se a certa distncia da base. Para definir como sero fixadas as pernas centrais, devemos traar uma linha no centro da base, que ser utilizada como referncia. As pernas devero ser posicionadas de modo que os seus ps estejam centralizados sobre esta linha. Devemos ento definir a posio onde sero colocadas as cantoneiras de fixao. Para isso, somamos a largura de duas porcas (utilizadas no parafuso-eixo que fixa a perna central base), trs arruelas (duas delas tambm utilizadas no parafuso-eixo, mais a arruela dentada que prende o p anteperna) e uma espessura meia da barra quadrada de alumnio (a espessura da barra da anteperna, mais metade da espessura da barra do p, a qual a referncia para a centralizao). No nosso exemplo, essa distncia de aproximadamente 1,7 cm. Foi traada ento outra linha, a 1,7 cm da linha central da base. Esta linha servir como referncia para o posicionamento das cantoneiras.

Figura 13: Definindo a posio das cantoneiras para a fixao das pernas centrais. As indicaes mostram como fazer os furos das cantoneiras.

Foram ento feitos os furos para a fixao das cantoneiras, com broca de 1/8. As cantoneiras foram presas base com a ajuda de parafusos, porcas e arruelas. As pernas centrais 13

podem ento ser fixadas s cantoneiras, atravs de parafusos-eixos, bastando utilizar um parafuso de 1/8 (adequado ao furo realizado na cantoneira), alm de porcas e arruelas. Nesse ponto, podemos afirmar que temos o esqueleto de nosso rob montado, bastando agora criar os blocos para os servo-motores e lig-los estrutura. Devero ser criados dois blocos idnticos, sendo um responsvel pela movimentao horizontal e outro pela vertical.

Figura 14: Estrutura do rob inseto completa.

Primeiramente, devemos confeccionar engrenagens de acrlico, utilizando os moldes de silicone. As engrenagens utilizadas sero de tamanhos diferentes, sendo que a menor deve ser fixada no eixo do motor e a maior ao potencimetro que ser adicionado ao bloco do servo-motor, pois a idia de reduzir a velocidade do motor e, consequentemente, aumentar o torque disponvel. As engrenagens utilizadas por ns possuem 50 e 10 dentes, resultando numa velocidade 5 vezes menor e num torque aumentado na mesma proporo. Depois de confeccionadas, iremos tomar a distncia entre seus centros. Esta medio nos informar qual a distncia em que o potencimetro deve ficar em relao ao eixo do servo-motor.

14

Figura 15: Depois de criadas as engrenagens, devemos medir a distncia entre os seus centros, de modo a determinar a distncia do potencimetro ao eixo do servo-motor.

Nosso prximo passo construir os blocos de fixao dos servo-motores de movimentao horizontal e de movimentao vertical, empregando madeira MDF (com espessura de 1,5 cm) e plstico PVC (com 2 mm de espessura). importante que esses blocos tenham as mesmas dimenses. O bloco foi dimensionado aleatoriamente, mas dentro dos limites permitidos pela largura do servo-motor e pelo tamanho do rob. Assumimos como padro para nossas montagens peas de MDF de 1,5 cm de espessura cortadas na forma de um retngulo de 6 cm x 5 cm.

Figura 16: Cortando o MDF na serra de meia-esquadria para a criao dos blocos de servo-motor.

15

Em primeiro lugar, marcaremos os furos a serem feitos para o encaixe do servo-motor, utilizando a pea de plstico padro como referncia, e, com a distncia medida entre os centros das engrenagens, faremos a marcao dos furos para o encaixe do potencimetro, alm de dois furos extras para encaixe de parafusos prximos a este.

Figura 17: Marcaes feitas no bloco de madeira e no plstico, utilizando a pea de plstico padro ( esquerda) como referncia.

Os furos podero ento ser feitos, sendo que os furos assinalados na figura abaixo podero ser feitos com certa folga, para que possamos ajustar a posio da pea de plstico. Como neste caso sero utilizados parafusos de 1/8, recomendamos broca de 4 mm. O furo para o eixo do servomotor pode ser feito com broca de 8 mm na madeira. O eixo do motor deve girar sem atrito com a madeira, por isso feito com um dimetro maior do que o do eixo a ser usado, que neste caso 1/4. Mas deve-se ter em vista que no poder ser muito maior do que isto, pois a trava utilizada no eixo deve apoiar-se na madeira como mostrado na figura 21-2. Para o plstico, o furo foi feito com broca de 1/4, o qual deve proporcionar ao eixo um giro livre, sendo necessrio espa-lo um pouco mais, quando o mesmo no o proporcionar. Isso pode ser feito com o auxlio de uma furadeira de bancada, realizando movimentos leves e circulares, sempre tomando cuidado para manter o plstico perpendicular furadeira, pois no desejamos que o furo fique com bordas arredondadas, como explicado no tutorial sobre bloco padro para servo-motor. O furo para o potencimetro a ser feito na madeira deve passar por duas etapas: primeiro deve-se fazer um furo guia (com broca de menor dimetro), e depois utilizar a broca chata para madeira para aument-lo, lembrando-se sempre de utilizar os equipamentos de segurana. No plstico, esse furo ser do dimetro da rosca do potencimetro, podendo ser alargado futuramente se necessrio para um ajuste de relao entre as engrenagens. Os furos de fixao para o servo-motor na madeira podem ser de qualquer dimetro que comporte o parafuso a ser utilizado, que no nosso exemplo de autoatarraxante de 2,9 mm. O furo foi feito com broca de 2,5 mm. 16

Figura 18: 1-Peas de madeira e de plstico perfuradas, com indicao dos furos que podem ser feitos com certa folga. 2-Furo para o potencimetro sendo feito com a broca de madeira.

Em seguida, iremos utilizar a serra para cortar a madeira onde ser encaixado o potencimetro. Isso porque, devido ao seu formato, no podemos encaix-lo diretamente no furo. Antes de cortar, devemos colocar parafusos nos furos prximos ao local a ser serrado, com o objetivo de evitar que a madeira se abra durante o corte.

17

Figura 19: A madeira dever ser cortada para o encaixe do potencimetro. 1-Observe a marcao de onde ser feito o corte. 2-Corte sendo feito na serra de meia-esquadria. Observe que os parafusos foram colocados nos dois furos prximos.

O prximo passo consiste na criao de um pino-eixo para o servo-motor. Seu tamanho varia de acordo com o potencimetro usado como eixo externo (sendo que ambos devem ter as mesmas dimenses), sendo o tamanho mnimo mencionado no tutorial sobre bloco padro para servo motor, mais a rea no til do eixo do potencimetro (onde h a rosca para o encaixe de uma porca). No nosso caso utilizamos um pino-eixo de 2,7 cm (os 2,3 cm recomendados, mais 4 mm). Este pino tem uma pequena diferena do modelo padro: como a engrenagem utilizada muito pequena para ser perfurada e encaixada no pino-eixo, iremos utilizar um pequeno parafuso para fix-la. Primeiramente, devemos fazer um furo (da mesma dimenso do parafuso a ser usado, no caso 1/8) na engrenagem para o encaixe de um parafuso, com os cuidados necessrios para que ele no saia torto. Para fazer isso, precisamos primeiro lixar as engrenagens para retirar as rebarbas de acrlico que ficam em volta delas, evitando que fiquem desniveladas quando as apoiarmos para fur-las. Ento, com muito cuidado, devemos fazer os furos nas engrenagens. Uma dica utilizar broca de espessura menor para evitar que o furo saia torto e tambm para melhor direcionar a furao (recomendamos a broca de 1,5 mm para este fim). Depois s furar as engrenagens utilizando a broca adequada. Por motivos de segurana recomendamos que no se segure a engrenagem diretamente com a mo. Sugerimos o uso de um alicate, por exemplo. Depois, devemos fazer um furo no centro do pino-eixo, com tamanho suficiente para o encaixe do parafuso (em nossa montagem esse furo foi feito com broca de 1/8). O parafuso neste caso no precisa entrar rosqueando, pois ele ser colado ao pino-eixo. Esse procedimento um pouco mais complicado, pois precisamos de um suporte para o pino-eixo. Utilizamos um pedao de madeira qualquer. Foi feito um furo para o encaixe do pino-eixo, servindo assim de base para que possamos segurar o pino com segurana. O pino-eixo deve entrar com relativa presso na madeira para que fique bem firme, podendo ser necessrio utilizar um martelo para que o pino entre na madeira, tomando cuidado para no amass-lo. Como o pino-eixo utilizado possui um dimetro de 1/4, o furo na madeira tambm foi feito com broca de 1/4. Aps introduzir o pino-eixo na madeira, basta ento fur-lo. importante tomar cuidado para que o furo no seja torto, para isso utilizamos um marcador para evitar que a broca escorregue. O marcador, como mencionado anteriormente, pode ser um pequeno buraco feito com um prego. Esse furo foi feito com 1 cm de profundidade. Pode-se tambm fazer um furo guia (com broca de menor dimetro), para s ento perfur-lo com a broca de 1/8. Isso facilitar a furao, e ajudar a manter o furo o mais 18

centralizado possvel. Para retirar o pino-eixo do suporte, utilize um martelo, batendo no suporte para fazer a madeira abrir, tomando cuidado para no acertar o pino-eixo. Com o furo pronto, parte-se para o processo convencional que adotamos para a criao de um pino para o motor, como o corte para o encaixe no servo-motor e o vinco para a colocao da trava. Com o pino pronto para ser encaixado no servo-motor, colamos o parafuso engrenagem e depois o parafuso ao pino, ambos com a cola de secagem instantnea.

Figura 20: Criao do pino-eixo 1-Pequeno bloco de madeira para o encaixe do pino-eixo. Ele deve se manter firmemente preso esse bloco. 2-Marcao no pino-eixo do furo para o encaixe do parafuso. 3-Pino-eixo sendo perfurado com a broca de 1/8. importante que o furo no seja torto nem muito profundo. 4-Pino-eixo j perfurado. 5-Para retirar o pino-eixo do bloco de madeira, deve-se martelar esse bloco at que ele se abra. 6-O parafuso com a engrenagem pode ento ser colado ao furo do pino-eixo com a cola de secagem instantnea.

19

interessante tambm lubrificar o eixo, na regio que ficar apoiada no plstico do bloco do servo-motor, preferencialmente com graxa. O servo-motor, ento, dever ser fixado no bloco por meio de parafusos para madeira e a parte de plstico que servir para sustentao do pino-eixo e do potencimetro dever ser parafusada madeira por meio de parafusos e porcas.

Figura 21: Bloco de fixao do servo-motor com o pino-eixo. 1-Viso superior. Os dois furos que sobram so destinados a fixar o servo-motor. 2-Viso inferior, do lado do servo-motor. 3-A regio do pino-eixo que entrar em contato com o plstico do bloco dever ser lubrificada.

O potencimetro externo do servo-motor servir para informar a posio da engrenagem maior. Isso ser essencial, pois o Kit controlar sua posio de modo a fazer com que o inseto se incline e desloque. Devemos observar bem a forma com que os fios do potencimetro devem ser soldados aos terminais onde estava o potencimetro original, j que estamos utilizando um servomotor adaptado para rotao contnua. Seguindo o exemplo, com os terminais do potencimetro voltados para o lado de fora do bloco, os fios so soldados de maneira espelhada ao potencimetro original, ou seja, com os fios das extremidades invertidos. Isso deve ser feito pois a engrenagem a qual est preso o potencimetro gira no sentido contrrio da engrenagem presa ao eixo original do servo-motor. 20

Figura 22: Servo-motor com o potencimetro externo. A tampa do servo-motor foi perfurada para a passagem dos fios que foram ligados ao potencimetro.

O prximo passo ser preparar a engrenagem grande. Deve ser feito um furo no seu centro cujo tamanho seja suficiente para o encaixe do eixo do potencimetro. Faa um furo em que o eixo do potencimetro utilizado entre justo, pois isto ajudar durante a colagem, evitando assim possveis desalinhamentos que possam vir a surgir. Alm disso, devemos fazer furos em dois pontos da extremidade, alinhados com o centro no pino do potencimetro. Esses furos devem ser da espessura do parafuso a ser utilizado como futura base para fixao das hastes de transferncia do movimento do servo-motor para as pernas do inseto. Utilizamos arruelas dentadas para que o parafuso fique travado na engrenagem. Se necessrio, reforce com cola de secagem instantnea. Estes furos foram feitos o mais distante possvel do centro, que no caso da engrenagem utilizada por ns, que acabou nos fornecendo uma distncia de 1,6 cm para cada um dos lados. Porm, deve-se levar em considerao que estes furos devem possuir uma distncia semelhante distncia entre os dois furos que foram feitos destinados a interligao nas pernas centrais do rob inseto ao servo-motor. Para definir o tamanho do parafuso, tenha em mente que ele receber no mnimo mais duas arruelas e duas porcas, alm da haste que servir para a transferncia do movimento do servo-motor para as pernas centrais, por isso, dimensione-o com certa folga.

21

Figura 23: Engrenagem responsvel pela reduo e transferncia do movimento para as pernas.

Fixaremos primeiramente o bloco do servo motor responsvel pela movimentao horizontal. Utilizando o plstico do bloco do servo-motor, marcaremos os furos a serem feitos no corpo do inseto, apoiando esse plstico junto ao lado onde se encontram as pernas j anteriormente destinadas a serem tracionadas pelo motor. O plstico deve ser posicionado de forma que o lado do potencimetro fique voltado para o centro do corpo. O furo para a fixao do potencimetro e o furo para passagem do eixo do servomotor devem ficar perfeitamente alinhados com o centro do corpo do rob inseto. Optamos por posicionar o plstico 0,5 cm da extremidade do corpo do inseto.

22

Figura 24: Marcando os furos a serem feitos no corpo do inseto, para a fixao do bloco do servo-motor de movimentao horizontal. Os furos devem estar perfeitamente alinhados.

Iremos agora encaixar o potencimetro por meio da sua prpria porca e colocar a engrenagem grande de modo que os seus parafusos tenham suas cabeas voltadas para o bloco do servo-motor. Com a engrenagem grande encaixada podemos distanci-la corretamente em relao engrenagem pequena, e ento fixar o potencimetro. A engrenagem grande deve ser colada somente aps o bloco estar devidamente fixo base do rob inseto. Os furos maiores, como podemos observar na figura abaixo, foram feitos com broca chata de 3/4; os furos intermedirios foram feitos com broca de 8 mm, ou seja folga suficiente para que nem o parafuso nem a arruela que fixam o bloco do servo-motor fiquem em contato com a base do corpo sendo que se necessrio deve-se aumentar suas dimenses. Os demais foram feitos com broca de 4 mm, com a finalidade de fixar o bloco do servo motor ao corpo do rob inseto, sendo que, em nossa montagem, apenas os dois que encontram-se ao lado do potencimetro foram utilizados. Sempre que for utilizar broca chata para perfurar algo, faa primeiramente um furo guia, como feito antes no bloco do servo-motor, para assegurar que o furo saia corretamente alinhado.

23

Figura 25: Corpo do rob com os furos para o encaixe do bloco de movimentao horizontal.

A pea de plstico PVC foi fixada ao bloco de madeira pelos dois parafusos mais distantes do potencimetro, dentre os quatro que se encontram prximos ao eixo do servo-motor. O servo motor foi fixado ao bloco de madeira pelos outros dois furos restantes prximos do eixo. Tome cuidado para no utilizar os mesmos furos para prender o plstico e o servo-motor ao bloco. Os dois furos prximos ao potencimetro destinam-se a fixar o bloco ao corpo do rob.

Figura 26: Bloco do servo-motor montado. Dos quatro furos prximos ao eixo do servo-motor, dois foram utilizados para fixar a pea de plstico PVC. Os outros dois so utilizados para prender o prprio servo-motor ao bloco. Esses parafusos no esto visveis na foto, pois foram presos a partir do outro lado.

24

O bloco foi fixado a base apenas pelos dois parafusos prximos ao potencimetro. Observe que eles no so parafusos autoatarraxantes, eles passam diretamente pela madeira e so presos por uma porca de modo que o bloco fique preso por presso.

Figura 27: O bloco do servo-motor de movimentao horizontal foi fixado ao corpo do rob inseto atravs de dois parafusos e porcas, prximos ao eixo do potencimetro (abaixo).

Em seguida iremos criar hastes, que se tornaro responsveis pela transferncia do movimento do servo-motor para as pernas do rob inseto, porm antes, devemos fixar corretamente a engrenagem grande ao eixo do potencimetro. Para o correto encaixe da engrenagem, devemos primeiro definir a posio central do potencimetro. Ligaremos o servo-motor na sada do Kit destinada a servo-motores, e atravs de um programa que controle os servo-motores (o programa de demonstrao das funcionalidades do Kit, por exemplo) faremos com que o que o motor v para a posio central, e depois, girando o potencimetro com a mo, podemos achar a posio central de referncia do potencimetro externo. Isso se d quando o motor pra de girar por completo. Ento, poderemos colar a engrenagem, utilizando cola de secagem instantnea, tomando o cuidado para que ela no escorra para dentro do potencimetro. Note que os parafusos da engrenagem devem ficar paralelos a largura da base, bem alinhados. Sempre que possvel deixe para colar as peas no final das montagens, pois s vezes pode ser necessrio ter de desmontar algumas peas. Ao colar a engrenagem no potencimetro, por exemplo, deve-se ter em mente que no ser mais necessrio alterar o bloco do servo motor, pois, ao tentar descolar a engrenagem do potencimetro, podemos vir a danificar alguma dessas peas.

25

Figura 28: Engrenagem sendo colada ao potencimetro. Faa esse procedimento apenas se tiver certeza que no ser mais necessrio alterar o bloco, caso contrrio, deixe-o para o final.

As hastes foram feitas com plstico PVC com 2 mm de espessura da seguinte maneira: cortamos duas tiras de PVC com certa folga no seu comprimento, tendo 1 cm de largura cada uma. O seu comprimento exato definido pela distncia entre o parafuso fixo engrenagem grande e o furo voltado para o lado interno das pernas que sero tracionadas, do mesmo lado. Ao definir esta distncia, as pernas devem estar alinhadas umas com as outras, formando um ngulo de 90 em relao ao corpo, ou seja, paralelas largura. No nosso caso do exemplo essa distncia foi de aproximadamente 6,2 cm. Primeiro furamos um lado de cada uma das hastes, 5 mm de uma das extremidades. Este furo deve ser feito com broca de 1/8, de modo que a haste se encaixe sem atritos ao parafuso. Para isso pode ser necessrio ter de espaar levemente o furo. Encaixamos as hastes nos parafusos da engrenagem, adicionamos parafusos nas pernas (cujo comprimento deve ser suficiente para comportar no mnimo mais duas arruelas, duas porcas, alm da prpria haste) e conferimos a marcao para o prximo furo a ser feito, como pode ser observado na figura abaixo. importante que as hastes sejam posicionadas uma paralela a outra, nunca se deve cruz-las.

26

Figura 29: Definindo as dimenses das hastes de PVC, responsveis por transferir o movimento do servo-motor s pernas do inseto.

As hastes devem ento ser cortadas num tamanho adequado, aproveitando-se para dar o devido acabamento s peas neste momento. Elas devem ser fixadas atravs do mesmo sistema utilizado para criar eixos com parafusos, devendo possuir uma pequena folga para que possam se movimentar. Em relao sua altura ao cho, elas devem formar uma linha reta entre a engrenagem e as pernas, sendo que, se necessrio, deve-se aumentar o espaamento em relao engrenagem. Isso pode ser feito adicionando arruelas ou porcas ao parafuso, antes de encaixar as hastes. No rob inseto mostrado nesse tutorial, foi necessria a adio de uma porca e duas arruelas em cada um dos parafusos da engrenagem. Este um ponto que tambm deve ser lubrificado.

27

Figura 30: Hastes prontas e fixadas engrenagem do servo-motor e s pernas do inseto atravs de parafusos, porcas e arruelas.

Deste modo, o bloco de movimentao horizontal do rob inseto est concludo. Partiremos ento para a fixao do bloco responsvel pela movimentao vertical. O bloco do servo-motor semelhante ao utilizado para a movimentao vertical, e j deve estar completamente montado, com o potencimetro e as engrenagens fixadas. A engrenagem deve ser fixada ao potencimetro com ele j centrado, de modo que os parafusos formem uma linha paralela ao sentido em que o bloco ser fixado. Devemos seguir os procedimentos acima para identificar a posio central do potencimetro, utilizando um programa que controle a posio do servo-motor. Primeiro, faremos um corte paralelo largura do corpo, com comprimento aproximadamente igual ao da engrenagem, sobre a linha central do corpo do inseto, com largura de 5 mm. Dependendo do posicionamento das pernas centrais, este corte pode variar de posio, no entanto, ele deve permitir a passagem de duas hastes de plstico, semelhantes quelas que foram criadas no bloco de movimentao horizontal. Devemos levar em conta que os furos restantes das pernas centrais devero receber parafusos, onde sero encaixadas as hastes para a transferncia de movimento do servo-motor para as pernas, sendo assim, o que realmente define a posio do corte a localizao dos parafusos. Este corte pode ser feito com o auxlio da furadeira de bancada e da microrretfica. Primeiramente, deve-se marcar a rea a ser cortada e, no centro desta rea, traa-se uma linha onde deveremos fazer diversos furos com broca adequada (5 mm no nosso caso). Feito isso, utilizamos a microrretfica com o acessrio disco de corte para interligar estes furos, retirando os excessos de madeira. Para o acabamento pode-se usar uma lima, ou at mesmo uma lixa manual.

28

Figura 31: Furo para a passagem das hastes do servo-motor de movimentao vertical. Foram feitos alguns furos com a furadeira de bancada, que sero interligados com a microrretfica.

Em seguida, posicionamos o bloco do servo-motor com os parafusos da engrenagem alinhados com os parafusos das pernas, lembrando-se de que entre eles deve haver o espao para as hastes. Utilizando um lpis ou outro instrumento para marcao, riscaremos em volta do bloco de madeira, para demarcar sua posio na base, certificando-se de que o mesmo esteja alinhado no sentido da largura da base e centralizado. O bloco deve estar posicionado de modo que o potencimetro fique voltado para cima.

29

Figura 32: Demarcando a posio do bloco no corpo do inseto.

Em seguida, traamos duas linhas no centro da marcao, sendo uma em relao ao seu comprimento e outra em relao sua largura, para determinarmos os furos para a fixao do bloco. Sero feitos dois furos com a broca de 4 mm, que podero ser espaados, se necessrio. Estes furos devem ficar a 1 cm das beiradas do bloco de madeira, no sentido do comprimento, e centralizados em relao sua largura.

Figura 33: Furos para a fixao do bloco do servo-motor.

Utilizamos parafusos autoatarraxantes de 2,9 mm para fixar o bloco do motor. Para marcar 30

o bloco, basta posicion-lo na base e, com o auxlio de um lpis ou uma caneta, marcar os pontos que devero ser perfurados, utilizando para isso a broca de 2,5 mm.

Figura 34: Bloco do servo-motor de movimentao vertical fixado atravs de parafusos autoatarraxantes.

No que diz respeito as hastes, elas so praticamente idnticas s hastes feitas anteriormente, diferenciando apenas no seu comprimento, que dado medindo-se a distncia entre o parafuso fixo engrenagem e o parafuso fixo sua respectiva perna, sendo que a perna deve estar paralela base do corpo do rob inseto (os dois ps centrais devem estar encostados no cho para que se possa medir com maior preciso).

Figura 35: Colocando as hastes de transmisso de movimento do servo-motor s pernas de inclinao do rob. 1Definindo o seu tamanho. 2-Viso inferior do corpo do rob inseto.

31

As hastes so presas aos parafusos da engrenagem, da mesma forma que as hastes responsveis pela transferncia de movimento horizontal do rob inseto, mas podem ser apenas encaixadas nos parafusos das pernas centrais, pois no iro escapar deste.

Figura 36: Finalizando o corpo do inseto. 1-Hastes fixadas s engrenagens. 2-Aps a finalizao do corpo do inseto, podemos terminar alguns detalhes, como pontos a serem lubrificados e colagens.

Pode ser necessrio ter de colocar sapatos nos ps do rob inseto, que podem ser feitos de ps de borracha, como mostrados na foto abaixo, ou mesmo pedaos de borracha colados aos ps. Isso feito somente nos ps das extremidades, pois eles precisam possuir um bom contato com a superfcie onde o inseto se deslocar. Nas pernas centrais, esse procedimento no necessrio, pois elas precisaro escorregar.

Figura 37: "Sapatos" de borracha colocados nas pernas das extremidades, proporcionando maior aderncia. As pernas centrais no necessitam deles, pois devem deslizar.

32

Finalizamos aqui a montagem do rob inseto na verso com engrenagens de reduo. Vamos detalhar agora as mudanas que devem ser feitas para a construo da verso sem engrenagens, alm de outras modificaes que podem ser realizadas.

Figura 38: Viso do rob inseto finalizado.

6 Verso sem engrenagens


O rob inseto tambm pode ser construdo de uma forma mais simplificada. Ele pode ser feito sem as engrenagens responsveis pela reduo da velocidade do servo-motor. Nesse modo, o inseto poder se movimentar com mais velocidade, j que a velocidade do servo-motor inalterada.

33

Figura 39: Verso do rob inseto sem engrenagens de reduo. Observe que este modelo conta com um acabamento, feito com papel laminado vermelho.

Para construirmos um robo inseto sem as engrenagens, podemos utilizar um bloco igual ao bloco padro de servo-motor. Enquanto que na verso do rob inseto com engrenagens devemos modificar o servo-motor para rotao contnua e utilizar um potencimetro, no servo-motor destinado verso sem engrenagens no necessria nenhuma alterao. Neste modelo, foi criado um pequeno bloco que servir para substituir a engrenagem no que diz respeito ao suporte dos parafusos em que so encaixadas as hastes para a transferncia de movimento. Este bloco constitui-se de um cano de alumnio com 3/8 de dimetro externo, e 1/4 de dimetro interno, com 1,3 cm de comprimento. Nele foi colada uma pequena barra de alumnio (com 1 cm de comprimento), que foi introduzida 5 mm para dentro do cano de alumnio e colada com cola de secagem instantnea. Nos 5 mm que ficaram para fora do cano de alumnio, ser colada uma pequena haste, onde sero presas as hastes de transferncia de movimento. Fixaremos o cano ao eixo do servo-motor atravs de um parafuso. Para isso, o cano foi perfurado a 5 mm de distncia da borda, do lado oposto de onde foi colado o pino, e ento encaixado ao eixo do servo-motor para serem feitas as marcaes dos furo a ser feito no eixo. Ambas as peas foram perfuradas com broca de 1/8. A pea deve ento ser aparafusada ao eixo do motor, como pode ser observado na figura abaixo, e com o eixo do motor movido para a posio central, deve-se colar no pino uma haste, que servir de base para as hastes de transferncia de movimento. Ela deve ser perfurada com broca de 1/4, para que possa se encaixar perfeitamente no pino. Em seguida para reforar esta colagem, insere-se uma pequena arruela (que pode ser feita com o mesmo material do cano de alumnio, bastando cort-lo num tamanho pequeno), colando-a tambm, com cola de secagem instantnea.

34

Figura 40: Vises da haste colocada no eixo do servo-motor, onde so fixadas as hastes de transferncia de movimento. 1-Viso do bloco de movimentao vertical. 2-Viso do bloco de movimentao horizontal.

Uma maneira de simplificar este processo, faz-lo utilizando duas travas para fixar a haste de plstico ao eixo do servo-motor, colando-a em seguida com cola de secagem instantnea, lembrando-se de que esta haste, onde sero preso os parafusos, dever ser colada j com servomotor centrado. As imagens abaixo ilustram esse exemplo de aplicao.

35

Figura 41: Utilizao de travas para prender a haste. 1-Viso do bloco de movimentao horizontal. 2-Viso do bloco de movimentao vertical.

Neste novo exemplo podemos notar diversas diferenas para o primeiro modelo mostrado nesse tutorial. As pernas deste rob inseto foram feitas com barras de aluminio 1/4 cilndricas, que embora sejam mais difceis de se trabalhar, possibilitam uma esttica melhor; as quatro pernas de movimentao horizontal possuem o mesmo tamanho; as hastes de transferncia do movimento horizontal so ligadas nos mesmos parafusos em que esto presas as barras que transferem o movimento para as outras duas pernas e estes parafusos, por sua vez, so bem mais longos. Alm disso, a perna composta por uma nica pea, feita com a barra cilndrica, que foi dobrada com o auxlio de uma morsa.

Figura 42: Diferenas desse exemplo de rob em relao ao anterior. 1-Um mesmo parafuso prende a barra ligada s outra perna e a haste ligada ao motor. 2-Por esse motivo, a perna que ligada ao servo-motor de deslocamento horizontal do mesmo tamanho da que no ligada.

A verso com as engrenagens foi uma adaptao que criamos com a inteno de melhorar a mecnica do movimento. No entanto, com a adio de engrenagens, havero algumas etapas a mais 36

durante a montagem. A verso a ser montada de livre escolha. Alm disso, nada o impede de mesclar os dois modelos ou at mesmo mudar a estrutura do rob ao seu gosto.

7 Eletrnica
A eletrnica envolvida com o rob inseto simples. Sero descritos apenas alguns detalhes em relao conexo do inseto, sua alimentao e o potencimetro externo dos servo-motores. Para conectar o inseto ao KDR5000, dever ser utilizado o Mdulo de Entradas, Sadas e Servo-Motores. recomendado utilizar o primeiro conector de servo-motores disponvel, tendo em vista que o MEC1000 possui uma quantidade de portas menor e o programa dever ser compatvel com os dois. Para conectar o servo-motor de movimento vertical recomendado utilizar a porta Servo 0, enquanto que para o servo-motor de movimento horizontal, recomendado a porta Servo 1. possvel ligar os servo-motores em outras portas, mas a conexo descrita acima foi padronizada para facilitar a programao. Caso haja dvidas sobre a conexo, basta consultar os manuais desses equipamentos. No necessria uma fonte de alimentao externa para o inseto, pois como ele possui apenas dois servo-motores, a corrente consumida por ele pode ser suportada pela fonte prpria do MEC1000 ou do KDR5000. Podem ser utilizadas as sadas de alimentao disponveis nos conectores destinados ao seu controle. Para conectar o rob inseto ao Kit, recomendado utilizar um cabo de grande extenso, para que ele tenha uma maior liberdade de movimento. Tambm interessante usar um conector (DB-9, por exemplo) para ligar esse cabo ao inseto, para facilitar o transporte do rob. Esse cabo tambm pode ser utilizado para conectar o rob bpede ao Kit, desde que os conectores tenham a mesma pinagem, ou seja, que os cabos estejam soldados nos conectores de forma semelhante. O potencimetro externo dos servo-motores dever ter seus terminais ligados de forma invertida em relao ao potencimetro original, tendo em vista que a engrenagem a qual ele est ligado gira no sentido inverso ao eixo do servo-motor.

8 Programao
Para que o nosso rob inseto possa funcionar perfeitamente, ele dever ser controlado de modo adequado. Sendo assim, devemos criar um programa que faa com que o Kit acione os servomotores de modo que o inseto possa se deslocar. Atravs do programa descrito nesse tutorial, o Kit acionar os servo-motores de movimentao vertical e horizontal. De acordo com o modo que os servo-motores forem acionados, o inseto poder se movimentar para frente ou para trs ou virar para a direita ou esquerda. Porm, devido sua estrutura mecnica, o movimento que o inseto realiza para virar no to gil quanto a do rob bpede. Alm disso, adicionamos um comando para que o rob fique na posio de repouso, o que til antes de deslig-lo.

37

possvel notar que o programa utilizado para controlar o rob inseto muito semelhante ao que utilizado para o rob bpede. Isso porque os dois robs possuem muitas semelhanas. Eles possuem dois servo-motores e realizam uma sequncia de movimento muito parecida. Porm, no recomendado utilizar o programa destinado ao inseto para controlar um bpede, e vice-versa. Isso porque, como ser explicado mais detalhadamente a seguir, os movimentos a serem realizados pelos seus servo-motores possuem certas limitaes, e este deve ser controlado tendo em vista essas limitaes. O programa exemplificado aqui neste tutorial serve como um exemplo. Ele contm apenas as instrues bsicas para o funcionamento do rob, possibilitando que ele se movimente em determinadas direes. Ele pode ser modificado de inmeras maneiras, propocionando uma interface melhor ou uma linha de cdigo mais eficiente. Tambm possvel que se controle manualmente a posio dos servo-motores ou realizar tudo de forma automtica, incrementando o rob com sensores que possam verificar se h algum obstculo. O nosso programa ser criado atravs do Delphi, utilizando o Projeto Base, que nos permite a comunicao com o Kit atravs de uma porta serial, como ponto de partida para a elaborao do programa, que dever apresentar a seguinte interface.

Figura 43: Programa de controle do inseto.

Nosso primeiro passo criar a interface grfica do programa. Como vamos utilizar o projeto criado no tutorial Base como ponto de partida, copiamos o projeto daquele tutorial e em cima dele vamos adicionar alguns componentes grficos extras. A primeira coisa que modificaremos no projeto a propriedade Caption do Form principal, que possui o texto Projeto Base. Vamos modific-la para Inseto. Com isso j podemos comear a adicionar os componentes grficos ao Form. O programa possui uma interface grfica composta por dois Button e cinco SpeedButton. Os botes comuns sero destinados a iniciar e parar o funcionamento do inseto. J os SpeedButton sero destinados a controlar a movimentao do inseto. O primeiro passo ser adicionar os componentes SpeedButton, que podem ser encontrados na aba Additional.

Figura 44: Aba "Additional" da barra de componentes.

O componente SpeedButton possui o seguinte cone nessa barra. 38

Figura 45: cone do componente SpeedButton.

Devemos adicionar cinco desses componentes no nosso Form e modificaremos as seguintes propriedades de cada um deles: Name Caption Width AllowAllUp GroupIndex Name Caption Width AllowAllUp GroupIndex Name Caption Width AllowAllUp GroupIndex Name Caption Width AllowAllUp GroupIndex Name Caption Width AllowAllUp = = = = = = = = = = = = = = = = = = = = = = = = SpeedButtonFrente Frente 57 True 1 SpeedButtonTras Trs 57 True 1 SpeedButtonDireita Direita 57 True 1 SpeedButtonEsquerda Esquerda 57 True 1 SpeedButtonRepouso Repouso 57 True

39

GroupIndex

Desse modo, nosso Form ficar da seguinte maneira. Observe o modo como os SpeedButton foram colocados.

Figura 46: Form aps a adio dos SpeedButton para controle do inseto.

Nosso prximo passo ser adicionar os componentes para iniciar e parar a movimentao do inseto. Isso ser feito atravs de componentes Button, que se encontram na aba Standard da barra de componentes.

Figura 47: Aba "Standard" da Barra de componentes.

O componente Button possui o seguinte cone.

Figura 48: cone do componente Button.

Vamos adicionar dois componentes desses e modificar as seguintes propriedades do boto para iniciar o movimento do inseto. Name Caption Font/Style/fsBold = = = ButtonIniciar Iniciar true

Em seguida as propriedades do boto para parar o inseto. Name Caption = = ButtonParar Parar 40

Font/Style/fsBold

true

Com isso, o nosso Form apresentar o seguinte aspecto.

Figura 49: Form aps a adio dos componentes para iniciar e parar os movimentos do inseto.

Sendo assim, finalizamos a interface grfica do nosso programa e podemos partir para a implementao de suas linhas de cdigo. Aqui, desenvolveremos o cdigo responsvel pelo controle dos servo-motores, para que o inseto se movimente. Para que a criao do programa seja facilitada, recomendamos que sejam seguidas as instrues de ligao dos servo-motores descritas no trecho referente Eletrnica. Devido s caractersticas da estrutura mecnica, os parmetros utilizados nesse tutorial para a movimentao dos servo-motores no sero definitivos, mas devem ser estabelecidos de acordo com a sua construo. Deve-se tomar cuidado para que eles no girem demais, o que pode danificlos. Como seu movimento deve ser limitado de acordo com a estrutura do rob, no ser possvel que eles faam o movimento completo, o que foraria o servo-motor. O programa funcionar da seguinte forma: criaremos uma funo chamada SleepAndTest e uma varivel chamada Stop, sendo que os dois podero ter apenas os valores True (verdadeiro) e False (falso). Quando a varivel Stop for True, a funo SleepAndTest ser falsa e vice-versa. A funo SleepAndTest ter dois objetivos: gerar um delay (pausa na execuo do programa). Essa pausa ser muito clara durante o funcionamento do inseto, pois enquanto as pernas centrais levantam um lado do corpo, o programa estar nessa pausa, e s depois ele desloca outras pernas. O outro objetivo dessa funo ser verificar se o boto Parar foi pressionado. Isso feito verificando o estado da varivel Stop. Quando apertamos o boto Iniciar, o valor dessa varivel definido como False. Sendo assim, a funo SleepAndTest retornar um valor verdadeiro, o que um requisito para a execuo do programa. Ao apertar o boto Parar, a varivel Stop definida como verdadeira, o que acarretar na interrupo da execuo do programa. O nosso primeiro passo ento ser criar a varivel Stop. Isso ser realizado da seguinte forma: apertamos F12, mudando do Form para a Unit Main. Na parte superior dessa Unit, antes do cdigo que foi criado no Tutorial Base, temos a declarao das variveis globais da Unit. A nica varivel global presente no momento a FormMain. Declararemos ento a varivel Stop, que ser do tipo Boolean (True/False). Desse modo, a linha de cdigo do programa ficar assim: ...

41

var FormMain: TformMain; Stop: Boolean; implementation ... Devemos agora criar a funo SleepAndTest. Vamos nos dirigir ao final da Unit, nas linhas de cdigo criadas no Tutorial Base. Antes do end final do programa (end.) criaremos a funo SleepAndTest. Ela ser do tipo Boolean, ou seja, retorna um valor verdadeiro ou falso. Inicialmente, criaremos a funo desse modo: ... function SleepAndTest (tempo: integer): Boolean; begin end; end. Essa funo depende do parmetro Tempo, que ser do tipo Integer, cujo objetivo ser explicado a seguir. Devemos declarar uma varivel e uma constante locais, ou seja, que sero utilizadas apenas nessa funo, chamadas i, que ser do tipo Integer, e Tempobase, cujo valor ser 10. ... function SleepAndTest (tempo: integer): Boolean; var i: integer; const Tempobase = 10; begin end; end. Vamos agora implementar nossa funo SleepAndTest, fazendo com que ela gere o delay e verifique o valor da varivel Stop. Para isso, utilizaremos uma estrutura de repetio for e uma estrutura de comparao if-else, que comparar o valor de Stop com True e False. Deste modo, nossa linha de cdigo ficar assim: 42

... function SleepAndTest (tempo: integer): Boolean; var i: integer; const Tempobase = 10; begin for i:=1 to tempo do begin Application.ProcessMessages; if Stop = true then begin // Se o boto Parar foi pressionado, a varivel Stop // ser verdadeira e a funo retornar um valor falso. SleepAndTest := false; end else begin // A funo Sleep pausa o programa durante um tempo Sleep(Tempobase); // Se o boto Parar no foi pressionado, a funo re// tornar um valor verdadeiro SleepAndTest := true; end; end; end; end. Aps criar a funo, vamos analis-la. Primeiramente, adicionamos uma estrutura de repetio for. As instrues contidas nessa estrutura sero executadas at que o valor da varivel i, que foi iniciada com o valor 1, seja igual ao valor da varivel tempo, lembrando-se que a cada repetio o valor da varivel i ser incrementada em uma unidade. Temos ento a funo Application.ProcessMessages. Essa funo processa todas as tarefas pendentes no programa, sendo que nesse caso o principal objetivo atualizar a interface e verificar se algum boto foi pressionado na interface grfica do programa e, caso isso tenha ocorrido, as linhas de cdigo referentes a esse boto sero executadas. 43

Temos depois uma estrutura de comparao if-else, que verificar o valor da varivel Stop. Se Stop for verdadeiro, o que acontecer ao pressionar o boto Parar, ento a funo SleepAndTest retornar um valor falso. Mas se a varivel Stop for falsa, ento SleepAndTest ser verdadeiro, o que uma condio essencial para a execuo do programa, como veremos a seguir. Alm disso temos a funo Sleep. Essa funo pausa o programa durante um tempo em milisegundos. Como nossa constante Tempobase foi definida como 10, a cada vez que essa funo Sleep for acionada, haver uma pausa de 10 ms. Mas lembre-se de que essa funo Sleep est dentro de um lao for, cujo nmero de repeties definido pelo parmetro tempo. Se declararmos nossa funo dessa maneira: SleepAndTest (100); ento tempo ser 100 e, consequentemente, havero 100 repeties no lao for. Se a varivel Stop for falsa, a funo Sleep ser executada 100 vezes, gerando ento um delay de 1 segundo. O prximo passo ser ento implementar o cdigo que ser executado ao pressionarmos o boto Iniciar. Para isso, basta dar um duplo clique sobre ele no nosso Form, o que abrir o seguinte manipulador na nossa Unit: ... procedure TformMain.ButtonIniciarClick(Sender: Tobject); begin end; end. Nesse programa utilizaremos uma nica varivel local, chamada de InsetoRepouso que ser utilizada mais adiante para manter o inseto em posio de repouso. Vamos ento declar-la. ... procedure TformMain.ButtonIniciarClick(Sender: Tobject); var InsetoRepouso: integer; begin end; end. Vamos tambm declarar as duas constantes locais, que sero utilizadas para identificar os servo-motores. Ser atribudo a elas um valor correspondente a sua posio dos respectivos servomotores nas suas portas. Ento, para que o rob seja controlado corretamente, recomendado seguir as instrues de conexo descritas no trecho referente Eletrnica. Caso haja alguma dvida, basta consultar os manuais do MEC1000 ou do KDR5000, onde esto presentes as pinagens das portas de Servo-motores.

44

... procedure TformMain.ButtonIniciarClick(Sender: Tobject); var InsetoRepouso: integer; const ServoVert = 0; ServoHoriz = 1; begin end; end. Devemos implementar o cdigo que ser executado quando o boto Iniciar for pressionado. Como utilizaremos a funo SleepAndTest frequentemente, e esta depende da varivel Stop, nosso primeiro passo dever ser atribuir um valor a essa varivel, que dever ser False. Alm disso, devemos inicializar tambm a varivel InsetoRepouso, atribuindo a ela o valor zero. O cdigo ento ficar assim: ... procedure TformMain.ButtonIniciarClick(Sender: Tobject); var Repouso: integer; const ServoVert = 0; ServoHoriz = 1; begin // Ao pressionar o boto iniciar, a varivel Stop ser // falsa Stop:= false; // Inicializao da varivel InsetoRepouso InsetoRepouso:= 0; end; end. Devemos agora nos dedicar ao trecho principal da linha de cdigo do programa, onde sero 45

executados os comandos para a movimentao do inseto de acordo com o SpeedButton selecionado. As aes relacionadas a sua movimentao devem se repetir at que o boto Parar seja pressionado, sendo assim, precisamos de uma estrutura de repetio, que no nosso caso ser um while. Ele depender do valor da funo SleepAndTest, ou seja, o nosso programa estar preso nesse lao while enquanto a funo SleepAndTest retornar um valor verdadeiro. Caso o boto Parar seja pressionado, o que far com que SleepAndTest retorne um valor falso, esse lao while ser encerrado e o programa se encaminhar ao cdigo de finalizao do inseto. Criando esse lao while, nosso programa ficar assim: ... begin // Ao pressionar o boto iniciar, a varivel Stop ser // falsa Stop:= false; // Inicializao da varivel InsetoRepouso InsetoRepouso:= 0; while SleepAndTest(1) = true do begin end; end; end. Agora que criamos o lao while, devemos implementar o cdigo a ser executado enquanto nosso programa estiver preso nele. O programa dever verificar qual SpeedButton foi pressionado e executar as linhas de cdigo referentes a ele, para realizar a movimentao do inseto. Devemos ento utilizar estruturas de comparao if, sendo cada uma relacionada a um SpeedButton. Vamos criar os blocos if referente aos SpeedButton de direo. O bloco if do SpeedButton Repouso ligeiramente diferente e ser feito depois. ... begin // Ao pressionar o boto iniciar, a varivel Stop ser // falsa Stop:= false; // Inicializao da varivel InsetoRepouso InsetoRepouso:= 0; while SleepAndTest(1) = true do

46

begin // Verifica se o boto Frente foi pressionado if (SpeedButtonFrente.Down = true) then begin end; // Verifica se o boto Trs foi pressionado if (SpeedButtonTras.Down = true) then begin end; // Verifica se o boto Esquerda foi pressionado if (SpeedButtonEsquerda.Down = true) then begin end; // Verifica se o boto Direita foi pressionado if (SpeedButtonDireita.Down = true) then begin end; end; end; end. Aps criarmos os bloco acima, vamos nos dedicar a elaborar o cdigo a ser executado quando o SpeedButton Frente estiver pressionado, o que far com que o inseto desloque-se para a frente. Mas, antes de tudo, devemos analisar como movimentar corretamente os servo-motores. J mencionamos anteriormente que o funcionamento do inseto depende tanto de sua estrutura mecnica quanto da programaco envolvida em seu controle. Para entender o problema a ser descrito aqui, vamos analisar o modo como o inseto foi construdo. O servo-motor de movimentao vertical est ligado s pernas centrais, enquanto que o servo-motor de movimentao horizontal move diretamente duas pernas, que esto ligadas s outras duas atravs de uma barra de transferncia de movimento. Deve-se tomar cuidado com o movimento que os servo-motores realizaro, que pode ser limitado devido a alguma caracterstica do rob. Caso o servo-motor tente se movimentar mais do que o possvel, h riscos de danificar tanto a estrutura quanto o prprio motor. Os limites mximos de movimentao dependem muito de como o inseto foi construdo. O servo-motor destinado ao 47

movimento horizontal o menos crtico. Pode haver alguma limitao no fato da barra de transferncia de movimento encostar no corpo do rob quando as pernas forem movimentadas. Tambm possvel haver alguma limitao devido engrenagem ou as hastes que a conectam s pernas. O servo-motor de movimento vertical , provavelmente, o que possuir mais limitaes. Isso porque o movimento das pernas centrais, que realizado por esse motor, pode ser limitado pela base do inseto e pela barra de transferncia de movimento. O movimento a ser executado deve ser capaz de levantar um lado do corpo inseto, porm, respeitando as possveis limitaes. Devemos primeiramente estabelecer os parmetros a serem enviados para o deslocamento dos eixos dos servo-motores. Atravs da funo ServoMotorOn, enviamos um valor que varia entre 0 e 255 que, no caso dos servo-motores originais, serve para controlar a posio do seu eixo. Esse controle o que ser realizado na verso do rob inseto sem as engrenagens. Na verso com engrenagens, como estamos utilizando um servo-motor adaptado, cujo potencimetro externo, esse valor tem a funo de controlar a posio da engrenagem presa ao potencimetro. Nem sempre possvel utilizar todos os valores possveis entre 0 e 255 como parmetro para o posicionamento da engrenagem ou do eixo do servo-motor. Caso sua movimentao seja limitada, valores muito altos ou muito baixos podem fazer com que o servo-motor force a estrutura. Como os valores limites dependem de como o rob foi construdo, os valores mximos e mnimos que podemos utilizar sem danificar o servo-motor variam. Os valores definidos aqui nesse tutorial devem servir apenas como base na implementao de seu programa. Por isso, esteja atento ao funcionamento do inseto. Caso o movimento de algum servo-motor seja insuficiente ou seja forado (o que pode-se perceber atravs do seu barulho), basta mudar o valor enviado atravs da funo ServoMotorOn. interessante, durante a criao do programa, fazer uma verificao passo-a-passo dos movimentos a serem executados. Vamos voltar agora a implementao das linhas de cdigo do nosso programa. Dentro do nosso bloco if, a primeira coisa a fazer ser levantar um lado do corpo do inseto. Para isso, utilizaremos a funo ServoMotorOn, que ter como primeiro parmetro a constante referente ao motor de movimento vertical. J o segundo parmetro, como foi explicado acima, deve ter um valor suficiente para que a perna central levante um lado do corpo do inseto acima do cho, mas respeitando os limites que possam existir. Utilizamos o valor 70 como parmetro, mas ele poder ser modificado, caso seja insuficiente ou seja demais. ... while SleepAndTest(1) = true do begin // Verifica se o boto Frente foi pressionado if (SpeedButtonFrente.Down = true) then begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); end; ...

48

O prximo passo, depois que o inseto tem seu corpo levantado, deslocar as pernas das extremidades para frente. Devemos ento movimentar o servo-motor de movimento horizontal, utilizando novamente a funo ServoMotorOn. O segundo parmetro dessa funo dever ser um valor que suficiente para que as pernas sejam deslocadas para frente sem danificar o motor ou as estruturas. Aqui, foi utilizado o valor 200, mas convm lembrar que ele pode ser modificado caso no seja adequado. Mas antes que essa funo seja utilizada, devemos gerar uma pausa no programa, o que ser feito atravs da funo SleepAndTest. Utilizando o valor 100 como parmetro, geramos um atraso de 1 segundo. Essa pausa extremamente necessria, pois ela ocorrer enquanto o servo-motor estiver levantando o corpo do inseto. Caso no utilizarmos essa pausa, a inclinao do corpo e o deslocamento das pernas ocorrero simultaneamente. Ou seja, os comandos da sequncia de movimento sero enviados ao servo-motor numa velocidade muito rpida, os servo-motores no completaro os movimentos e o rob no se mover. ... while SleepAndTest(1) = true do begin // Verifica se o boto Frente foi pressionado if (SpeedButtonFrente.Down = true) then begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca as pernas livres para frente kit.ServoMotorOn(ServoHoriz,200); end; ... Agora devemos levantar outro lado do corpo do inseto, para que possamos movimentar novamente suas pernas. Antes, geramos uma outra pausa de um segundo, para que as pernas possam ser deslocadas. Utilizamos ento a funo ServoMotorOn tendo como primeiro parmetro a constante ServoVert. S que desta vez, utilizamos outro valor como segundo parmetro. Esse valor deve ser suficiente para inclinar o corpo do inseto para o outro lado, deixando duas pernas levemente acima do cho. Nesse caso, utilizamos o valor 250. Vamos tambm gerar uma outra pausa de 1 segundo no nosso programa, que ocorrer enquanto o servo-motor de movimento vertical estiver atuando. ... while SleepAndTest(1) = true do begin // Verifica se o boto Frente foi pressionado 49

if (SpeedButtonFrente.Down = true) then begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca as pernas livres para frente kit.ServoMotorOn(ServoHoriz,200); // Gera um atraso de 1 segundo SleepAndTest(100); // Levanta outro lado do corpo do inseto kit.ServoMotorOn(ServoVert,250); // Gera um atraso de 1 segundo SleepAndTest(100); end; ... Sendo assim, as pernas podero ser deslocadas novamente, o que ser feito utilizando a funo ServoMotorOn. O primeiro parmetro ser ServoHoriz, indicando qual motor ser acionado. J o segundo parmetro dever ser suficiente para que a perna seja movimentada para a frente, lembrando-se novamente de que no podemos forar o servo-motor. Depois dessa funo, tambm necessitamos gerar um atraso de um segundo, atravs da funo SleepAndTest. ... while SleepAndTest(1) = true do begin // Verifica se o boto Frente foi pressionado if (SpeedButtonFrente.Down = true) then begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca as pernas livres para frente kit.ServoMotorOn(ServoHoriz,200); // Gera um atraso de 1 segundo 50

SleepAndTest(100); // Levanta outro lado do corpo do inseto kit.ServoMotorOn(ServoVert,250); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca as pernas livres para frente kit.ServoMotorOn(ServoHoriz,30); // Gera um atraso de 1 segundo SleepAndTest(100); end; ... J temos pronta a programao referente ao movimento do inseto para frente, podendo nos dedicar ao movimento para trs. A sequncia de movimentos extremamente semelhante, tendo como nica diferena o fato de que as pernas que estiverem livres sero deslocadas para trs. Um modo muito simples de implementar o cdigo do SpeedButtonTras copiar o que foi feito para deslocar o inseto para a frente e apenas trocar os valores utilizados como segundo parmetro para o controle do servo-motor de movimento horizontal. O bloco if desse SpeedButton ficar assim. ... // Verifica se o boto Trs foi pressionado if (SpeedButtonTras.Down = true) then begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca as pernas livres para trs kit.ServoMotorOn(ServoHoriz,30); // Gera um atraso de 1 segundo SleepAndTest(100); // Levanta outro lado do corpo do inseto kit.ServoMotorOn(ServoVert,250); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca as pernas livres para trs kit.ServoMotorOn(ServoHoriz,200); 51

// Gera um atraso de 1 segundo SleepAndTest(100); end; ... Os prximos cdigos a serem implementados so os comandos para virar esquerda e direita. Os procedimentos adotados para virar o inseto so um pouco diferentes. O primeiro passo ser mant-lo com as seis pernas no cho, utilizando como segundo parmetro da funo ServoMotorOn algum valor entre 70 e 250 (que foram utilizados para inclin-lo) suficiente para isso. No exemplo descrito nesse tutorial, o valor ideal foi 150. Com as seis pernas do inseto no cho, quando acionarmos o servo-motor de deslocamento, ele virar para um lado. A direo para a qual o inseto vira depende do valor utilizado para acionar o servo-motor. Esses valores podem ser os mesmos usados anteriormente. Ao usarmos 30, ele virar para a direita e ao usarmos 200, ele virar para a esquerda. Aps realizar esses movimentos, podemos notar que as pernas das extremidades encontramse desalinhadas. Para que seja possvel virar o inseto novamente, devemos alinh-las. Para isso, precisamos descobrir um valor entre 30 e 200 (que foram utilizados para deslocar as pernas) que possa ser utilizado para esse objetivo. No rob inseto utilizado em nosso tutorial, o valor ideal encontrado foi 100. A implementao completa do SpeedButtonEsquerda mostrada a seguir. ... // Verifica se o boto Esquerda foi pressionado if (SpeedButtonEsquerda.Down = true) then begin // Deixa o inseto com as seis pernas no cho kit.ServoMotorOn(ServoVert,150); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca o inseto para a esquerda kit.ServoMotorOn(ServoHoriz,200); // Gera um atraso de 1 segundo SleepAndTest(100); // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Realinha as pernas do inseto kit.ServoMotorOn(ServoHoriz,100);

52

// Gera um atraso de 1 segundo SleepAndTest(100); end; ... A implementao do SpeedButtonDireita mostrada a seguir. ... // Verifica se o boto Direita foi pressionado if (SpeedButtonDireita.Down = true) then begin // Deixa o inseto com as seis pernas no cho kit.ServoMotorOn(ServoVert,150); // Gera um atraso de 1 segundo SleepAndTest(100); // Desloca o inseto para a direita kit.ServoMotorOn(ServoHoriz,30); // Gera um atraso de 1 segundo SleepAndTest(100); // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,250); // Gera um atraso de 1 segundo SleepAndTest(100); // Realinha as pernas do inseto kit.ServoMotorOn(ServoHoriz,100); // Gera um atraso de 1 segundo SleepAndTest(100); end; end; end; end. Com os comandos de movimentao feitos, podemos agora implementar o bloco if do SpeedButtonRepouso. Ele ser utilizado para manter o inseto alinhado e com todas as pernas no cho, sendo um procedimento til para ser feito antes de deslig-lo. Esse bloco if ser um pouco diferente dos outros. Como ele s precisa ser feito uma nica 53

vez, devemos utilizar mais uma condio, alm do fato do SpeedButtonRepouso estar pressionado. a que precisamos da varivel InsetoRepouso. A outra condio para que esse bloco if seja executado ser de que a varivel InsetoRepouso dever ser diferente de 1, o que pode ser feito atravs do operador <>. Ao pressionar o boto Iniciar, ser atribudo o valor 0 a essa varivel. Sendo assim, caso o SpeedButtonRepouso estiver pressionado, as linhas de cdigo referentes a ele sero executadas. S que no final do bloco if, vamos atribuir o valor 1 varivel. Sendo assim, teremos certeza de que esse bloco no ser executado novamente, a no ser que o boto Iniciar seja pressionado de novo. O cdigo para o SpeedButtonRepouso comear assim: ... // Verifica se o boto Repouso foi pressionado e se // InsetoRepouso diferente de 1
if (SpeedButtonRepouso.Down = true) and (InsetoRepouso <> 1) then

begin end; end; end; end. O primeiro passo ser alinhar as pernas do inseto. Devemos ento inclinar seu corpo para um lado e deslocar as pernas livres de modo que todas as pernas estejam alinhadas entre si. Assim como durante os procedimentos realizados para virar o rob para a direita ou esquerda, o valor 100 foi o mais adequado, podendo variar de acordo com o modo como o rob foi construdo. No podemos nos esquecer das pausas de 1 segundo no programa. ... // Verifica se o boto Repouso foi pressionado e se // InsetoRepouso diferente de 1
if (SpeedButtonRepouso.Down = true) and (InsetoRepouso <> 1) then

begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Alinha as pernas livres com as que esto no cho kit.ServoMotorOn(ServoHoriz,100); // Gera um atraso de 1 segundo SleepAndTest(100); 54

end; end; end; end. Desse modo, as pernas estaro alinhadas, mas o corpo do inseto ainda estar inclinado. Devemos ento acionar o servo-motor de movimento vertical novamente, utilizando como parmetro um valor adequado para deix-lo com todas as pernas no cho. Esse valor deve ser o mesmo que foi utilizado ao virar o inseto, que no exemplo foi 150. Sendo assim, completamos os procedimentos para manter o inseto em posio de repouso. Agora podemos atribuir varivel InsetoRepouso o valor 1, evitando que esses procedimentos se repitam. ... // Verifica se o boto Repouso foi pressionado e se // InsetoRepouso diferente de 1
if (SpeedButtonRepouso.Down = true) and (InsetoRepouso <> 1) then

begin // Levanta um lado do corpo do inseto kit.ServoMotorOn(ServoVert,70); // Gera um atraso de 1 segundo SleepAndTest(100); // Alinha as pernas livres com as que esto no cho kit.ServoMotorOn(ServoHoriz,100); // Gera um atraso de 1 segundo SleepAndTest(100); // Deixa o inseto com as seis pernas no cho kit.ServoMotorOn(ServoVert,150); // Valor 1 atribudo varivel, evitando que os // procedimentos de repouso se repitam InsetoRepouso:= 1; end; end; end; end.

55

O nosso prximo passo agora ser criar as rotinas para que o inseto seja desligado. Essas linhas de cdigo sero escritas depois do end; do lao while principal, aquele ao qual nosso programa estar preso enquanto a funo SleepAndTest for verdadeira. Pode parecer estranho primeira vista, mas elas sero mesmo escritas no procedure do boto Iniciar, mas somente sero executadas quando a funo SleepAndTest for falsa, pois assim o nosso programa sair do lao while principal. Devemos desligar todos os servo-motores atravs da funo ServoMotorOff. ... end; // As funes a seguir desligaro o inseto e sero exe// cutadas quando o programa sair do loop while principal, // ou seja, quando SleepAndTest retornar um valor falso // Desliga os motores kit.ServoMotorOff(ServoVert); kit.ServoMotorOff(ServoHoriz); end; end. Nosso programa est quase pronto. Basta agora implementar o cdigo a ser executado quando o boto Parar for pressionado. Voltamos ento ao nosso Form, apertando a tecla F12, e damos um duplo clique sobre esse boto, abrindo o seguinte manipulador. ... procedure TformMain.ButtonPararClick(Sender: Tobject); begin end; end. A nica coisa que precisamos fazer atribuir varivel Stop o valor True, o que far com que a funo SleepAndTest retorne um valor falso e, consequentemente, o inseto seja desligado. ... procedure TformMain.ButtonPararClick(Sender: Tobject); begin // Quando o boto for pressionado, a varivel Stop ser ver// dadeira, consequentemente a funo SleepAndTest ser // falsa e o funcionamento do inseto ser interrompido Stop := true; 56

end; end. Chegamos ento ao fim da programao para o funcionamento do rob inseto. Aps concluir esses passos corretamente, o rob estar pronto para ser controlado adequadamente.

9 Dicas
possvel acrescentar vrias outras funcionalidades ao nosso rob inseto, aprimorando o seu funcionamento e exercitando a criatividade e os conhecimentos de Robtica. O programa pode ser modificado de forma a possuir uma interface mais clara ou que o usurio possa controlar os servo-motores manualmente. Ele tambm pode ser alterado de modo a proporcionar um melhor funcionamento, como manter o inseto na posio de repouso ao pressionar o boto Parar. Outra alterao que pode ser feita a utilizao do Teclado do Kit ou de chaves digitais ligadas s Entradas Digitais para controlar o movimento do rob. possvel tambm fazer uma verso automtica, empregando sensores para monitorar o caminho a ser percorrido. A mecnica e a estrutura do inseto podem sofrer grandes alteraes, de modo a facilitar a sua montagem ou tornar seus movimentos mais eficientes. possvel tambm acrescentar garras ou outras estruturas mecnicas diversas. Alm disso, possvel increment-lo, utilizando sensores, LEDs, botes e buzzers. Com alguns sensores LDR, possvel fazer um rob que siga ou fuja da luz. O uso de sensores de distncia tambm muito interessante, para evitar obstculos e buracos que estejam no caminho do rob. Outra sugesto faz-lo obedecer a uma ordem, utilizando um microfone para verificar o nvel de som do ambiente. Muitas outras modificaes so possveis, dependendo apenas da criatividade de quem realizar o projeto.

57

S-ar putea să vă placă și