Sistema embarcado para controle de robô móvel via
Bluetooth
Leonardo da S. Costa, Paulo M. M. da Silva, Diego L. C. Gonçalves, Pedro H. M. Araújo, Manuel A. de S. Maciel, Elton N. Morais, Sandro C. S. Jucá
Campus Maracanaú – Instituto Federal de Educação, Ciência e Tecnologia do Estado do Ceará (IFCE)
CEP: 61.939-140 – Maracanaú – CE – Brasil
[email protected], [email protected], {zyhazz, hericsonaraujo2013, manuel.ifce, eltonnobre0, sandro.juca}@gmail.com
Abstract. This article shows the operation of a mobile robot controlled remotely by bluetooth through serial interruptions in PIC18F2550 microcontroller, aiming to emulate a remote control toy car. It also seeks to promote educational robotics in schools and encourage students to create new ideas. It used a smartphone application on android platform for sending messages to the bluetooth modem that is in the robot. When it receive a message, the microcontroller executes the action corresponding to the command received in the message. The features in the robot are based on cars as move forward, horn, and flashing warning.
Resumo. Este artigo mostra o funcionamento de um robô móvel controlado remotamente por bluetooth através de interrupções seriais no microcontrolador PIC18F2550, visando emular um carro de controle remoto. Além disso, busca promover robótica educacional nas escolas e estimular os alunos a criarem novas ideias. Foi utilizado um aplicativo de celular na plataforma android para o envio de mensagens ao modem bluetooth que se encontra no robô. Ao receber uma mensagem, o microcontrolador executa a ação correspondente ao comando recebido na mensagem. As funcionalidades do robô são baseadas em automóveis como andar para frente, buzinar e pisca alerta.
1. Introdução
Diferentes trabalhos de robótica são desenvolvidos no Brasil com o objetivo de estimular o ensino de tecnologia: Mehl (2000) propôs o desafio de realizar o futebol entre robôs, Silva et al. (2006) construíram um robô autônomo e Passold (2006) utilizou em conjunto a autonomia e competitividade entre os robôs desenvolvidos.
Seguindo o ideal de que a robótica é uma excelente ferramenta para incentivar o ensino através do despertar da curiosidade e do desenvolver, o objetivo deste trabalho é desenvolver um carro controlado remotamente através de conexão bluetooth para estimular a programação básica em alunos de ensino médio através de sua apresentação em eventos abertos à comunidade estudantil.
III Escola Regional de Informática do Piauí. Livro Anais - Artigos e Minicursos, v. 1, n. 1, p. 41-46, jun, 2017. www.eripi.com.br/2017 - ISBN: 978-85-7669-395-6
2. Tecnologias utilizadas
Esta seção tem como objetivo apresentar alguns componentes utilizados no projeto. SanUSB é um sistema aplicativo composto de software e circuito básico para microcontrolador. Esse software aplicativo, específico ao universo técnico da programação de microcontroladores, foi concebido com o intuito de estimular a arte de programar microcontroladores, o que promove a reflexão e o desenvolvimento da autonomia dos alunos na elaboração de projetos [Jucá 2009].
Utilizando esta ferramenta, estudantes foram três vezes consecutivas campeões da Competição de Robótica do IFCE (2007, 2008 e 2009) na categoria Localização, campeões da Feira Brasileira de Ciências e Engenharia (FEBRACE09) da USP em São Paulo na Categoria Engenharia (2009), como também obtiveram Prêmio de Inovação em Aplicação Tecnológica na Feria Explora 2009 em Medelin na Colômbia e foram Campeões na Categoria Supranivel do Foro Internacional de Ciencia e Ingeniería 2010 no Chile, terceiro lugar em inovação na Semantec 2011 do IFCE, campeões na V Feira Estadual de Ciências e Cultura do Ceará na categoria robótica educacional em 2011 e 3º lugar no Congresso tecnológico Infobrasil 2014 [Jucá 2017].
O controle das direções de giro dos motores de corrente contínua (CC) utilizados foi possível através do uso de pontes H contidas no componente L293D. Da forma configurada, um único pino digital do PIC é necessário para permitir o acionamento de um motor, comportando-se como uma espécie de base de transistor. A Figura 1 expõe uma configuração de ponte H composta por quatro transistores bipolares ou FETs de potência ligados em um circuito.
A ponte H também permitiu uma fácil utilização de fontes externas, necessário para não sobrecarregar o PIC pela demanda de energia necessitada pelos motores
Figura 1. Circuito da ponte H.
Foram utilizados leds RGB visando otimizar a quantidade de leds para as luzes do carro. Leds RGB são compostos por três diodos emissores de luz que reproduzem individualmente as cores vermelho, verde e azul. A partir do uso em conjunto, é possível gerar uma ampla gama de cores.
O bluetooth é uma tecnologia para comunicação sem fio (wireless) de sistemas computacionais. Ele utiliza o protocolo FHSS ( Frequency Hopping Spread Spectrum) que promove constantes mudanças de frequências. Desta forma, a frequência nunca é a mesma, minimizando as interferências e possibilitando a existência de outras redes
bluetooth na mesma área geográfica [Couto 2008]. O alcance de comunicação para a versão 2.0 é de até 10 metros podendo ser transmitido dados ou voz [Jucá 2012].
3. Desenvolvimento
3.1. Conexões físicas dos pinos aos seus respectivos componentes
Os pinos b0, b1, b2 eb3 foram utilizados como pinos de controle para o acionamento das rodas do motor CC com o auxílio da pontes H (Figura 2). O buzzer no pino b4 é utilizado para a buzina e o alarme do carro.
Figura 2. Esquema de montagem dos motores DC.
Os pinos b5, b6 e b7 controlam os pisca-alertas e o farol do carro. b5 mantém o farol do carro (luz branca) sempre aceso. b6 e b7 controlam respectivamente os piscas direito e esquerdo (leds amarelos).
Um led RGB foi empregado para indicar a movimentação do carro através de sua lanterna traseira: vermelha forte — carro está freando ou parado; vermelha fraca —
o carro está em movimento, e, branca — carro está dando marcha à ré. O pino c1 controla a luz vermelha, utilizando-se de PWM para controlar a intensidade. c2 está conectado com os pinos do led correspondentes às luzes azul e verde e, em conjunto com c1, permite a emissão de da luz branca.
3.2. Funcionamento
Ao ser ligado, o robô permanece parado, mantém o seu farol acesso e a sua lanterna traseira emitindo um vermelho forte, indicando que o carro não está em movimento. A partir de qualquer estado, o carro poderá mudar para outro configurado: ir para frente, dobrar para os lados esquerdo e direito, dar marcha à ré, buzinar e alarmar.
Supondo que o usuário tenha enviado o primeiro comando ir para frente após a inicialização e logo depois tenha enviando o comando para alarmar o carro, o mesmo mudará de estado de movimento para carro parado alarmando. Essa sequência de comandos tenta emular uma situação na qual o carro está sendo roubado e o alarme para desligar o carro foi acionado.
Observe que a montagem do robô foi realizada de forma artesanal. Peças de objetos antigos e quebrados foram reaproveitados na construção do robô.
Figura 3. Robô montado
Uma demonstração do robô em funcionamento pode ser visto no vídeo Robô móvel via bluetooth [Costa 2016].
3.3. Controle remoto
Neste projeto foi utilizado o BlueTooth Serial Controller, um aplicativo na plataforma Android, para enviar os dados para o PIC através do modem bluetooth que se encontra no robô. Esses dados são enviados byte a byte. Ao receber alguma mensagem, o microcontrolador executa o comando associado a ela.
O aplicativo permite que sejam adicionados botões com ações específicas em posições pré-estabelecidas. No projeto, uma configuração similar a um joystick foi utilizada (Figura 4).
Cada botão da aplicação é associado a um caractere (tamanho de 1 byte no padrão ASCII) que corresponde a algum comando. Ao ser pressionado, o programa envia o comando através do bluetooth para o dispositivo conectado a ele. Exemplificando, quando o usuário pressiona frente (F), o aplicativo envia a letra 'F', o PIC o recebe através de uma interrupção ocasionada pela comunicação serial via
bluetooth e, pelos dado obtido executa o comando ir para frente.
Os botões parar (P) e desAlarm (P) enviam o mesmo caractere. Na implementação, o caractere 'P' correspondente à retornar ao estado inicial.
4. Apresentação do projeto
Objetivando promover robótica educacional para discentes cursando o ensino médio, o projeto foi apresentado como palestra no Comsolid 2016, evento anual realizado no IFCE campus Maracanaú que estimula o uso e o desenvolvimento de softwares livres. Percebeu-se que houve um despertar da curiosidade dos discentes para saber como os equipamentos do projeto funcionavam. Possuindo um grau de dificuldade baixo para a implementação em software e hardware, eles sentiram-se capazes de replicar a ideia e até mesmo produzir projetos diferentes utilizando sua criatividade.
Figura 5. Apresentação da palestra (A) e sorteio de brinde (B).
5. Considerações finais
A apresentação do sistema embarcado para controle de robô móvel desenvolvido no evento Comsolid 2016 propiciou o contato inicial da robótica com discentes
de ensino
médio
. Servindo de papel educacional, a ideia simples de um carrinho controlado remotamente os estimulou a construírem seus próprios robôs. Estando em um evento em uma instituição tecnológica de ensino superior, os estudantes também foram orientados a participarem da seleção de ingresso caso queiram se aprofundar na computação ou na automação.A agregação pensada para propor melhorias ao trabalho é adicionar uma opção autônoma de movimento, implementada através de um sensor de distância e um servo motor. Além disso, almeja-se manter as informações que são enviadas ao PIC em um banco de dados para análises posteriores, como a quantização de distância percorrida pelo carro por dia, ou a localização de onde o robô se encontra e outras análises estatísticas.
6. Referências
Costa, L. S (2016) “Robô móvel via bluetooth”. Disponível em: https://www.youtube.com/watch?v=_lPOhQd2C3I&feature=youtu.be. Acesso em Maio/2016.
Couto, A. A. (2008) “Aplicações Bluetooth e Perspectivas de Evolução: Um Novo Serviço de Emergência em Plataformas Open-Source”. 2008. 97p. Dissertação (Mestrado em Redes e Serviços de Comunicação) - Faculdade de Engenharia, Universidade do Minho, Porto, 2008.
Jucá, S. C. S., Pereira R. I. S. e Vasconcelos, M. W. M. (2012) “SanUSBee: Ferramenta para gravação wireless de microcontroladores via Bluetooth e Zigbee. VIICONNEPI - Congresso Norte Nordeste de Pesquisas e Inovação, Palmas - Tocantins, 2012. Acesso em Maio/2016.
Jucá, S. C. S., Carvalho P. C. M. e Brito, F. T. (2009) “SanUSB: software educacional para o ensino da tecnologia de microcontroladores”. Ciências & Cognição, 2009. Acesso em Fevereiro/2017.
Jucá, S. C. S., Pereira, R. (2017) Aplicações Práticas de Microcontroladores utilizando
Software livre. Editora IFCE.
Mehl, E. L., Zani, A. C., Küntze, J. e Mognon, V. R. (2011) “O "futebol de robôs" como ferramenta tecnológica para o ensino de engenharia elétrica e ciência da computação”. COBENGE 2001, Porto Alegre.
Passold, F. (2006) “Despertando para a Importância das Competições de Robôs”. COBENGE 2006, Passo Fundo.
Silva, E. L; Bispo, J.; Leite, R.; Abreu, T.; Santos, U. e Cruz, V. (2006) “Utilização do estudo de robôs seguidores de linha como estratégia de avaliação na disciplina controle de processos no curso de engenharia de computação”. Anais do XXXIV COBENGE. Passo Fundo: Ed. Universidade de Passo Fundo, Setembro de 2006. ISBN 85-7515-371-4..