ProjetO_Ohm_2781_1390702891

March 27, 2018 | Author: Gabriel Lemos | Category: Technology, Robot, Arduino, Electrical Network, Series And Parallel Circuits


Comments



Description

1CPBR7 - Concurso Leve seu robô #ProjetO_Ohm JEFFERSON F ERREIRA PALHETA Email: [email protected] Curriculum Lattes: http://lattes.cnpq.br/6065504211568124 Belém-PA, Janeiro de 2014 2 Sumário 1. Introdução............................................................................................................................... 3 2. Descrição ................................................................................................................................ 3 2.1 Competição de sumô ............................................................................................................ 3 2.2 Objetivo .................................................................................................................................. 4 2.3 Funcionalidades .................................................................................................................... 4 3. Relação de componentes .................................................................................................... 4 3.1 Parte mecânica ..................................................................................................................... 4 3.2 Parte elétrica ......................................................................................................................... 5 4. Passo a passo ........................................................................................................................ 8 4.1 Esboço ................................................................................................................................... 8 4.2 Dificuldades ..........................................................................................................................10 4.3.1 Chassi ............................................................................................................................10 4.3.2 Lataria ............................................................................................................................13 4.3.3 Rodas .............................................................................................................................17 4.3.4 Adaptação dos Motores ...............................................................................................19 4.3.5 Caixa de Baterias ..........................................................................................................20 4.4 Elaboração e execução do projeto elétrico - parte elétrica ..............................................21 4.4.1 CI ....................................................................................................................................21 4.4.2 Sensores ........................................................................................................................21 4.4.3 Alimentação ...................................................................................................................22 4.4.4 Microcontrolador ...........................................................................................................23 6 Resultados .................................................................................................................................28 3 1. Introdução O projeto OHM1 nasceu por meio de uma proposta apresentada na disciplina Projetos de Engenharia III do curso de Engenharia da Computação da Universidade Federal do Pará (UFPA), ministrada pelo Prof. Dr. Marco José de Sousa. O plano da disciplina consiste basicamente na elaboração de um projeto e construção de um robô de sumô, onde os alunos participam de uma competição (batalha de robôs) ao final do semestre letivo. A intenção é que os estudantes envolvidos desenvolvam conhecimentos pertinentes aos assuntos que tangem a robótica, como eletrônica, mecânica, automação, programação e o estudo de materiais, ferramentas e sensores. Isso pode servir como um estímulo capaz de revelar a afinidade dos estudantes universitários com a robótica e para que os mesmos possam, posteriormente, estar aptos a aprimorarem esses conhecimentos e dar continuidade a pesquisas mais avançadas. Neste documento é apresentada a descrição do projeto de construção do robô OHM juntamente com suas características, funcionalidades, relação de componentes utilizados e todo o processo de criação. 2. Descrição 2.1 Competição de sumô A competição de sumô de robôs é feita colocando-se dois robôs dentro de uma área delimitada por uma sinalização em cores, chamada de ringue ou arena de batalha. Pode ser uma superfície escura (cor preta), de forma quadrada ou circular com bordas brancas, geralmente uma faixa ao seu redor, que sinaliza os limites da arena. Os robôs duelam entre si sempre tentando retirar um ao outro do espaço que compreende o ringue, onde devem encontrar seu adversário e empurrá-lo para fora deste espaço. Para isso o robô deve ser "inteligente" o suficiente parar se situar sobre a superfície de combate e localizar seu inimigo. As regras pontuam os competidores conforme o número de ataques e desclassificam imediatamente aquele que passar dos limites da arena. 1 Projeto OHM - É um projeto de construção de um robô de competição de sumô batizado de OHM em homenagem ao físico alemão Georg Simon Ohm, pelo fato de que sua lei, a Lei de Ohm, foi utilizada como embasamento na decisão do projeto eletrônico do robô e explica a utilização dos componentes empregados em sua elaboração. 4 2.2 Objetivo Durante o desenvolvimento da disciplina o projeto se tornou um verdadeiro desafio e ganhou proporções cada vez mais elevadas em termos de complexidade, pois desde o início, o principal objetivo de planejamento foi construir um robô, o mais otimizado possível, tendo como prioridade obter um resultado prático de montar, desmontar, dar manutenção, programar, testar, fazer análises e adaptações. Houve uma preocupação muito grande com essa questão, tendo em vista que a maioria dos problemas apresentados em projetos desse tipo são mal contatos e dificuldades na hora de realizar manutenção e mudanças adaptativas no robô. Afinal, esse tem sido o principal motivo pelo qual muitas equipes têm sido desclassificadas em competições de robótica desse tipo. 2.3 Funcionalidades Além de ter sido desenvolvido como um robô autônomo para atuar em competições de sumô, após participar de sua primeira competição a qual é citada na Introdução, foi incrementada uma função para controle via Android e a partir de então o robô pode se controlado por qualquer aparelho que possua Sistema Operacional Android, disponha de conexão Bluetooth e tenha o aplicativo de controle instalado. Essa funcionalidade foi aplicada para fazer demonstrações pertinentes a assuntos de robótica, automação e afins, em escolas, universidades e quaisquer atividades acadêmicas e/ou científicas relacionadas à tecnologia. 3. Relação de componentes O conjunto de componentes que formam a estrutura do robô pode ser considerado em duas partes principais, mecânica e elétrica. 3.1 Parte mecânica A parte mecânica, exceto os motores e caixa de bateria, foi confeccionada empregando-se materiais recicláveis e é composta por chassi, lataria, caixa de bateria, rodas e motores. O chassi é feito de chapa de alumínio 2,5 mm encontrada em sucataria; a lataria também é feita em alumínio e foi produzida utilizando-se placas automotivas, descartadas, e também encontradas em sucataria; as rodas 5 foram feitas utilizando-se tampas de garrafas de lubrificantes automotivos, encontradas em postos de combustível, e tubo PVC; e a caixa de bateria feita de fibra de vidro. Motores Foram utilizados Servo motores por apresentarem um tamanho reduzido e ao mesmo tempo um torque elevado. No total são quatro motores, um para cada roda; eles foram adaptados para rotação contínua, pois os mesmos normalmente apresentam rotação de 180º, de fábrica. E, além disso, foi necessário retirar o circuito interno dos motores, que tem a função de controlar a velocidade, posição e sentido de rotação. Acabamento Para obter um aspecto mais agradável visualmente foram utilizados materiais de pintura automotiva e serigrafia para dar uma aparência sofisticada ao chassi e a lataria, respectivamente. O chassi foi envelopado com película adesiva com textura de fibra de carbono e a lataria foi pintada com tinta automotiva. 3.2 Parte elétrica A parte elétrica é composta por um microcontrolador Arduino, uma placa de circuito impresso (shield arduino), feita manualmente, baterias UltraFire de 4200 mAh, um sensor de linha e um sensor ultra sônico. Microcontrolador Foi utilizado o kit microcontrolador Arduino por este ser uma plataforma de desenvolvimento livre (open source), talvez a mais popular atualmente, e que vem sendo cada vez mais adotada por estudantes e profissionais de todos os níveis e áreas de conhecimento. Isso proporciona a comunidade Arduino uma troca de experiências mais rica e ágil. Além disso, a manipulação do hardware e do software é bem mais prática e menos complexa, comparada a outras plataformas, o que facilita a compreensão das questões envolvidas e possibilita ao usuário realizar análises com rapidez e obter aplicações com melhor exatidão e as mais variadas possíveis. 6 Sensores Na primeira versão do robô havia apenas dois sensores, sendo um sensor de linha e um sensor ultra sônico (sonar). O sensor de linha fica na parte de baixo do robô e detecta o nível de luz refletida, por isso é responsável por identificar a superfície em que o robô se encontrar e possibilita o reconhecimento da linha ou faixa que delimita o ringue. O sonar detecta a presença de objetos dentro de uma determinada distância, e como foi utilizado apenas um, diz-se que o lado em que ele está posicionado é a frente do robô. Na segunda versão foi adicionado um módulo Bluetooth para a comunicação e controle via Android. Placa de Circuito Impresso A placa de circuito impresso é um Shield que foi acoplado a placa Arduino. Ela foi confeccionada manualmente, utilizando placa de fenolite, e tem a função de concentrar os conectores dos motores, dos sensores e o circuito integrado ponte-H que controla o sentido de rotação dos motores. Esta solução é indispensável para evitar ao máximo as conexões dispostas por fios e Protoboard, realizadas entre o kit microcontrolador e os componentes. Alimentação O robô conta com seis baterias UltraFire com 3,7 Volts e 4200 mAH, cada uma. Essa foi a solução mais adequada para o projeto, pois tem um custo beneficio significativo. Essas baterias dispõem de uma carga bastante duradoura, são leves e podem ser utilizadas em todo e qualquer tipo de aplicação. 7 Lista de componentes – Parte mecânica Mecânica Componente Chassi Lataria Material Chapa de alumínio espessura: 2,5 mm Placa de carro Tampas de garrafa de lubrificante Rodas automotivo Procedência Sucataria Sucataria Postos de Combustível Tubo PVC Restos de construção civil Correia de lavadora de roupas Oficina de lavadoras Motores Servo motor MG995 e-commerce Caixa de Baterias Manta de vidro (feita de fibra de Loja de auto peças Adesivo para laminação (resina) vidro) Parafusos Loja de parafusos Massa adesiva plástica Massa rápida Acabamento Primer Loja de auto tintas Tinta Película adesiva Loja de materiais de serigrafia Tabela 3.1 – relação de componentes utilizados na construção da estrutura mecânica 8 Lista de componentes – Parte elétrica Elétrica Componente Procedência Arduino Duemilanove Sensor de Linha Sensor Ultra sônico e-commerce Baterias UltraFire 3,7 V – 4200mAh Módulo Bluetooth e-commerce (China) Conectores Circuito Integrado ponte-H (L293D) Placa de Fenolite (p/ circuito impresso) Loja de eletrônica Percloreto de ferro anidro (solução para corroer placa de fenolite) Tabela 3.2 – relação de componentes utilizados na elaboração do projeto elétrico 4. Passo a passo 4.1 Esboço Por se tratar de um robô de sumo, a idéia inicial foi utilizar rampas em todos os lados dele. A rampa é uma boa estratégia para tentar levantar o oponente e fazer com que ele perca tração. A partir dessa idéia foram definidas as medidas da parte mecânica para desenhar o projeto e criar um modelo em papelão. A especificação dessas medidas foi definida levando em consideração as dimensões estabelecidas pelas regras da competição citada na Introdução, a forma (geometria) a ser utilizada e tamanho dos motores e demais componentes empregados. É importante observar que a definição das dimensões das peças a serem modeladas e daquelas que possuem medidas fixas, como os motores, dependem uma das outras. Por exemplo, para decidir o tamanho das rodas é necessário saber o tamanho do chassi, da lataria e, a velocidade e torque desejados, ou seja, uma medida depende da outra, pois eu também poderia começar definindo o tamanho das rodas e então os demais parâmetros dependeriam do tamanho delas. É uma equação com várias incógnitas e 9 por isso fica a questão: qual elemento definir primeiro? E a resposta para esse projeto foi: tentar equilibrar, chegar ao meio termo e escolher componentes que combinassem para obter um resultado mais próximo do objetivo que foi o de ter um robô com o maior número de rampas, e as mais inclinadas, possível. Por tanto o modelo idealizado inicialmente é mostrado na Figura 1. Figura 1 – modelo idealizado para a forma geométrica do robô. O modelo apresenta uma base octogonal e como foi mencionado é a primeira idealização do projeto. Ao final serão observadas algumas mudanças como a presença e o prolongamento de rampas apenas em dois lados do robô. Dos lados em que estão posicionadas as rodas não foi possível permanecer com rampas devido à interseção existente entre elas e as rodas. Seria possível continuar com as 10 rampas em todos os lados, porém foi dado prioridade ao tamanho das rodas. Aí está uma das combinações feitas... Ficamos com duas rampas apenas, porém colocamos rodas maiores. Como foi observado nas competições anteriores, dificilmente um robô é atacado pela lateral. Então, sendo assim, abrimos mão de duas rampas, mas podemos ter rodas maiores que proporcionaram maior atrito e contado com a superfície, dando ao robô mais estabilidade, apoio e poder ofensivo. 4.2 Dificuldades A principal dificuldade, sem dúvida, foi encontrar os materiais e as ferramentas adequadas que suprissem as necessidades de construção do robô. Além disso, foi muito árdua a tarefa para preparar o chassi, devido este ser feito de uma chapa de alumínio com 2,5 mm espessura. Foi bastante difícil manipular a chapa para chegar a forma idealizada no projeto, tendo em vista que o processo foi realizado manualmente, utilizando apenas dois tipos de martelos, um arco de serra e um torno mecânico. De modo geral o processo de manipulação de materiais foi o mais exaustivo já que foi totalmente realizado de forma manual. 4.3 Confecção das peças da parte mecânica 4.3.1 Chassi A forma geométrica definida para o chassi foi desenhada pensando em uma estrutura capaz de receber os motores, prender a lataria, dispor espaço para a caixa de baterias e que fosse a mais homogênea possível, apresentando fixações com parafusos e uma boa rigidez. Para isso foi utilizado uma chapa de alumínio com 2,5 mm de espessura; e para chegar a forma desenhada foi necessário dobrar a chapa em alguns segmentos usando torno mecânico e martelos, mas antes foi necessário cortar a chapa com cerra de aço e ao final do processo, quando a forma do chassi ficou pronta, depois de dobrar todas as seções, os furos foram feitos com o uso de uma furadeira. 11 A Figura 2 mostra o desenho para cortar, dobrar e furar a chapa. E a imagem da Figura 3 e Figura 4 mostram o resultado do processo. Observe que as linhas tracejadas em azul representam os cortes feitos na chapa e as linhas verdes indicam onde a chapa foi dobrada. . Figura 2 – molde para a construção do chassi 12 Figura 3 – foto do chassi conforme o molde desenhado A figura a seguir mostra o chassi envelopado. Para isso foi utilizado película adesiva com textura de fibra de carbono. Figura 4 – Chassi envelopado com película adesiva com textura de fibra de carbono 13 4.3.2 Lataria A lataria foi produzida utilizando placas de carros encontradas em sucatarias. São placas que foram descartadas e levadas para reciclagem. Para dar forma a lataria utilizando as placas foi necessário utilizar um martelo grande para deixar a placa o mais plano possível e retirar o relevos das letras e numero, tesoura de cortar aço para cortar a placa, martelo pequeno para moldar a chapa conforme a geometria desejada e furadeira ao final do processo para fazer os furos de fixação para prender a lataria ao chassi. As imagens seguintes ilustram algumas etapas do processo. Figura 5 – etapas do processo de construção da lataria 14 Figura 6 – etapas do processo de construção da lataria Figura 7 – algumas ferramentas utilizadas processo de construção da lataria 15 Figura 8 – etapas do processo de construção da lataria Figura 9 – etapas do processo de construção da lataria 16 Figura 10 – etapas do processo de construção da lataria Figura 11 – etapa de acabamento da lataria 17 Figura 12 – lataria após a pintura 4.3.3 Rodas As rodas disponíveis para venda nos sites de robótica não satisfaziam as necessidades do projeto e por isso foi decidido confeccioná-las manualmente a fim de obter uma peça mais adequada e compatível com o objetivo do invento. Sendo assim foi encontrada uma boa solução utilizando tampas de garrafa de lubrificantes automotivos encontradas em postos de combustível. Para compor a roda foram utilizadas duas tampas, duas roscas retiradas da própria garrafa, um pedaço de tubo PVC e uma chapa circular. As roscas foram utilizadas para dar mais firmeza as tampa, o tudo fez a conexão entre as tampas e a chapa tem a função de impedir o afundamento da parte superior das tampas onde foi atravessado um parafuso para prender as rodas aos motores. E ao final foram aderidas correias de máquina lavadora a superfície lateral das tampas para agregarem mais atrito as rodas. As imagens a seguir mostram o material empregado. 18 Figura 13 – Material utilizado na confecção das rodas Figura 14 – Roda pronta, ainda sem correia 19 Figura 15 – Rodas prontas com correia 4.3.4 Adaptação dos Motores Os servo motores geralmente possuem rotação de 180º, mas para o nosso caso temos a necessidade de um motor que tenha rotação de 360º e para isso é realizada uma adaptação no servo. Uma das etapas de adaptação do motor envolve uma mudança no circuito contido em seu interior e nesse projeto foi realizada apenas a retirada do pino de trava que impede fisicamente que haja a rotação completa e ao invés de adaptar o circuito foi realizada a retirada dele para então ser controlado pelo circuito presente no placa de circuito impressa desenvolvida no projeto eletrônico. No entanto estão disponíveis a seguir dois dos melhores tutoriais que mostram a adaptação passo-a-passo do servo motor utilizado, o MG995. 20 How to hack the TowerPro MG995 Servo for continuous rotation Video1 http://www.youtube.com/watch?v=cnOKG0fvZ4w&noredirect=1&hd=1 Instruções do autor http://www.instructables.com/id/How-to-hack-a-servo-for-continuous-rotationTowe/?ALLSTEPS Como mudar o TowerPro MG995 Servo para rotação contínua Video2 http://www.youtube.com/watch?v=omZ4a0OdMgg&noredirect=1&hd=1 Obs. Na descrição do projeto elétrico será apresentada a solução para o controle dos motores. 4.3.5 Caixa de Baterias A caixa de baterias foi produzida com fibra de vidro. Para criar um objeto em fibra de vidro é necessário manta de vidro e resina. Para obter a forma desejada de maneira mais fiel é aconselhável utilizar um molde de papel ou qualquer outro material fácil de manipular. Coloca-se a manta de vidro sobre o molde e em seguida, com um pincel, aplique a resina sobre toda a manta e aguarde secar. Após a secagem o artefato está pronto e fica ao seu gosto aplicar o acabamento que quiser. No meu caso eu aproveitei a mesma película aplicada ao chassi e revesti a caixa de fibra. Figura 16 – Caixa de baterias 21 4.4 Elaboração e execução do projeto elétrico - parte elétrica 4.4.1 CI Para controlar os motores é utilizado o circuito integrado L293D. É um circuito ponteH que tem dois canais de controle, ou seja, ele possui duas saídas que podem ter o sentido de corrente controlado. Com isso é possível conectar dois motores em paralelo em uma saída e outros dois motores em paralelo na segunda saída. Houve a preferência de uso deste circuito integrado, em substituição ao próprio circuito dos motores, porque com ele é possível aplicar uma tensão maior do que a indicada como limite para o servo motor. Aumentar a tensão significar dar mais velocidade a ele e diminuir os ricos de queimá-lo por causa de tensões de pico. Na verdade quem sobre mais com os riscos são os circuitos do próprio motor e não o motor em propriamente dito. 4.4.2 Sensores Sensor de linha Infravermelho A Figura 17 mostra o sensor utilizado nesse projeto. É um dispositivo que me 1,5 cm de comprimento e 8 cm de largura. Foi o menor sensor de linha encontrado no mercado. E essa é uma de suas principais vantagens, o tamanho. Figura 17 – Sensor de linha digital 22 Sensor Ultra Sônico O sonar é o mais comum utilizado em projetos e é facilmente encontrado em lojas virtuais. Figura 18 – Sensor Ultra sônico 4.4.3 Alimentação Como as baterias utilizadas têm forma de pilhas, porém maiores houve dificuldades para definir uma forma adequada de conexão entre elas, tendo em vista que as mesmas são recarregadas individualmente e precisão ser retiradas de onde quer que elas estejam conectadas. Por isso foi construída uma caixa de baterias que comportam três pares ligados em paralelo, sendo que em cada par as baterias são associadas em série. Como cada bateria tem 3,7 Volts a ligação de duas baterias em série apresenta uma diferença de potencial de 7,4 V, ou seja, essa é a tensão de um par, nesse caso. Esses pares, três, foram colocados paralelo para aumentar a corrente em miliampère-hora (mAh), assim temos um aumento de tensão, pela ligação em série, para dar mais velocidade ao motores. E um aumento de carga, pela ligação em paralelo, para dispor de carga por mais tempo. Figura 19 – Baterias UltraFire 23 4.4.4 Microcontrolador No kit Arduino é feito o controle de ações do robô, é onde ele ganha “vida” e “inteligência”. A partir do momento que todos os seus componentes estão em pleno funcionamento, é dada funcionalidade a eles através da programação lógica inserida na plataforma. O código desenvolvido é apresentado a tópico seguir. 5 Programação Arduino – Código Ohm //Projeto Ohm - Código de controle do robô Ohm //o código tem duas funções principais. Uma para controlar o robÔ pelo Android //e outra para que o robô haja de forma autônoma //se o usuário enviar o comando de ativação para controle pelo Android o robô //ficara aguardando por comandos de controle //caso contrrário, ele agirá de forma autônoma para localizar e atacar outros //robô em um ringiue de sumô //Autor: Jefferson Ferreira Palheta //Email: [email protected] //declaração e definição dos pinos utilizados pelos sensores e motores #define trig 9 #define echo 10 #define line_sensor 11 #include "Ultrasom.h" Ultrasom us(trig,echo); int diff; int estate; int reference_color; //variável que recebe o valor de "cor" da superficie lida //pelo sensor de linha int command; //variável que recebe o valor do comando envianndo pelo Android int line; // valor atual lido pelo sensor de linha int som; // valor da leitura do sonar int le; //valor retornado pela função fulga //função responsável por movimentar o robô para fente void frente() { desliga(); //desliga todos os motores digitalWrite (2, HIGH); //liga o pino 2 digitalWrite (4, HIGH);//liga o pino 4 estate=1; } //______________________________________________________________________ //função responsável por movimentar o robô para trás void tras() { desliga(); digitalWrite (3, HIGH);//liga o pino 3 digitalWrite (8, HIGH);//liga o pino 8 estate=1; } //______________________________________________________________________ 24 //função responsável por movimentar o robô para a esuqerda void esquerda() { desliga(); digitalWrite (3, HIGH);//liga o pino 3 digitalWrite (4, HIGH);//liga o pino 4 estate=1; } //______________________________________________________________________ //função responsável por movimentar o robô para direita void direita() { desliga(); digitalWrite (2, HIGH); digitalWrite (8, HIGH); estate=1; } //______________________________________________________________________ //função responsável por desligar todos os motores void desliga() { digitalWrite (2, LOW); //desliga o pino 2 digitalWrite (3, LOW); //desliga o pino 2 digitalWrite (4, LOW); //desliga o pino 2 digitalWrite (8, LOW); //desliga o pino 2 estate=0; } //______________________________________________________________________ //está função faz a leitura do sensor de linha e retorna o valor lido atráves //da variável diff int read() { pinMode( line_sensor, OUTPUT ); digitalWrite( line_sensor, HIGH ); delayMicroseconds(10); pinMode( line_sensor, INPUT ); long time = micros(); while (digitalRead(line_sensor) == HIGH && micros() - time < 1000); diff = micros() - time; return diff; } //______________________________________________________________________ //função de leitura do sensor ultra sônico que utiliza outras bibliotecas e //funções especificas para o sonar e estão presentes no pacote de docomentação //do robô int sonar() { //retorna o valor específico obtido na leitura return(us.Distancia()); } //______________________________________________________________________ //está função recebe o valor do sensor de linha e retorna 0 ou 1 conforme o //parâmetro de controle aplicado int fulga(int line){ //se oito vezes o valor lido no sensor de linha for menor que 3000, então 25 //a função retornará 1, caso contrário retornará 0 if(8*line<3000)//reference_color) { return 1; } else { return 0; } } //______________________________________________________________________ //está função é utilizada somente quando o robô está no modo de controle via Android void control() { //a variável command recebe o valor lido pa porta serial que é justamente o valor de comando enviado pelo aparelho via bluetooth command = Serial.read(); if (command<=4 && command >=1) { //FRENTE if (command==3) { if (estate==0) { frente(); } else if (estate==1) { desliga(); } } //TRAS else if (command==4) { if (estate==0) { tras(); } else if (estate==1) { desliga(); } } //DIREITA else if (command==2) { if (estate==0) { direita(); 26 } else if (estate==1) { desliga(); } } //ESQUERDA else if (command==1) { if (estate==0) { esquerda(); } else if (estate==1) { desliga(); } } } else if(command==0) { desliga(); return loop(); } return control(); } //______________________________________________________________________ void setup() { Serial.begin(9600); delay(10000); pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(8, OUTPUT); reference_color=read(); Serial.print("referencia: "); Serial.println(reference_color); } //______________________________________________________________________ void loop() { command = Serial.read(); Serial.println("SERIAL: "); Serial.println(command); //se o comando enviado pelo dispositivo Android for o comando para ativação //do modo de controle //então se chamada a função "control" e esta será executada até que o comando 27 //de desativação do modo de controle seja executado novamente if (command==0) { desliga(); control(); } //caso não seja enviado comando de ativação para o modo de controle o robô //funcionará no modo autônomo else { line=read(); som=sonar(); le=fulga(line); Serial.print("linha:"); Serial.println(line); Serial.print("Sonar: "); Serial.println(som); if(le==0) { //enquanto houver algum objeto dentro de uma distância de 50 cm o //robô atacará indo para frente while(som>0 & som<50 & le==0) { frente(); delay(500); som=sonar(); } frente(); } else if(le==1) { tras(); delay(2000); direita(); delay(1000); } } } //______________________________________________________________________ 28 6 Resultados Se você desejar pode acessar o banco de imagens que contém fotos de várias etapas da construção do robô e pode também baixar o aplicativo de controle nos links abaixo: Códigos e Aplicativo Android https://www.dropbox.com/s/j0kvucfq2q73c93/ProjetO_Ohm.zip Fotos https://www.dropbox.com/sh/d9knx84zxy3f9sx/lwvYEm5qep Figura 20 – frente do robô Ohm montado 29 Figura 21 – Parte traseira do robô Figura 22 – Robô Ohm em fase de testes 30 Figura 23 – case de circuitos Figura 24 – vista traseira 31 Figura 25 – caixa de baterias e circuito Figura 26 – Parte de baixo em que é possível ver o sensor de linha e as rodas
Copyright © 2024 DOKUMEN.SITE Inc.