A eletrônica embarcada utilizada em meu projeto “Mars Rover tupiniquin”, participou do INTERNET OF THINGS CONTEST 2016 do INSTRUCTABLES.COM , onde logrou-se ser um dos finalistas da competição. O projeto foi um dos ganhadores na categoria “Runner up”, o que me deixou muito contente, pois a competição contou com projetos estupendos!
O vídeo abaixo mostra o RPi capturando dados de humidade e temperatura enviando-os para o site thingspeak.com
A lista completa dos projetos pode ser encontrada no site:
Este é um grande exemplo do fascinante mundo do IoT, onde o que aprenderemos com o robô, poderá ser utilizado para controlar qualquer coisa pela internet!
Rex, o robô que “nunca perde a linha”, acaba de “encontrar” o segundo prêmio na competição de robótica 2016 do siteInstructables.com em parceria com National Robotics Week. Além de ser uma honra, esse prêmio me deixa muito feliz, pois mostra que estou no caminho certo ao tentar descobrir formas lúdicas e prazeirosas de aprender e ensinar robótica, IoT e eletrônica!
O Rex competiu com projetos incríveis, os quais podem ser vistos em detalhes no link:
Neste projeto, vamos desarmar um carrinho de controle remoto, substituindo sua eletrônica por um microprocessador Arduino controlado por dispositivo Android.
A edição de maio da revista britânica MagPi publicou uma matéria muito legal sobre meu Projeto “Mars Rover Tupiniquin”. Para quem não conhece, a MagPi é a revista oficial do RapsberryPi. Você pode baixar grátis as edições da revista em PDF.
Esta é a segunda e última parte de um projeto mais complexo, que explora a potencialidade de um robô seguidor de linha. Nesta etapa, aplicaremos conceitos de inteligência artificial na exploração de labirintos, implementando algoritmos que nos ajudarão a encontrar o caminho da saída mais curto e rápido.
O objetivo deste projeto é construir um robô seguidor de linha com controle PID. Também usaremos um dispositivo Android para poder configurar mais facilmente os principais parâmetros (ganhos) da malha de controle.
A idéia deste projecto é o desenvolvimento de um protótipo totalmente funcional para uma estação móvel usada na coleta de dados ambientais tais como: temperatura, umidade e luminosidade. Este protótipo foi desenvolvido somente para fins didáticos e fez parte de meu projeto final no curso de especialização do Coursera em parceria com a University of California, Irvine: “Uma Introdução à Programação da Internet of Things (IOT)“.
Considerações do projeto:
O Rover será controlado remotamente por um dispositivo Android com capacidade Bluetooth. Os dados serão continuamente capturados e transmitidos independentemente se o Rover está parado ou em movimento.
O usuário deve receber um feedback visual (streaming de vídeo ao vivo)
Os dados capturados serão analisados através de um site público (neste caso: thingspeak.com)
Os dados estarão disponíveis para os usuários em um formato gráfico e tabela
Alarmes via Twitter serão gerados localmente pela estação ou pelo website
O Rover terá capacidade autónoma para evitar obstáculos a fim de proteger-se em caso de mau controle por parte do usuário.
Opções de projeto:
Com base nos requisitos, inicialmente 2 opções foram consideradas para este projeto.
Um único processador responsável por todas as tarefas, que neste caso deveria ser um Raspberry Pi.
Um processador dual , sendo as funções divididos entre eles ( Arduino e RPI ) :
Processor 1: RPi
Captura de dados
Comunicação com a Web
Transmissão de vídeo
Envío de mensagens via mídia social
Processor 2: Arduino
Controle dos motores (movimento e posicionamento da câmera)
Evasão de obstáculos
Comunicação com o controle remoto
Em termos de custos, utilizar 2 processadores é de fato menos custoso do que a opção de um único processador. Isso ocorre porque o Arduino é um item muito barato e portanto mais acessível que a opção de “Servo Hat”, necessária para o RPi controlar os servos de maneira adequada. Outra diferença é o módulo de BT. Para o Arduino, um módulo barato como o HC – 06 BT 3.0 é suficiente, sendo que o mesmo custa a metade do preço do “BT Dongle” a ser adicionado ao Rpi. Assim,a opção escolhida foi o projeto com processador dual.
O objetivo desse tutorial é desenvolver passo a passo um projeto para o controle e programação de um braço robótico, simulando as funções básicas de um robô industrial.
Especificações:
O robô deverá ter duas funções básicas:
Programa: gravar posições do braço em 3 dimensões
Run: executar o programa de trabalho (ou seja, executar em sequencia as posições gravadas na etapa de programa.
O robô executará o programa até que o comando de “abortar” seja utilizado.
O projeto deverá controlar robots de 3 ou 4 DOF (“Degrees of Freedom”).
O robô deverá ser controlado em modo “local” e “remoto” (via celular)
Durante o programa se poderá mudar o controle de “local” a “remoto” e vice-e-versa.
Deverá possuir sinalização tanto visual (LEDS e display) quanto sonora
Deverá possuir função de alarme acionado remotamente.
O projeto:
O diagrama abaixo mostra o “Bill of Material” que será utilizado no projeto:
Para o projeto, optarei pelo Arduino MEGA para não ter que me preocupar com o número de portas I/Os. O UNO funcionaria sem problemas, mas se deveria utilizar algum método de expansão de portas. Existem várias opções que podem ser facilmente encontradas na internet, como um decodificador 74138 por exemplo (veja o site: “Expandindo os I/Os do Arduino”).
A app Android utilizado para o “modo remoto”, foi desenvolvida utilizando-se a ferramenta MIT appinventor2, uma plataforma tão poderosa quanto simples para esse tipo de app baseado no Android. No futuro pretendo explorar a criação de apps desse tipo aqui no Blog. Por enquanto, a app está disponível para ser baixada gratuitamante na loja da Google: MJRoBot Arduino Arm Robot Control.
Os vídeos abaixo dão uma idéia de como deverá ficar o projeto final:
Primeiro protótipo sendo programado em “modo local”:
O robô programado de maneira remota via rede Bluetooth:
Nos próximos posts, detalharei os passos necessários para o desenvolvimento do projeto.
Como sempre, espero que este projeto ajude outras pessoas a encontrar seu caminho no apaixonante mundo da eletrônica, robótica e do IoT!
Em tempo: aproveito e deixo aqui um abraço para duas pessoas muito queridas, meu tio Ítalo que já não está aqui entre nós, que além de me ensinar a jogar Xadrez quando garoto, me deixou de presente essas peças que utilizei no vídeo. O outro abraço vai para o meu sogro Mathias, que muito carinhosamente presenteou-me com o tabuleiro e com as peças do jogo que haviam se perdido com o tempo (tudo feito por ele).