Este projeto iModBot consiste num robô modular de baixo custo que pode ser programado através de liguagem de programação por blocos e/ou através de linguagem C/C++. Este projeto dispõe de uma biblioteca para facilitar o controlo do robô.
A programação por blocos divide-se em 4 níveis, para facilitar a aprendizagem do utilizadores. Os níveis são os seguintes:
- Nível Iniciante -> É possível colocar o robô a efetuar uma terefa com 1 a 2 blocos.
- Nível Normal -> O utilizador tem mais controlo sob o movimento do robô, dispõe apenas da função loop.
- Nível Médio -> O utilizador pode agora colocar blocos na função Setup e Loop.
- Nível Avançado -> O utilizador dispõe de todas as funções da biblioteca e necessita de configurar todos os aspetos do robô.
No GitHub não é possível transferir qualquer ficheiro individualmente. É recomendado transferir todas as pastas e ficheiros presentes neste projeto. Para tal siga as instruções abaixo:
Comece por transferir todos os ficheiros no formato .zip
Abra a localização do ficheiro .zip transferido e use um programa para extrair os conteudos
Por fim irá obter um conjunto de pastas e ficheiros organizados da mesma maneira que se encontram neste repositório.
1º Passo do Projeto
Para montar o robô basta seguir o documento 4_Guia_de_montagem_offline (3_Documentacao/3-4_Guia_de_montagem_offline.pdf) que mostra como montar ou então assistir o video [email protected] guia de montagem. Este documento também inclui uma listagem de componentes que serão necessários para a sua montagem. Para perceber melhor o que faz cada componente do robô pode ler o manual técnico (3_Documentacao/3-5_Manual_Tecnico_iModBot.pdf) que explica vários aspetos do robô.
Lista de material:
- ESP32 wroom32 devkit ;
- l293d 4 channel module ;
- 2x LM393 speed sensor ;
- BFD-1000 5CH ;
- HC-SR04 ;
- I2C level shifter ;
- TP4056 ;
- MT3608 ;
- li-ion rechargable battery 2500 mAh ;
- 2x Breadboard 400 ;
- Jumper wire male male, Jumper wire male female ;
- 2wd smart robot kit .
2º Passo do Projeto
Downloads:
-
Biblioteca iModBot.zip (4_Biblioteca/iModBot.zip) e descompacta o ficheiro.
-
Software Arduino IDE na pagina do Arduino, instale a versão que se adequa ao seu equipamento, para windows recomendamos a opção "Windows installer, for windows 7 and up". -- Tenha em atenção que os conteudos do projeto foram desenvolvidos e testados na versão Arduino IDE 1.8.12, os mesmos deverão continuar ser compatíveis com as versões mais recentes deste software.
- Ficheiro java do ArduBlock (5_AduBlock/ardublock-beta-20200614.jar).
3º Passo do Projeto
Ler e seguir os tutoriais para configurar o Arduíno:
-
Configurar Arduíno IDE para o ESP32; (3_Documentacao/3-1_Como_comunicar_com_o_ESP32.pdf)
-
Configurar ArduBlock no Arduíno IDE; (3_Documentacao/3-2_Como_instalar_ArduBlock_no_Arduino_IDE.pdf)
-
Como instalar bibliotecas no Arduíno IDE. (3_Documentacao/3-3_Como_instalar_bibliotecas_no_Arduino_IDE.pdf)
Após ter o Arduino IDE e o ArduBlock instalados pode usufruir dos tutoriais disponibilizados. Estes tutoriais ensinam a trabalhar com o robô sendo os mesmos divididos em duas categorias: tutoriais para ArduBlock e tutoriais para Arduino IDE.
Documentação do ArduBlock
Os 4 níveis a baixo irão facilitar e guiar como deve de utilizar cada bloco e como criar um programa.
Existe um conjunto de atividades para cada nível. Após ler a documentação de um nível poderá realizar a atividade correspondente ao mesmo em 2_Atividades/2-1_Atividades_para_ArduBlock/.
Documentação do Arduino IDE
Depois de já ter realizado os tutoriais do ArduBock deverá ter uma noção melhor de como programar no Arduino IDE. Também elaboramos alguns tutoriais e atividades para facilitar a aprendizagem,
As atividades para cada tutorial estão disponíveis em /2_Atividades/2-2_Atividades_para_Arduino_IDE/ .
Caso tenha interesse em criar um bloco deve seguir os passos neste pasta 5.Ardublock
Utilizando o motor de jogos Unity3d, ROS2 e a nossa biblioteca para o robô, cria o teu mundo virtual, projeta-o no mundo real e vê o robô a interagir com ele. Esta funcionalidade ainda está em desenvolvimento sendo que por agora ainda é muito limitada.
Com os controladores das consolas populares PS3 e PS4, consegue controlar o robot à distância via bluetooth. A biblioteca é fácil de instalar e apenas necessita de um programa, o Arduino IDE. Basta colocar valores desejados no código, tanto como sensibilidade de direção, aceleração dos motores, velocidade máxima, e muito mais!
- Abel Teixeira - estudante do Politécnico de Leiria do curso TeSP em Eletrónica e Redes de Telecomunicações, GitHub: Ab-Tx
- Samuel Lourenço - estudante do Politécnico de Leiria do curso TeSP em Automação, Robótica e manutenção Industrial, GitHub: SamueLourenc0
- Nelson Henriques - estudante do Politécnico de Leiria do curso TeSP em Automação, Robótica e manutenção Industrial, GitHub: NetchoExtreme
- Paulo Sousa - estudante do Politécnico de Leiria do curso TeSP em Eletrónica e Redes de Telecomunicações, GitHub DimitriOnLSD
- Luís Conde - Politécnico de Leiria, GitHub: Luís Conde
- Carlos Neves - Politécnico de Leiria, INESC-Coimbra, GitHub: Carlos Neves