Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arthur Andrade Bezerra Desenvolvimento de kit de Robótica Educacional Lúdica Natal – RN Junho de 2019 Arthur Andrade Bezerra Desenvolvimento de kit de Robótica Educacional Lúdica Trabalho de Conclusão de Curso de Enge- nharia de Telecomunicações da Universidade Federal do Rio Grande do Norte, apresentado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Telecomunicações Orientador: Julio Cesar Paulino de Melo Universidade Federal do Rio Grande do Norte – UFRN Departamento de Engenharia de Comunicações – DCO Curso de Engenharia de Telecomunicações – CETEL Natal – RN Junho de 2019 Arthur Andrade Bezerra Desenvolvimento de kit de Robótica Educacional Lúdica Trabalho de Conclusão de Curso de Enge- nharia de Telecomunicações da Universidade Federal do Rio Grande do Norte, apresentado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Telecomunicações Orientador: Julio Cesar Paulino de Melo Trabalho aprovado. Natal – RN, 21 de Junho de 2019: Prof. Dr. Aquiles Filgueira Burlamaqui - Convidado UFRN - ECT Prof. Dr. Marcio Rodrigues - Convidado UFRN - DCO Prof. Dr. Orivaldo Vieira - Convidado UFRN - ECT Prof. Dr. Julio Cesar Paulino de Melo - Orientador UFRN - IMD Natal – RN Junho de 2019 AGRADECIMENTOS Primeiramente à Minha família e ao meu amor Palloma À Universidade Federal do Rio Grande do Norte, principalmente pelo aprendizado nos laboratórios LAR e PROTOLAB. Ao meu orientador Prof Dr. Julio Melo, pela sua calma e ajuda. Aos professores Aquiles Burlamaqui e Luiz Eduardo. Aos Sócios da VOID3D. “O desenvolvimento humano depende fundamentalmente da invenção. Ela é o produto mais importante de seu cérebro criativo. Seu objetivo final é o completo domínio da mente sobre o mundo material e o aproveitamento das forças da natureza em favor das necessidades humanas." (Nikola Tesla) RESUMO O trabalho consiste no desenvolvimento de um Sistema Robótico com Programaçao Tátil para uso com técnicas de robótica educacional que são aplicadas à crianças a partir de 3 anos. Esse sistema será usado como peça chave para criação de um produto na área de robótica Tátil. O trabalho compreenderá a projeto e construção do sistema robótico programável, com comunicação sem fio, compreendendo: projeto e implementação do robô; projeto e implementação da prancheta lúdica de controle e programação e projeto e implementação da comunicação entre o robô e a prancheta. A Prancheta de Controle usará técnicas de codificação por blocos usando, uma metodologia lúdica para programação do Robô Palavras-chaves: Robótica Educacional. Robótica tátil, Robo com rodas. ABSTRACT The work is done in the development of a robotic system with Tactile programming for use with educational robotics that is applied to children from 3 years. This system will be used as a key to product creation in the field of Tactile robotics. The work includes a project and the construction of the programmable robotic system, with wireless communication, comprising: robot design and implementation; design and implementation of the playful communication of control and programming and implementation of communication between the robot and the drawing board. The Control Board uses block coding techniques using a playful methodology for programming the Robot Keywords: Educational Robotics, Tactile programming, Robot with wheels. LISTA DE ILUSTRAÇÕES Figura 1 – Brick EV3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figura 2 – Blocos de ação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figura 3 – Blocos de fluxo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Figura 4 – Blocos de sensores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Figura 5 – Blocos de operação de dados. . . . . . . . . . . . . . . . . . . . . . . . 20 Figura 6 – Blocos Avançados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Figura 7 – Meccano-Erector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Figura 8 – Meccano Ragdoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Figura 9 – programação em blocos Meccano . . . . . . . . . . . . . . . . . . . . . 22 Figura 10 – robô mBot com programação por blocos . . . . . . . . . . . . . . . . . 23 Figura 11 – Blocos de montar Modelix . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figura 12 – Interface de programação baseada em fluxograma Modelix . . . . . . . 24 Figura 13 – Cubetto e prancheta programável . . . . . . . . . . . . . . . . . . . . 25 Figura 14 – Tapete representativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Figura 15 – Robô solar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Figura 16 – Vistas CAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Figura 17 – Representação componentes impressora 3D . . . . . . . . . . . . . . . . 29 Figura 18 – Alturas de camada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Figura 19 – Fluxograma de manufatura de placas de circuito por corrosão . . . . . 31 Figura 20 – Representação esquemática de fresadora de circuitos . . . . . . . . . . 32 Figura 21 – Microprocessador com encapsulamento diferentes . . . . . . . . . . . . 32 Figura 22 – Diferentes placas ESP . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Figura 23 – representação de sensor TSC3200 . . . . . . . . . . . . . . . . . . . . . 34 Figura 24 – Esquemático de ligação Sensor - Arduino . . . . . . . . . . . . . . . . . 34 Figura 25 – Detecção de variação de cor em produtos . . . . . . . . . . . . . . . . . 35 Figura 26 – Motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Figura 27 – Driver L293 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Figura 28 – diagrama de conexão motor - driver - Arduino . . . . . . . . . . . . . . 37 Figura 29 – Modelo OSI x TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Figura 30 – Cliente/Servidor TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Figura 31 – Exemplos de conexão mestre escravo com bluetooth . . . . . . . . . . 39 Figura 32 – Diagrama geral do sistema . . . . . . . . . . . . . . . . . . . . . . . . . 41 Figura 33 – Vista superior robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Figura 34 – Exemplo de avatar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Figura 35 – Prancheta Versão I (teste de conceito) . . . . . . . . . . . . . . . . . . 43 Figura 36 – Prancheta Versão 2 (função adicionada) . . . . . . . . . . . . . . . . . 44 Figura 37 – Prancheta Versão 3 (Versão final) . . . . . . . . . . . . . . . . . . . . . 44 Figura 38 – Versão final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Figura 39 – robô (base) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Figura 40 – robô (Avatar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Figura 41 – Encaixes V1 - Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Figura 42 – Encaixes V2 - Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Figura 43 – Encaixes V3 - Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Figura 44 – Prancheta - Final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Figura 45 – Esquemático Robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Figura 46 – Esquemático prancheta . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Figura 47 – Esquemático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Figura 48 – Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Figura 49 – Placa de circuito versão 1.0 . . . . . . . . . . . . . . . . . . . . . . . . 50 Figura 50 – Placa de circuito versão 1.0 (solda) . . . . . . . . . . . . . . . . . . . . 50 Figura 51 – Placa de circuito versão 2.0 . . . . . . . . . . . . . . . . . . . . . . . . 51 Figura 52– Placa de circuito versão 2.0 (solda) . . . . . . . . . . . . . . . . . . . . 51 Figura 53 – Fluxograma de funcionamento prancheta . . . . . . . . . . . . . . . . . 52 Figura 54 – Fluxograma de funcionamento das funções cor . . . . . . . . . . . . . . 53 Figura 55 – Fluxograma de funcionamento do robô . . . . . . . . . . . . . . . . . . 54 LISTA DE TABELAS Tabela 1 – Comparação entre kits de robótica educacional . . . . . . . . . . . . . 27 Tabela 2 – Tabela verdade para funcionamento do sensor de cor . . . . . . . . . . 35 Tabela 3 – tabela verdade para funcionamento da ponte H . . . . . . . . . . . . . 37 Tabela 4 – Tabela comparativa Bluetooth x WiFi . . . . . . . . . . . . . . . . . . 40 LISTA DE ABREVIATURAS E SIGLAS IoT Internet of Things CAD Computer Aided Design MIT Massachusetts Institute of Technology STEAM Science, Technology, Engineering, the Arts and Mathematics CPU Central Processing Unit ROM Read-Only Memory RAM Random Access Memory GPIO General Purpose Input/Output API Application Programming Interface BNCC Nacional Comum Curricular UFRN Universidade Federal do Rio Grande do Norte IP Internet Protocol IEEE Institute of Electrical and Electronics Engineers WPANs Wireless Personal Area Network ISM Industrial, Scientific and Medical LAN Local Area Network LCD Liquid Crystal Display SUMÁRIO 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.1 Motivaçao e Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2.1 Objetivos Secundários . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2.2 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . 17 2.1 Conjuntos Montáveis e Programáveis . . . . . . . . . . . . . . . . . . 18 2.1.1 LEGO Mindstorms Robotics Invention System . . . . . . . . . . . . . . . . 18 2.1.2 Meccano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.3 mBOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.1.4 Modelix Robotics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Robôs Programáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.1 Cubetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3 Kits de robótica educacional não programáveis . . . . . . . . . . . . 24 2.3.1 Solar Robot Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4 Comparação entre os kits apresentados . . . . . . . . . . . . . . . . . 26 3 EMBASAMENTO TEÓRICO . . . . . . . . . . . . . . . . . . . . . . 28 3.1 Ferramentas CAD de desenho 3D . . . . . . . . . . . . . . . . . . . . 28 3.1.1 Fabricação dos elementos via Impressão 3D . . . . . . . . . . . . . . . . . 29 3.2 Projeto de circuitos utilizando software CAD . . . . . . . . . . . . . 30 3.2.1 Manufatura de placas de circuito. . . . . . . . . . . . . . . . . . . . . . . 31 3.3 Microcontroladores, sensores e atuadores . . . . . . . . . . . . . . . . 32 3.3.1 Esp8266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.2 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.3 Atuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.3.1 Motores DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4 Sistemas conectados utilizando protocolo TCP/IP . . . . . . . . . . 37 3.5 Sistemas conectados utilizando o protocolo Bluetooth . . . . . . . . 38 3.6 Protocolos de enlace Wi-Fi e Bluetooth . . . . . . . . . . . . . . . . 39 4 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1 Projetos em CAD 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.2 Fabricação do Robô e da Prancheta Controladora . . . . . . . . . . . 45 4.3 Projeto do circuito, sensores e atuadores . . . . . . . . . . . . . . . . 45 4.3.1 Montagem dos circuitos da Prancheta e Robô em protoboard para testes de bancada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.2 Projeto de circuitos do Robô em CAD . . . . . . . . . . . . . . . . . . . . 48 4.3.3 Fabricação das placas de circuito . . . . . . . . . . . . . . . . . . . . . . . 49 4.3.4 Projeto e implementação dos Firmwares . . . . . . . . . . . . . . . . . . . 50 5 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.1 Realização dos objetivos secundários . . . . . . . . . . . . . . . . . . 55 5.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A APÊNDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 A.1 Código robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 A.2 Código prancheta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 13 1 INTRODUÇÃO Cada vez mais, durante os últimos anos, o ensino de Robótica vem ganhando espaço, principalmente na área da educação. A Robótica Educacional, ou Robótica Pedagógica, pode ser entendida como o ambiente de aprendizagem no qual o professor ensina ao aluno a montagem, automação e controle de dispositivos mecânicos e eletrônicos que podem ser controlados. O precursor da área da robótica educacional foi Seymour Papert, que via no computador e suas possibilidades um recurso que atraía e motivava os estudantes e, com isso, facilitava o processo de aprendizagem (PAPERT, 1985). Segundo Papert (1994), existe um paradoxo em relação ao uso da tecnologia na educação, pois acarreta uma mudança que virá através da utilização de meios técnicos para eliminar a natureza técnica da aprendizagem. Por meio do uso das tecnologias, é possível inovar métodos e técnicas do professor, ampliando as possibilidades de aprendizagem. Papert desenvolveu uma linguagem de programação chamada LOGO(PAPERT, 1985), inicialmente utilizada para programar uma tartaruga mostrada graficamente na tela de um computador(GONCALVES, 2007). Posteriormente, em conjunto com o Instituto de Tecnologia de Massachusetts (MIT), Papert uniu o ambiente de programação da linguagem LOGO com um brinquedo físico com blocos de montar, motores e sensores culminando no primeiro exemplo de aplicação prática da robótica educacional (PAPERT, 1994) Vários estudos já comprovam o sucesso da utilizaçao da robótica educacional prática principalmente no ensino básico e fundamental[(ZILLI, 2004)(CAMPOS, 2017)]. Seguindo essa tendência, esse trabalho tem como principal objetivo a criação de um kit de robótica, que utiliza programação lúdica, onde pode ser utilizado em sala de aula como uma ferramenta educacional. A idéia é que o kit tenha um formato intuitivo e lúdico, como um brinquedo, com o intuito de desenvolver habilidades motoras e lógica desde cedo. 1.1 Motivaçao e Justificativa A educação é fator prioritário no desenvolvimento das nações uma vez que seu resultado impacta diretamente, e em cadeia, em todos os segmentos laborais trazendo assim avanços para o país de ordem financeira, cultural ou pessoal para os indivíduos. Segundo (COLL, 1999): Capítulo 1. Introdução 14 "A educação é um conceito genérico utilizado para designar um conjunto de práticas e atividades mediante as quais, e graças as quais, os grupos sociais promovem o desenvolvimento e a socialização de seus membros e garantem o funcionamento de um dos mecanismos essenciais da evolução da espécie humana: a herança cultural." Coll, define educação de forma genérica porém sem deixar de sustentar sua impor- tância para a sociedade. Não é à toa que a Educação é apontada entre os 4 principais problemas do brasil em pesquisas realizadas durante as eleições de 2018 (DATAFOLHA, 2018). Na atual situação financeira em que o país se encontra, onde se observam déficits orçamentários e cortes ou congelamento de receitas para setores prioritárioscomo o da educação, são necessárias soluções inovadoras que, não somente otimizem a forma como os recursos para a educação são aplicados, mas que também inspirem novas gerações a seguirem o caminho do desenvolvimento tecnológico. Segundo (ZILLI, 2004): A educação é um campo fértil para o uso da tecnologia, tendo em vista a gama de possibilidades que apresenta, tornando a aprendizagem mais dinâmica e motivadora. Dentre os recursos tecnológicos utilizados na educação, destaca-se a Robótica Educacional, que possibilita ao estudante desenvolver habilidades e competências como trabalho de pesquisa, a capacidade crítica, o senso de saber contornar as dificuldades na resolução de problemas e o desenvolvimento do raciocínio lógico. Na visão de Zilli, a robótica educacional pode ser vista com papel destacado no sentido de encaixar o uso da tecnologia na prática docente uma vez que estimula diferentes tipos de habilidades ao mesmo tempo. Essa característica pode ser vista ainda como uma forma de otimizar os recursos aplicados, uma vez que os alunos estariam exercitando diferentes habilidades enquanto o docente aplica práticas relacionadas com a robótica educacional. Ainda nesse mesmo sentido, com a reforma da Base Nacional Comum Curricu- lar(BNCC) e do Ensino Médio, a programação e a robótica ganham espaço dentro do currículo das escolas, criando uma grande oportunidade no oferecimento de produtos e serviços relacionados a essa temática. Haverão 184,1 mil escolas que precisam atualizar seus currículos para adaptar-se à referida reforma. Em adição, a disponibilidade de robótica para o ensino fundamental e para crianças em idade escolar vem crescendo nos últimos anos, pois tem o potencial de impactar significativamente a natureza da engenharia e da educação científica em todos os níveis, como já respaldado pela citação de Zilli. Capítulo 1. Introdução 15 Existem diversas opções no mercado que podem ser usadas para promover o uso da robótica educacional em sala de aula; alguns exemplos conhecidos são: Lego Mindstorms, mBot e Meccano. No entanto, os 3 os kits supracitados possuem um ou mais problemas em relação ao custo de aquisição, forma de programação do robô, faixa etária de utilização ou de expansibilidade do kit. Para diferentes práticas pedagógicas, o professor precisa se adaptar de acordo com o que cada kit pode oferecer. Um problema, no entanto, que permeia a maioria dos kits do mercado está relacio- nado ao fato de eles usarem tecnologias fechadas ou protegidas por direitos autorais. Esse ponto restringe o acesso da comunidade científica aos kits, limitando assim as possibilidades de estudo, expansibilidade e de inovação que são importantes nessa área da educação. Dessa forma, esse trabalho se propõe a desenvolver um kit de robótica educacional, projetado para ser usado com turmas de ensino básico, nos níveis infantil e fundamental. O kit será composto por um robô e uma prancheta controladora, que será usada para programar o robô de uma forma lúdica visando envolver melhor alunos e professores durante as aulas. 1.2 Objetivos O objetivo do trabalho é propor e construir um kit de robótica educacional tátil, capaz de ser programado a partir de blocos físicos com funções pré-definidas, especialmente focando no uso de software e hardware abertos. 1.2.1 Objetivos Secundários A fim de atingir o objetivo principal, os seguintes objetivos secundários foram planejados: • OS1 - Projetar o Robô em CAD 3D • OS2 - Projetar a Prancheta Controladora em CAD 3D • OS3 - Projetar os circuitos da Prancheta Controladora e Robô em CAD • OS4 - Projetar e implementar o firmware do Robô • OS5 - Projetar e implementar o firmware da Prancheta Controladora • OS6 - Montar os circuitos da Prancheta e Robô em protoboard para testes de bancada Capítulo 1. Introdução 16 • OS7 - Realizar testes de conectividade entre o robô a a prancheta controladora usando os protocolos WIFI e Bluetooth a fim de determinar o melhor protocolo para a aplicação • OS8 - Realizar a fabricação das placas de circuito • OS9 - Realizar a fabricação do Robô e da Prancheta Controladora • OS10 - Realizar a montagem dos componentes • OS11 - Realizar testes finais de integração entre os componentes 1.2.2 Organização do trabalho O restante deste documento está organizado da seguinte maneira: No capítulo 2 será abordada uma revisão bibliográfica, cobrindo alguns produtos do mercado relacionados com o kit objeto deste trabalho; o capítulo 3 abordará os principais conceitos usados no desenvolvimento deste trabalho, apresentando as tecnologias e técnicas que serão; no capítulo 4 será abordado o desenvolvimento do kit educacional, serão apresentados todos os diagramas de projeto, firmware e protocolos de comunicação que são usados no kit; por fim, o capítulo 5 apresenta as conclusões e discussões finais. 17 2 REVISÃO BIBLIOGRÁFICA De acordo com Costa e Guedes (2015) , Para facilitar a utilização da robótica no contexto da sala de aula, kits de robótica educacional são normalmente utilizados. Estes kits são compostos basicamente por três elementos principais: hardware, software e documentação. No tocante ao hardware, os kits disponibilizam componentes podem ainda ser divididos em três grupos(SILVA F. I. E SCHERER, 2013): 1. Componentes programáveis: Consiste dos controladores que irão receber e executar os programas. 2. Componentes estruturais: São compostos principalmente por peças de encaixe, rodas, garra, carcaça, entre outros. 3. Componentes eletrônicos: Permitem a adição de recursos de interação com o meio através de atuadores, tais como motores, dispositivos de som ou luz, além de permitir a sensibilidade do meio através de sensores. Os elementos de software, dizem respeito à ferramentas de computador que per- mitem a programação dos Componentes Programáveis. Devido ao fato de serem kits educacionais, as possibilidades de programação desses componentes são divididas em dois tipos: Programação por Blocos e Programação Textual. O mais comum é que os kits permitam a programação por blocos, pois ela foca em lógica e possui uma estrutura mais voltada à facilitar o aprendizado. Kits com Programação Textual, são mais comuns no ensino médio e superior(SILVA EDIPO SABIãO SANCHES, 2015), nesse caso geralmente é utilizada uma linguagem de programação convencional, como C++(CPP, 2019) ou Python(PYTHON, 2019). Os elementos de documentação por sua vez, consistem de: (i) manual do usuário, contendo geralmente exemplos de montagens e exemplos de programação dos componentes; (ii) material de apoio pedagógico, com instruções para o mediador(que auxilia o aluno) ou até mesmo para o próprio estudante(SILVA F. I. E SCHERER, 2013). Atualmente existem diversos kits de robótica educacional(WSKITS, 2019), sendo sua utilização em crianças a partir de 3 anos de idade. A escolha do conjunto vai depen- der de alguns fatores como: Faixa etária, custo de aquisição, atividades que podem ser desenvolvidas a partir do conjunto, interdisciplinaridade, entre outras (FORNAZA, 2015). Nas subseções a seguir serão discutidas algumas soluções de robótica educacional, as soluções foram divididas em 3 grupos: (2.1) Conjuntos Montáveis e Programáveis, são Capítulo 2. REVISÃO BIBLIOGRÁFICA 18 kits modulares, onde o aluno vai montar a estrutura do robô e realizar a programação; (2.2) Robôs Programáveis, compreendendo kits com robôs que já vem montados, prontos para serem programados e utilizados; (2.3) Kits de Robótica Educacional não Programáveis, que agrupam elementos de robótica com fins educacionais que vão ensinar e demonstrar conceitos e funcionamento de experimentos científicos. Dependendo do tipo de solução utilizada por cada kit. O objetivo é compará-las com a solução proposta neste trabalho, bem como discutir as soluções já existentes no mercado. 2.1 Conjuntos Montáveis e Programáveis Nesta categoria, se enquadram robôs que são comercializados contendo em sua grande maioria peças de encaixe, sensores, atuadores e uma central controladora multifun-cional. A central pode ser programada via computador para captar os dados dos sensores e aplicar comandos para os atuadores. 2.1.1 LEGO Mindstorms Robotics Invention System O LEGO Mindstorms, é um kit de robótica educativa amplamente disponível em todo o mundo. Esse kit foi integrado aos currículos em muitas instituições de ensino básico até superior, incluindo MIT, onde foi desenvolvido(LEGO, 2019b). O kit pode ser programado usando software proprietário chamado Ev3 Programmer (LEGO, 2019), que é distribuído junto do kit. A programação desses kits usa programação por blocos, cada um com funções pré definidas de acordo com o kit, na sua versão atual do software de programação, é possível que o controlador (Figura 1) interaja com dispositivos, tais como smartphones ou tablets. A Figura 2 mostra os blocos de ação, da linguagem usada para escrever programas compatíveis com o controlador lego, esse blocos controlam as ações do programa. Exemplos de ações possíveis são: as rotações de motores; emissão de sons; emissão de luz entre outros. Os blocos de Fluxo, Figura 3, controlam o fluxo do programa, tais como funções de decisão, repetição e espera. Todos os programas iniciam com o bloco “inicial” e são compostos por uma combinação de blocos de fluxo e ação. Os blocos de Sensores, mostrados na Figura 4, permitem que o programa interaja com sensores pré definidos. Alguns sensores disponíveis são: sensor de cores; sensor de luz infra-vermelho; sensor de toque entre outros. Blocos de Operação de Dados: Os blocos de operação de dados, Figura 5 permitem que você escreva e leia variáveis e compare valores. Blocos Avançados: Os blocos avançados (Figura 6) permitem gerenciar arquivos, conexões Bluetooth, texto e funções disponibilizadas pelo próprio software. Capítulo 2. REVISÃO BIBLIOGRÁFICA 19 Figura 1 – Brick EV3. Fonte – (LEGO, 2019a). Figura 2 – Blocos de ação. Fonte – (LEGO, 2019a). Figura 3 – Blocos de fluxo. Fonte – (LEGO, 2019a). Capítulo 2. REVISÃO BIBLIOGRÁFICA 20 Figura 4 – Blocos de sensores. Fonte – (LEGO, 2019a). Figura 5 – Blocos de operação de dados. Fonte – (LEGO, 2019a). Figura 6 – Blocos Avançados. Fonte – (LEGO, 2019a). 2.1.2 Meccano O robô Meccano é um robô que visa principalmente a interação com o aluno. Também feito de peças de encaixe, com diferentes tipos de montagens e kits diferentes para níveis diferentes de aprendizado. Sua versão Meccano-Erector (Figura 7) é composta de componentes eletromecânicos (motores), sensores de presença, sensor de voz, leds e encoders. A programação no Meccano pode ser feita de 3 modos diferentes: (i) Aprendizagem de movimento inteligente, onde o aluno movimenta o robô, que grava os movimentos como uma marionete, e logo em seguida o robô refaz o solicitado. (ii) Modo Ragdoll, que usa Capítulo 2. REVISÃO BIBLIOGRÁFICA 21 o aplicativo da meccano, onde existe uma representação virtual do robô real, tudo que for realizado no aplicativo, como movimento com os braços, andar, mudar cor dos olhos ou falar, será refletido no robô real Figura 8. (iii) Programação por blocos, com já citado anteriormente, é uma programação visual, feita a partir de blocos pré-definidos, utilizando a linguagem proprietária da meccano Figura 9. Figura 7 – Meccano-Erector Fonte – (MECCANO, 2019). Figura 8 – Meccano Ragdoll Fonte – (MECCANO, 2019). Capítulo 2. REVISÃO BIBLIOGRÁFICA 22 Figura 9 – programação em blocos Meccano Fonte – (MECCANO, 2019). 2.1.3 mBOT O mBot é um robô montável da Makeblock que utiliza a metodologia de aprendizado STEAM(STEAM, 2019) para iniciantes na robótica. É composto de peças parafusáveis e utiliza apenas uma chave de fenda. Os blocos são compostos por encaixes facilitados, acompanhados com um manual de passo-a-passo para acelerar o aprendizado, em adição alguns encaixes do kit são compatíveis com encaixes LEGO. A ideia principal é que os alunos constroem o robô do zero, a partir dos componentes disponibilizados na caixa. A medida que é construído e programado utilizando programação por blocos Figura 10, novos componentes podem começar a ser inseridos, para adicionar nova funcionalidades. No kit são disponibilizados, além dos componentes estruturais, sensores de distância, seguidores de linha, módulos bluetooth e diversas outras placas de expansão(MBOT, 2019). 2.1.4 Modelix Robotics O kit Modelix Robotics (MODELIX, 2019a) visa o desenvolvimento de projetos de robótica para diferentes níveis educacionais. Em sua última versão para o ensino fundamental, o kit básico é composto por placa controladora, componentes eletrônicos (sensores de luz, leds, placa fotovoltaica), bateria, atuadores e componentes estruturais demonstrados na Figura 11. A programação do robô deste kit é feita por meio de um software proprietá- Capítulo 2. REVISÃO BIBLIOGRÁFICA 23 Figura 10 – robô mBot com programação por blocos Fonte – (MBOT, 2019). rio(MODELIX, 2019b) que provê uma interface de programação usando programação baseada em fluxogramas, como mostrado na Figura 12. Figura 11 – Blocos de montar Modelix Fonte – (MODELIX, 2019a). 2.2 Robôs Programáveis Nessa categoria enquadram-se robôs que não necessitam de montagem, e sua utilização é feita a partir da programação, seja no computador, em pranchetas ou em dispositivos celulares. Capítulo 2. REVISÃO BIBLIOGRÁFICA 24 Figura 12 – Interface de programação baseada em fluxograma Modelix Fonte – (MODELIX, 2019a). 2.2.1 Cubetto O Cubetto Figura 13 é kit de robótica que inclui um robô de madeira desenvolvido para crianças a partir de 3 anos pela PrimoToys(PRIMO TOYS, 2019). O kit ensina ao aluno conceitos básicos de programação através por blocos, usando blocos de montar reais inspirados na programação LOGO. O kit do Cubetto inclui o robô, um console de programação e placas de instrução, onde cada formato e cor diferente, significa um movimento ou função diferente. O kit também vem com um tapete que representa o "mundo"do robô e um livro que narra uma estória que é situada no tapete e protagonizada pelo robô e pelo programadorFigura 14. Vários livros e tapetes estão disponíveis, separadamente, mas o kit também permite que sejam projetadas estórias próprias, ao invés de usar histórias pre construídas(EXAME, 2019). 2.3 Kits de robótica educacional não programáveis Nessa categoria encaixam-se os robôs que vão demonstrar experimentos físicos, ou serão montados para funcionar com energia solar e fazer movimentos menos complexos não programados, como andar para frente ou piscar luzes. Capítulo 2. REVISÃO BIBLIOGRÁFICA 25 Figura 13 – Cubetto e prancheta programável Fonte – (PRIMO TOYS, 2019). Figura 14 – Tapete representativo Fonte – (PRIMO TOYS, 2019). 2.3.1 Solar Robot Kit É um kit de montar, com encaixes baseados em LEGO, com o qual é possível montar até 14 estruturas distintas com os componentes disponibilizados na caixa. Todas Capítulo 2. REVISÃO BIBLIOGRÁFICA 26 as estruturas possíveis tem o funcionamento à partir da luz solarFigura 15. Esse kit visa principalmente o desenvolvimento de habilidades básicas, como segurar as peças e encaixá-las. Figura 15 – Robô solar Fonte – (SOLARBOT, 2019). 2.4 Comparação entre os kits apresentados Uma comparação entre os trabalhos apresentados é mostrada na Tabela 1. Os parâmetros escolhidos são definidos como: • Programável: diz respeito à capacidade do robô ser programado, pelo aluno, através de qualquer linguagem de programação. • Idade de utilização: foi utilizado para ilustrar a classificação e abrangência etária, recomendada, por cada kit. • Tipo de linguagem: refere-se ao tipo de linguagem usada na programação do kit, comumente, blocos ou textual. • Interface de programação: diz respeito à maneira como o programa pode ser construído para o kit, em alguns casos ela é feita por programa de computador ou Capítulo 2. REVISÃO BIBLIOGRÁFICA 27 por aplicativo de celular, exceto no cubetto onde a programação é feita através de uma prancheta especial. • Expansibilidade: diz respeito à capacidade de adição de novoselementos que expandem as funcionalidades do kit, por exemplo, novos blocos de atuador, novos sensores, entre outros. • Open Source: diz respeito à acessibilidade aos projetos de software desses kits, essa característica é importante, pois classifica o acesso da comunidade científica aos elementos de projeto do kit. Tabela 1 – Comparação entre kits de robótica educacional Nome LEGO Meccano mBot Modelix Cubetto Solar robot Programável Sim Sim Sim Sim Sim Sim Idade de utilização 5+ 5+ 12+ 12+ 3+ 3+ Tipo de lin- guagem Blocos Blocos/textual Blocos Fluxograma Blocos N/A Interface de progra- mação Software Software/APP Software Software Prancheta N/A ExpansibilidadeSim N/A Sim Sim N/A N/A Open Source Não Não Não Não Não Não Com base nas informações mostradas na Tabela 1, podemos observar que o robô proposto neste trabalho possui totais condições de concorrer com os kits exemplificados, uma vez que tem como características básicas, a programação a partir de 3 anos de idade, ser personalizável. Uma vantagem que o kit proposto tem, em relação aos demais, é de ser concebido com objetivo de ser open source, dando acesso à comunidade a todos os dados relacionados a software referente ao kit. 28 3 EMBASAMENTO TEÓRICO 3.1 Ferramentas CAD de desenho 3D Para uma peça qualquer ser manufaturada, antes ela precisa ser projetada em computador tridimensionalmente ou bidimensionalmente (caso seja uma forma simplificada) utilizando um software CAD (AUTODESK FUSION, 2019). É possível ganhar tempo de elaboração, qualidade e precisão de projetos mecânicos quando empregamos recursos CAD tridimensionais paramétricos de maneira adequada Figura 16. Tais vantagens estão relacionadas diretamente à precisão na modelagem 3D, elevada produtividade, facilidade de edição pelos recursos paramétricos, culminando assim em uma economia significativa na confecção de protótipos físicos (PATROCÍNIO, 2013). Como primeira etapa do processo de desenvolvimento de um projeto em 3D, a mo- delagem 3D consiste na criação dos elementos que vão compor o projeto final (VAUGHAN, 2012). Sejam objetos móveis, fixos, ou mesmo personagens que serão posteriormente anima- dos, esses elementos são todos representações matemáticas de superfícies tridimensionais. Para criar um objeto em 3D pode-se utilizar referências (imagens ou ideias), é basicamente a criação de formas, objetos, personagens e cenários. Figura 16 – Vistas CAD Fonte – (AUTODESK, 2019) Capítulo 3. EMBASAMENTO TEÓRICO 29 3.1.1 Fabricação dos elementos via Impressão 3D Para fabricar peças com impressão 3D, é necessário projetar a peça em uma ferramenta CAD 3D. Assim que o modelo tridimensional está pronto, é preciso enviá-lo para o software da impressora para que se possa definir as características principais relacionadas com a impressão 3D, tais como: a resolução da impressão; grau de preenchimento; tipo de material em que será impresso, entre outras (TECMUNDO, 2019). A qualidade final da peça impressa depende (além do material, software e máquina que foram usados) principalmente da espessura da camada que é configurada nos passos iniciais do processo de impressão. Quanto mais detalhes, melhor será a qualidade do objeto, porém maior será o tempo de impressão(Figura 18). O processo de impressão 3D se dá da seguinte maneira: o injetor de material (Figura 17 - 4) aquece e puxa o filamento plástico que fica enrolado em uma bobina (Figura 17 - 1). Conforme o mecanismo derrete o material, ele o injeta em uma base (Figura 17 - 7), movimentando-se nos eixos X e Y para criar as camadas. Assim que uma camada fica pronta, a base, fixa no eixo Z desce alguns milímetros e o mecanismo procede com a criação da próxima camada até que o objeto fique pronto. Esse processo pode levar de poucos minutos até algumas horas, variando, basicamente, com a complexidade do modelo impresso e a qualidade da impressora. Figura 17 – Representação componentes impressora 3D Fonte – (3DHUBS, 2019) Capítulo 3. EMBASAMENTO TEÓRICO 30 Figura 18 – Alturas de camada Fonte – (3DEEE, 2019) 3.2 Projeto de circuitos utilizando software CAD As placas de circuito são utilizadas para a acomodação e interligação dos compo- nentes eletrônicos sendo um dos constituintes principais dos equipamentos eletrônicos. O processo de projeto e síntese de placas de circuito, no nível mais profissional, precisa incluir o projeto em softwares de computador próprios para essa finalidade. O projeto de placas de circuito em software softwares CAD (AUTODESK FUSION, 2019) pode ser divididos em 3 partes: 1. Esquemático: é a parte onde é feita a conexão lógica entre os componentes que compõem o projeto, uma visão do projeto de circuito onde todos os blocos que compõem o projeto são interligados. Nesta etapa, os blocos podem ser componentes eletrônicos ou outros subsistemas previamente projetados projetados, o principal ponto é identificar todos os elementos que compõem o projeto eletrônico bem como suas interligações.. 2. Simulador: Para validar se o circuito eletrônico foi planejado e montado corretamente, após a etapa de esquemático é possível simular o funcionamento dos componentes. Essa etapa é suportada por algumas ferramentas de CAD e tem por objetivo a realização de testes preliminares de funcionamento do projeto. 3. Layout: Após as etapas de esquemático e simulação, a maioria das ferramentas de CAD possuem uma forma do projetista visualizar e planejar o layout do projeto eletrônico. A etapa de layout é a representação da parte física da placa de circuito, onde serão traçadas as trilhas, os furos e onde serão soldados os os componentes eletrônicos reais. Capítulo 3. EMBASAMENTO TEÓRICO 31 Uma vez que o projeto passa pelas três etapas, ou pelo menos duas delas (esque- mático e layout) as ferramentas de CAD são capazes de gerar arquivos digitais que são usados para manufatura das placas de circuito. 3.2.1 Manufatura de placas de circuito. Na indústria, as placas de circuito são fabricadas por meio da corrosão do cobre, pois podem ser feitas diversas placas simultaneamente com um custo reduzido. O processo está descrito no fluxograma abaixo (Figura 19). Figura 19 – Fluxograma de manufatura de placas de circuito por corrosão Fonte – O Autor O processo corrosivo pode ser feito também em pequena escala, viabilizando a execução de projetos menores em fase de prototipagem (onde as placas precisam ser refeitas com frequência), a custo de ser mais artesanal o que pode implicar em uma menor acurácia e menor qualidade final da placa protótipo. Uma outra opção para projetos em fase de prototipagem é o método da fresadora. O fresamento se diferencia dos demais processos de usinagem devido a sua cinemática, na qual uma peça é transladada e fresada por uma ferramenta que gira, o que confere à fresadora a capacidade de realização de uma grande variedade de trabalhos(SHAPLA ADRIANO; KEMPKA, 2010). A Figura 20 abaixo exibe um esquemático simplificado de uma fresadora usada na confecção de placas de circuito, diferentemente do processo corrosivo, a fresadora remove o cobre por esforço mecânico usinando a face cobreada da placa até que as trilhas sejam formadas. A máquina fresadora, comumente, também é usada para furar a placa ao final ou no começo do processo. Capítulo 3. EMBASAMENTO TEÓRICO 32 Figura 20 – Representação esquemática de fresadora de circuitos Fonte – (DOMINGOSDEAZEVEDO, 2019) 3.3 Microcontroladores, sensores e atuadores Microcontrolador é um pequeno computador que reúne em um único componente os elementos de um sistema microprocessado completo (memória ROM, memória RAM, interface paralela, interface serial, temporizador, contador de eventos e controlador de interrupções). A parte mais importante do microcontrolador é o unidade de processamento central, como na Figura 21 abaixo. (CPU)(GUSTAVO, 2007). Geralmente os microcontroladores são utilizados em projetos de sistemas eletrônicos, onde um programa embutido no microcontrolador e interage com o meio externo executando um conjunto de tarefas (EMBARCADOS,2019). Para a maioria desses sistemas, o microcontrolador apresenta-se como a solução mais barata em função do baixo custo de aquisição, facilidade de uso, versatilidade e da enorme aplicabilidade(MATHIAS, 2015). Figura 21 – Microprocessador com encapsulamento diferentes Fonte – (VANDERTRONIC, 2019) Capítulo 3. EMBASAMENTO TEÓRICO 33 3.3.1 Esp8266 O ESP8266 é um microcontrolador do fabricante chinês Espressif Systems que inclui capacidade de comunicação por Wi-Fi, que é o principal diferencial dele para os outros microcontroladores(ESPRESSIF SYSTEMS, 2019). Existem diversos tipos de modelos do ESP8266, como mostra a (Figura 22), do ESP- 1 até o ESP-14 e o mais recente produzido, ESP32.(OLIVEIRA, 2017). No desenvolvimento deste trabalho, foi escolhido o modelo ESP8266 por apresentar uma quantidade de GPIO suficientes para o referido circuito em desenvolvimento, possui Bluetooth 4.0 integrado, encapsulamento reduzido e um bom custo/benefício se comparado com seu antecessor o ESP12. Figura 22 – Diferentes placas ESP Fonte – (EMBARCADOS, 2019) 3.3.2 Sensores Um sensor é um dispositivo eletrônico que responde a um estímulo físico ou químico de maneira específica e que pode ser transformado em outra grandeza física para fins de medição e/ou monitoramento. Os mais comumente encontrados tem sua saída corrente ou tensão, ou uma saída digital. Como um exemplo prático da aplicação de sensores, tomemos o a placa da Figura 24, que é um componente que inclui o sensor de cor TCS3200. Esse sensor é usado para para detectar os níveis de luz nos espectros verde, vermelha e azul dos objetos. O chip tem 64 fotodiodos: 16 com filtro para a cor vermelha, 16 para a verde, 16 para a azul e 16 sem filtro. Esses fotodiodos captam a intensidade da luz, filtrando as cores e gerando a informação correspondente em um pino de saída, que pode ser lido pelo microcontrolador. Capítulo 3. EMBASAMENTO TEÓRICO 34 Figura 23 – representação de sensor TSC3200 Fonte – (EMBARCADOS, 2019) A utilização do sensor é feita junto de um microcontrolador, na Figura 24 sensor é utilizado junto de uma placa Arduino. Como pode ser visto na figura, as saídas da placa são ligadas ligado diretamente ao microcontrolador, o que facilita a prototipagem e testes de aplicações que usem esse sensor. Figura 24 – Esquemático de ligação Sensor - Arduino Fonte – (CLUBEDAROBOTICA, 2019) Para o microcontrolador interagir com o sensor, é necessário que ele seja programado Capítulo 3. EMBASAMENTO TEÓRICO 35 Tabela 2 – Tabela verdade para funcionamento do sensor de cor Pino S2 Pino S3 Fotodiodo Baixo Baixo Vermelho Baixo Alto Azul Alto Baixo Sem filtro Alto Alto Verde com um firmware apropriado, capaz de entender as particularidades do sensor usado. A tradução dos dados da saída é feita como mostra a Tabela 2. Ou seja, a cor lida pelo sensor é indicada pelos valores de saída dos pinos S2 e S3. Esse tipo de sensor pode ser aplicado na indústria, como mostrado na Figura 25, para verificação de cores de produtos, detecção de superfícies polidas ou não polidas, presença de componentes nas partes ou distinção de tonalidades de forma a garantir a identidade visual de um produto (CITISYSTEMS, 2019) Figura 25 – Detecção de variação de cor em produtos Fonte – (CITISYSTEMS, 2019) 3.3.3 Atuadores Um atuador é um elemento que atua no meio externo, atendendo a sinais de controle que podem ser manuais, elétricos ou mecânicos. É o mecanismo pelo qual o sistema de controle atua no ambiente, por exemplo, abrindo uma válvula(MACHINEDESIGN, 2019). 3.3.3.1 Motores DC Os motores DC, ilustrado na Figura 26, são exemplos de atuadores eletromecânicos formados por bobinas eletromagnéticas que produzem movimento quando alimentados Capítulo 3. EMBASAMENTO TEÓRICO 36 por uma corrente elétrica DC. Onde os mais comuns dependem somente da alimentação e também podem ser controlados para mudar velocidade da rotação e sentido. Figura 26 – Motor DC Fonte – (COMPONENTS101, 2019) Para controle do motor DC, é comum usar um Driver Ponte H, por exemplo o driver L298N, mostrado na Figura 27, que é baseado no circuito de diodos tipo ponte H. O mesmo possui dois canais e permitindo assim o controle de velocidade e sentido de rotação de até dois motores ao mesmo tempo. Figura 27 – Driver L293 Fonte – (EMBARCADOS, 2019) O controle da ponte H também é feito por o Arduino, como ilustrado na Figura 28, no caso dos motores DC, a RPM pode ser controlada variando-se sua tensão de alimentação. Além disso, o RPM é diretamente proporcional à tensão aplicada(FILIPEFLOP, 2019). Para o microcontrolador se comunicar com a ponte-H, e consequentemente com o motor DC é necessário que o firmware programado utilize portas digitais para controlar os Capítulo 3. EMBASAMENTO TEÓRICO 37 Figura 28 – diagrama de conexão motor - driver - Arduino Fonte – (FILIPEFLOP, 2019) estados lógicos das entradas A e B da ponte H, de acordo como é mostrado na Tabela 3. Usando uma modulação por largura de pulso (PWM), nas mesmas entradas, é possível controlar a velocidade de giro do motor ou mesmo pará-lo completamente. Tabela 3 – tabela verdade para funcionamento da ponte H Entrada A Entrada B Estado do motor Baixo Baixo Freio Baixo Alto giro sentido anti-horário Alto Baixo giro sentido horário Alto Alto Freio 3.4 Sistemas conectados utilizando protocolo TCP/IP Um protocolo define o formato e a ordem das mensagens trocadas entre dois ou mais dispositivos comunicantes, bem como as ações realizadas na transmissão e/ou no recebimento de uma mensagem ou outro evento (KUROSE, 2003). Em outras palavras, protocolo é um conjunto de regras que determinam como será feita a comunicação entre os dispositivos em uma rede. O modelo OSI especifica um padrão de redes para criação de protocolos. Esse modelo divide os subsistemas necessários para que uma aplicação se comunique com outra via rede em uma pilha com 7 camadas, cada uma com suas responsabilidades. A Internet utiliza como base para todas as suas comunicações a pilha TCP/IP que possui apenas 4 camadas. Baseado no modelo OSI, o TCP/IP é atualmente o padrão mais usado na comunicação de redes (KUROSE, 2003). A Figura 29 abaixo apresenta uma comparação do modelo OSI com suas 7 camadas em relação ao modelo TCP/IP: Capítulo 3. EMBASAMENTO TEÓRICO 38 Figura 29 – Modelo OSI x TCP Fonte – (UNICAMP, 2019) O modelo TCP pressupõe a presença de duas entidades, uma, denominada Servidor, que espera por conexões da outra entidade, denominada Cliente. Antes de qualquer conexão entre cliente e servidor TCP (Figura 30), cada extremidade deve especificar as informações dos canais de conexão contendo: a porta local onde novas conexões serão recebidas, no caso do servidor; o endereço IP e a porta onde a conexão será realizada, no caso do cliente.. Nos sistemas compatíveis com o padrão POSIX (OPENGROUP, 2019), as conexões entre clientes e servidores é traduzida para código usando a API de sockets (CSIS, 2019). Para essa API, ambos, cliente e servidor definem uma estrutura denominada socket e precisam usar um conjunto de funções, pré definidas, em uma ordem específica. Inicialmente o Servidor inicia com as funções bind e listen, que sinalizam para o sistema que novas conexões estão sendo esperadas em uma determinada porta. O servidor fica esperando conexões através da função accept. Clientes iniciam a comunicação usando a função connect, passando como parâmetro o IP e porta do servidor. Uma vez estabelecida a conexão entre cliente e servidor, a comunicação entre eles acontece em loop , ambos, recebendo e enviando mensagens através de funções projetadas para esse fim. 3.5 Sistemas conectados utilizando o protocolo Bluetooth IEEE 802.15.1, também conhecido como padrão Bluetooth(IEEE, 2019) é uma tecnologia sem fio usada para conectar e transmitir dados entre dispositivos em rede pessoais (WPANs) e com frequência de 2.4GHz que funciona na banda ISM (banda não licenciada). Com um alcance máximo de até 100m e velocidades de transmissão que podem se aproximar de 24Mb/s, o Bluetooth é um o padrão em comunicação de curta distância e possibilita a comunicação desses dispositivos uns com os outros quando estão dentro do Capítulo 3. EMBASAMENTO TEÓRICO 39 Figura 30 – Cliente/Servidor TCP Fonte – O Autor raio de alcance(MORAES, 2010). Como dispositivos usam um sistema de comunicação via rádio, por isso não necessitam estar na linha de visada um do outro, e podem estar até em ambientes distintos, contanto que a potência de transmissão seja suficiente. As redes Bluetooth usam um modelo mestre/escravo para controlar quando e onde os dispositivos podem enviar dados via comunicação serial. Neste modelo, um único dispositivo mestre suporta a conexão com até sete dispositivos escravos diferentes (Figura 31), e o os dispositivos escravos não podem se comunicar entre sí (BLUETOOTH, 2019). Figura 31 – Exemplos de conexão mestre escravo com bluetooth Fonte – (SPARKFUN, 2019) 3.6 Protocolos de enlace Wi-Fi e Bluetooth O Bluetooth e o Wi-Fi são as opções suportadas pela maioria dos smartphones e dispositivos sem fio em geral, porém foram desenvolvidos com casos de uso bastante específicos em mente. O Wi-Fi foi concebido para eliminar os fios nas redes LAN. O Bluetooth foi projetado para criar redes de área pessoal entre dispositivos de computação Capítulo 3. EMBASAMENTO TEÓRICO 40 e periféricos, geralmente em distâncias mais curtas do que o Wi-Fi. A Tabela 4 representa a comparaçao das duas tecnologias de acordo com alguns parâmetros comuns no que se diz respeito à protocolos de comunicação. Como todas as funcionalidades do kit proposto neste trabalho ainda não foram totalmente delimitadas, a tecnologia de comunicação escolhida foi o wifi, principalmente por causa do alcance máximo e a quantidade de dispositivos possível de serem colocados na mesma rede, além da maior compatibilidade com dispositivos existentessmartphone. Tabela 4 – Tabela comparativa Bluetooth x WiFi Nome Bluetooth Bluetooth 4.0 Wifi Padrão IEEE 802.15.1 802.15.1 802.11 (a, b, g, n) Frequência (GHz) 2,45 2,45 2,4 e 5 Taxa de transferência (Mbps) 0,7-2,1 0,27 7 (b), 25 (g), 150 (n) Alcance máximo (m) 10 - 100 50 100-250 Energia consumida Médio Muito Baixa Alta Tamanho máximo da rede 7 Indefinido 255 41 4 RESULTADOS A proposta principal desse trabalho é construir um kit educacional, composto por robô, linguagem de programação e interface de programação, que possa ser utilizado com crianças a partir de 3 anos. Devido à faixa etária baixa, foi escolhido construir uma interface de programação usando blocos físicos em uma prancheta física, semelhante ao que foi visto no Cubetto, já explicado na subseção 2.2.1. A ideia é que o robô seja programado pelos blocos encaixados na prancheta e que a comunicação entre o robô e a prancheta seja sem fios, como ilustrado na Figura 32. Figura 32 – Diagrama geral do sistema Fonte – O Autor Assim como na maioria dos projetos mecânicos e de software, para a conclusão do robô foram necessários alguns protótipos e testes antes de se chegar a uma possível versão final. Por uma facilidade de acesso a impressora 3D da VOID3D (VOID3D, 2019), os protótipos foram desenvolvidos com agilidade e qualidade. O desenvolvimento de cada parte do sistema foi separado nas seções a fim de dar ênfase em cada etapa do desenvolvimento da solução. Capítulo 4. RESULTADOS 42 4.1 Projetos em CAD 3D Como descrito no diagrama geral da Figura 32 o sistema é composto por duas entidades principais, um robô e uma prancheta. Ambos foram projetados e modelados em 3D a fim de definir as dimensões e possibilitar a fabricação usando impressão 3D. O robô projetado conta com 4 motores em conjunto com rodas, 2 controladores de motor DC, bateria, display LCD e uma placa ESP8266 como mostrado na Figura 33. O robô também possui encaixes para que seja possível modificar seu “avatar”, ilustrado na Figura 34, de forma que a criança possa modificar a aparência do robô que está sendo controlado com a prancheta. Figura 33 – Vista superior robô Fonte – O Autor Para a prancheta controladora foram desenvolvidas 3 versões. A primeira versão, Figura 35, foi inicialmente projetada para testes de conceito onde as placas eram da mesma cor, e a diferenciação entre elas ocorria com a mudança da cor da seta e a posição de encaixe na Montagem V1 por meio de um chanfro marcado em vermelho, em uma das extremidades. A partir da validação inicial e a solução de alguns problemas encontrados nos blocos de encaixe, foi desenvolvida a versão II (Figura 36). Nessa versão foram projetados: dois encaixes para blocos; um botão para ativação dos sensores e envio da informação para o robô; blocos com cores sólidas (para facilitar a leitura do sensor); e um novo bloco de função, representado pelo pato (inicialmente utilizado como bloco de repetição). Com essa versão já era possível movimentar o robô e fazer testes de duração de bateria. Após os testes de validação da versão II, foi desenvolvido a versão final (Figura 37). Nesta versão até 9 blocos simultâneos podem ser lidos, onde os 6 primeiros blocos são de fluxo, e os 3 últimos são para desenvolvimento de funções Figura 38. O bloco amarelo Capítulo 4. RESULTADOS 43 Figura 34 – Exemplo de avatar Fonte – O Autor Figura 35 – Prancheta Versão I (teste de conceito) Fonte – O Autor foi adicionado justamente para chamar a função dos 3 últimos blocos. Para ler 9 blocos simultaneamente foram utilizados também 9 sensores tsc3200(Figura 24), pois cada sensor é responsável por a leitura de um bloco. Capítulo 4. RESULTADOS 44 Figura 36 – Prancheta Versão 2 (função adicionada) Fonte – O Autor Figura 37 – Prancheta Versão 3 (Versão final) Fonte – O Autor Figura 38 – Versão final Fonte – O Autor Capítulo 4. RESULTADOS 45 4.2 Fabricação do Robô e da Prancheta Controladora Por impressão 3D ser acessível em termos de custo e também ser uma manufatura rápida, a versão final do robô (Figura 39), do avatar (Figura 40) e também a versão final da prancheta (Figura 44) foram feitos o mais fidedígno possível do projetado em CAD. Figura 39 – robô (base) Fonte – O Autor Figura 40 – robô (Avatar) Fonte – O Autor As versões da prancheta mostradas nas Figura 41, Figura 42 e Figura 43 foram desenvolvidas usando metodologias de prototipagem rápida. Com um tempo curto de projeto, qualquer erro voltado à estrutura mecânica poderia ser corrigido e reimpresso na impressora 3D. 4.3 Projeto do circuito, sensores e atuadores Ambas as entidades principais do sistema, o robô e a prancheta de controle, requerem um projeto eletrônico composto por sensores e atuadores. No caso do robô, o diagrama Capítulo 4. RESULTADOS 46 Figura 41 – Encaixes V1 - Final Fonte – O Autor Figura 42 – Encaixes V2 - Final Fonte – O Autor Figura 43 – Encaixes V3 - Final Fonte – O Autor geral do sistema é mostrado na Figura 45, já a prancheta é ilustrada na Figura 46. Capítulo 4. RESULTADOS 47 Figura 44 – Prancheta - Final Fonte – O Autor 4.3.1 Montagem dos circuitos da Prancheta e Robô em protoboard para testes de bancada O circuito do Robô foi montado, para simulação, em uma plataforma online (CIR- CUITIO, 2019). Nessa plataforma, a partir da montagem, é possível fazer a programação do microcontrolador e simular, inicialmente, o comportamento dos circuitos. Depois da validação por simulação o firmware deve ser carregado em um microcontrolador real para que seja possível testar a troca de dados entre o robô e prancheta de controle. Figura 45 – Esquemático Robô Fonte – O Autor Seguindo o mesmo padrão, o esquemático da prancheta de controle também foi montado utilizando a plataforma online, porém de maneira simplificada. Como os sensores Capítulo 4. RESULTADOS 48 Tsc3200 utilizam muitas portas de entrada e saída, a programação não pode ser feita diretamente no ESP, para tal foi usado um Arduino Mega(ARDUINO, 2019), como mostrado na Figura 46. Para que a comunicação com o MEGA e o ESP ocorra, é necessário a adição de um conversor de nível lógico bidirecional de tensão, pois oarduino trabalha com 5v, enquanto o esp trabalha com 3v3. Figura 46 – Esquemático prancheta Fonte – O Autor 4.3.2 Projeto de circuitos do Robô em CAD A placa de circuito impresso do robô foi desenvolvida no software Autodesk Ea- gle(AUTODESK EAGLE, 2019). Onde é composto de duas partes (i) Esquemático, ilustrado na Figura 47 e (ii) Layout mostrado na Figura 48. No esquemático as ligações dos componentes foram feitas por nomeação. Como o eagle não possui representação para todos os componentes usados no projeto, somente o dri- ver do motor de passo e os resistores foram adicionados a placa, o restante dos componentes foram representados utilizado barras de pinos com a quantidade correspondente a cada componente físico do projeto. No layout as barras de pinos foram espaçadas corretamente, de acordo com cada componente, a fim garantir a fabricação correta. A placa foi desenvolvida em forma de cruz, justamente porque no robô foi deixado esse espaço de encaixe. Na Figura 48 as trilhas na cor azul representam a parte inferior da placa (bottom layer) e as trilhas na cor vermelha, representam a parte superior da placa (top layer). A Marcação em laranja é a linha de corte. Capítulo 4. RESULTADOS 49 Figura 47 – Esquemático Fonte – O Autor Figura 48 – Layout Fonte – O Autor 4.3.3 Fabricação das placas de circuito Assim como o desenvolvimento e fabricação dos componentes estruturais, as placas de circuito do robô também tiveram mais de uma versão. A primeira foi para teste de conceito, mostrada na Figura 49, onde foi feito em uma placa de circuito ilhada, e os componentes foram soldados direto na placa, com as conexões feitas por fios, exemplificado na Figura 50. A versão final da placa de circuito do robô, mostrada na Figura 51, por ser mais complexa que a de teste, foi feita somente após a validação do sistema e também após o projeto do robô em CAD. A placa final necessitava de uma máquina de fazer placas de circuito, pois contém duas camadas, como demonstrado no layout. A placa da Figura 52, foi feita somente com Capítulo 4. RESULTADOS 50 Figura 49 – Placa de circuito versão 1.0 Fonte – O Autor Figura 50 – Placa de circuito versão 1.0 (solda) Fonte – O Autor uma camada, sendo usados fios para prover a função da camada 2, afim de economizar material e tempo. 4.3.4 Projeto e implementação dos Firmwares Cada entidade do sistema possui um firmware em cada um dos seus microcontrola- dores. Remetendo ao modelo cliente/servidor, a prancheta é sempre o cliente enquanto o robô é sempre o servidor, esperando que a prancheta inicie a comunicação na intenção de controlá-lo. No caso da Prancheta Controladora (Figura 53), após ser ligada, ela tentará se conectar ao robô, caso a conexão seja bem sucedida o botão de execução será habilitado, caso não, a prancheta tentará se conectar ao robô indefinidamente, até que consiga. Capítulo 4. RESULTADOS 51 Figura 51 – Placa de circuito versão 2.0 Fonte – O Autor Figura 52 – Placa de circuito versão 2.0 (solda) Fonte – O Autor Após a conexão ser feita, o usuário pode controlar o robô encaixando os blocos na Prancheta Controladora. Com os blocos encaixados, um botão precisa ser pressionado para que a execução será iniciada. Para a execução o armazena a leitura do sensor de cor referente ao bloco disponível em cada encaixe, caso não haja algum bloco encaixado em um determinado espaço será atribuído zero, representando um espaço em branco. Após finalizado esse procedimento, os dados referentes à programação são enviados, via rede, para o robô, onde os comandos serão executados. Capítulo 4. RESULTADOS 52 Figura 53 – Fluxograma de funcionamento prancheta Fonte – O Autor Para o robô, inicialmente é criada uma rede que fica aguardando a conexão da prancheta. Caso algum dado seja recebido pelo robô, ele sairá do stand-by, e iniciará a execução da programação enviada. Na prancheta, cada cor é referente a uma função de Capítulo 4. RESULTADOS 53 movimento, no caso do robô o movimento é feito através dos motores, a codificação de cores é processada como ilustrado pela Figura 54. Após a execução de cada função, é inserido um pequeno delay evitar picos de corrente e prolongar a vida útil da bateria, como mostrado na Figura 55. Figura 54 – Fluxograma de funcionamento das funções cor Fonte – O Autor Capítulo 4. RESULTADOS 54 Figura 55 – Fluxograma de funcionamento do robô Fonte – O Autor 55 5 CONCLUSÃO Desde o início está sendo proposta uma nova solução de kit de robótica educacional, que foi desenvolvida com as melhores características de robôs similares e já existentes no mercado, pois as tendências têm fomentado diversos novos segmentos da robótica educacional e também o aparecimento de novas empresas. O objetivo principal do trabalho era realizar uma análise comparativa entre kits de robótica existentes e propor o desenvolver de um kit de robótica educacional, munido de sensores e atuadores, com comunicação sem fio, controlado por prancheta e capaz de ser utilizado o para o aprendizado de forma lúdica. Com os resultados apresentados é possível concluir que o objetivo principal foi atingido. 5.1 Realização dos objetivos secundários Como forma de facilitar o desenvolvimento e de atingir o objetivo principal proposto no trabalho, o objetivo principal foi dividido em diversos objetivos secundários. Os objetivos dividiam o trabalho a ser executado por grandes áreas, de forma que fosse mais fácil acompanhar o progresso e que fosse possível garantir que todos os requisitos supracitados fossem atingidos. Por os objetivos secundários OS1 e OS2 tratarem de desenvolvimento e fabricação de projeto de cad 3D, foram agrupados nas subseções 4.1 e 4.2, onde a mesma mostra o seu desenvolvimento, projeto e versões finais reais, portanto os objetivos foram concluídos. Por os objetivos secundários OS3, OS7, OS8 e OS9 tratarem de desenvolvimento e fabricação projeto de circuitos em CAD, foram agrupados na seção 4.3, onde a mesma mostra o seu desenvolvimento, projeto e versões finais reais, portanto os objetivos foram concluídos. Na seção 4.3.4 é possível verificar os fluxogramas de firmware tanto do robô, quanto da prancheta, assim como no apêndice A, o código final de cada um dos componentes. Portanto os objetivos OS4, OS5 e OS6 foram concluídos. As seções 4.3.3 e 4.2 apresentam as montagem finais, tanto dos elementos em 3D e das placas de circuito, que foram testadas e validadas, com relação à comunicação e quanto ao funcionamento por bateria, portanto os objetivos OS10 e OS11 também foram concluídos. Capítulo 5. CONCLUSÃO 56 5.2 Trabalhos futuros Esse trabalho será utilizado principalmente como base para o desenvolvimento de outros produtos relacionados a área. Também serão realizadas melhorias e/ou modificações a fim de configurar um produto comercializável. 57 REFERÊNCIAS 3DEEE. preenchimento em impressão 3D. 2019. Disponível em: <https://www.3deee.ch/?p=862>. Acesso em: 25 de Maio. 30 3DHUBS. 3D hubs services. 2019. Disponível em: <https://www.3dhubs.com/guides/3d- printing/technologies>. Acesso em: 25 de Maio. 29 ARDUINO. Arduino mega 2560. 2019. Disponível em: <https://www.arduino.cc/en- /Guide/ArduinoMega2560>. Acesso em: 30 de Maio. 48 AUTODESK. Fusion Forecast: Drawings. 2019. Disponível em: <https://www.autodesk- .com/products/fusion-360/blog/fusion-forecast-drawings-necessary-evil/>. Acesso em: 24 de Abril. 28 AUTODESK EAGLE. EAGLE PCB design software. 2019. Disponível em: <https://www.autodesk.com/products/eagle/overview>. Acesso em: 21 de Maio. 48 AUTODESK FUSION. Fusion 360. 2019. Disponível em: <https://www.autodesk.com.br- /solutions/cad-software>. Acesso em: 24 de Abril. 28, 30 BARANAUSKAS, M. L. C. . M. C. C. Taprec: Desenvolvendo um ambiente de programação tangível de baixo custo para crianças. Universidade Estadual de Campinas UNICAMP, Instituto de Computação - Campinas/SP, 2015. BLUETOOTH. bluetooth core specification. 2019. Disponível em: <https://www- .bluetooth.com/specifications/bluetooth-core-specification/>.Acesso em: 21 de Maio. 39 CAMPOS, F. R. Escola e comunidade: um novo compromisso. 12. ed. São Paulo: [s.n.], 2017. 2108-2121 p. 13 CIRCUITIO. Circuit design app. 2019. Disponível em: <https://www.circuito.io>. Acesso em: 22 de Maio. 47 CITISYSTEMS. Sensor de cor. 2019. Disponível em: <https://www.citisystems.com.br- /sensor-de-cor/>. Acesso em: 19 de Maio. 35 CLUBEDAROBOTICA. Sensor de cor TSC3200. 2019. Disponível em: <https:- //cluberobotica.wordpress.com/2017/11/12/tcs3200/>. Acesso em: 1 de Junho. 34 COLL, C. Escola e comunidade: um novo compromisso. 10. ed. São Paulo: Revista Pátio, 1999. 9 p. 13 COMPONENTS101. Toy DC Motor. 2019. Disponível em: <https://components101.com- /motors/toy-dc-motor>. Acesso em: 1 de Junho. 36 CPP. C++ programming. 2019. Disponível em: <http://www.cplusplus.com/info- /description/>. Acesso em: 25 de Maio. 17 https://www.arduino.cc/en/Guide/ArduinoMega2560 https://www.arduino.cc/en/Guide/ArduinoMega2560 https://www.autodesk.com/products/fusion-360/blog/fusion-forecast-drawings-necessary-evil/ https://www.autodesk.com/products/fusion-360/blog/fusion-forecast-drawings-necessary-evil/ https://www.autodesk.com/products/eagle/overview https://www.autodesk.com.br/solutions/cad-software https://www.autodesk.com.br/solutions/cad-software https://www.bluetooth.com/specifications/bluetooth-core-specification/ https://www.bluetooth.com/specifications/bluetooth-core-specification/ https://www.circuito.io https://www.citisystems.com.br/sensor-de-cor/ https://www.citisystems.com.br/sensor-de-cor/ https://cluberobotica.wordpress.com/2017/11/12/tcs3200/ https://cluberobotica.wordpress.com/2017/11/12/tcs3200/ https://components101.com/motors/toy-dc-motor https://components101.com/motors/toy-dc-motor http://www.cplusplus.com/info/description/ http://www.cplusplus.com/info/description/ Referências 58 CSIS. socket API. 2019. Disponível em: <http://csis.pace.edu/˜marchese/CS865/Lectures- /Liu4/sockets>. Acesso em: 21 de Maio. 38 DATAFOLHA. Principais problemas do país segundo os eleitores. 2018. Disponível em: <https://g1.globo.com/politica/eleicoes/2018/eleicao-em-numeros/noticia/2018/09- /11/saude-e-violencia-sao-os-principais-problemas-para-os-eleitores-brasileiros-segundo- datafolha.ghtml>. Acesso em: 22 de Maio. 14 DOMINGOSDEAZEVEDO. Linguagem de programação. 2019. Disponível em: <http://www.domingosdeazevedo.com/cam/ling5>. Acesso em: 30 de Maio. 32 EDITORA BRASIL. Portal da educação Infantil. 2019. Disponível em: <http://www- .editoradobrasil.com.br/educacaoinfantil>. Acesso em: 21 out. EMBARCADOS. Introdução aos sistemas embarcados e microcontroladores. 2019. Disponível em: <https://www.embarcados.com.br/sistemas-embarcados-e- microcontroladores/>. Acesso em: 25 de Maio. 32, 33, 34, 36 ESPRESSIF SYSTEMS. Espressif Systems - Wifi and bluetooth. 2019. Disponível em: <https://www.espressif.com/>. Acesso em: 25 de Maio. 33 EXAME. Brinquedos ensinam programação. 2019. Disponível em: <https://exame- .abril.com.br/tecnologia/brinquedos-ensinam-programacao/>. Acesso em: 2 de junho. 24 FILIPEFLOP. Controle de motor dc. 2019. Disponível em: <https://www.filipeflop- .com/blog/controle-motor-dc-pwm-arduino-uno/>. Acesso em: 30 de Maio. 36, 37 FORNAZA, C. G. W. e. V. V.-B. R. SCIENTIA CUM INDUSTRIA (SCI. CUM IND.). 3. ed. [S.l.: s.n.], 2015. 17 GONCALVES, P. C. Protótipo de um robô móvel de baixo custo para uso edu-cacional. Dissertação (Mestrado) — Universidade Estadual de Maringá, Maringá - Paraná, 2007. 13 GOOGLE. Project blocks research. 2019. Disponível em: <https://projectbloks.withgoogle- .com/>. Acesso em: 24 de Junho. GUSTAVO, B. E. Apostila Microcontroladores 8051. 1. ed. [S.l.]: Departamento Acadêmico de Eletrônica. UTFPR, 2007. 32 IEEE. IEEE STANDARDS ASSOCIATION. 2019. Disponível em: <https:/standards.ieee- .org/standard/802 15 1-2002.html>. Acesso em: 3 de junho. 38 JACOB, M. S. H. . R. J. Designing tangible programming languages for classroom use. Tufts University Department of Computer Science, 2006. JR., E. B. G. Almir de O. C. Uma anáise comparativa de kits para a robótica educacional. Escola Superior de Tecnologia Universidade do Estado do Amazonas, 2015. 17 KUROSE, J. F. K. W. R. Rede de computadores e a Internet: uma nova abordagem. 1. ed. São Paulo: Wagner Luiz Zucchi, 2003. 37 http://csis.pace.edu/~marchese/CS865/Lectures/Liu4/sockets http://csis.pace.edu/~marchese/CS865/Lectures/Liu4/sockets https://g1.globo.com/politica/eleicoes/2018/eleicao-em-numeros/noticia/2018/09/11/saude-e-violencia-sao-os-principais-problemas-para-os-eleitores-brasileiros-segundo-datafolha.ghtml https://g1.globo.com/politica/eleicoes/2018/eleicao-em-numeros/noticia/2018/09/11/saude-e-violencia-sao-os-principais-problemas-para-os-eleitores-brasileiros-segundo-datafolha.ghtml https://g1.globo.com/politica/eleicoes/2018/eleicao-em-numeros/noticia/2018/09/11/saude-e-violencia-sao-os-principais-problemas-para-os-eleitores-brasileiros-segundo-datafolha.ghtml http://www.domingosdeazevedo.com/cam/ling5 http://www.editoradobrasil.com.br/educacaoinfantil http://www.editoradobrasil.com.br/educacaoinfantil https://www.embarcados.com.br/sistemas-embarcados-e-microcontroladores/ https://www.embarcados.com.br/sistemas-embarcados-e-microcontroladores/ https://www.espressif.com/ https://exame.abril.com.br/tecnologia/brinquedos-ensinam-programacao/ https://exame.abril.com.br/tecnologia/brinquedos-ensinam-programacao/ https://www.filipeflop.com/blog/controle-motor-dc-pwm-arduino-uno/ https://www.filipeflop.com/blog/controle-motor-dc-pwm-arduino-uno/ https://projectbloks.withgoogle.com/ https://projectbloks.withgoogle.com/ https:/standards.ieee.org/standard/802_15_1-2002.html https:/standards.ieee.org/standard/802_15_1-2002.html Referências 59 LEGO. ev3 programmer app. 2019. Disponível em: <https://www.lego.com/en-us- /mindstorms/apps/ev3-programmer-app>. Acesso em: 30 de Maio. 18 LEGO. Learning Lego Mindstorms. 2019. Disponível em: <https://www.lego.com/pt-br- /mindstorms/learn-to-program>. Acesso em: 15 de Maio. 19, 20 LEGO. Learning Mindstorms. 2019. Disponível em: <https://www.lego.com/en- us/mindstorms/?domainredir=mindstorms.lego.com>. Acesso em: 15 de Maio. 18 MACHINEDESIGN. Difference between pneumatic and eletrical actuators. 2019. Disponível em: <https://www.machinedesign.com/linear-motion/what-s-difference- between-pneumatic-hydraulic-and-electrical-actuators>. Acesso em: 30 de Maio. 35 MATHIAS, O. H. M. da S. . L. C. Possíveis aplicações do arduino em equipamentos interativos de ambientes planejados à educação não formal: uma proposta equivalente nas escolas. CINTED - UFRGS - Rio Grande do Sul, 2015. 32 MBOT. Robot kits for kids. 2019. Disponível em: <https://www.makeblock.com/steam- kits/mbot>. Acesso em: 19 de Maio. 22, 23 MCNERNEY, T. S. Tangible Programming Bricks: An approach to making programming accessible to everyone. Dissertação (Mestrado) — Massachusetts Institute of Technology - MIT, 2000. MECCANO. Erector by meccano. 2019. Disponível em: <http://www.meccano.com/>. Acesso em: 22 de Maio. 21, 22 MODELIX. Kit de robótica para ensino. 2019. Disponível em: <https://www.modelix- .com.br/kit-robotica-ensino-fundamental-1-a>. Acesso em: 15 de Maio. 22, 23, 24 MODELIX. Software de programação. 2019. Disponível em: <https://www.modelix.com- .br/software-de-programacao-robotica>. Acesso em: 15 de Maio. 23 MORAES, A. F. de. Redes sem Fio. Instalação, Configuração e Segurança. Fundamentos. 1. ed. São Paulo: Editora Érica, 2010. 39 OLIVEIRA, R. R. USO DO MICROCONTROLADOR ESP8266 PARA AUTOMAÇÃO. Tese (PhD dissertation) — Universidade Federal do Rio de Janeiro, 2017. 33 OPENGROUP. posix faq. 2019. Disponível em: <http://www.opengroup.org/austin- /papers/posix faq.html>. Acesso em: 21 de Maio. 38 PAPERT, S. Logo: Computadores e Educação. 1. ed. [S.l.]: Editora Brasiliense, SP, 1985. 13 PAPERT, S. A Máquina das Crianças: repensando a escola na era da informática. 1. ed. [S.l.]: Artes Médicas. Porto Alegre., 1994. 13 PATROCÍNIO, E. L. J. L. E. N. do. Modelagemem cad tridimensional paramÉtrico. Revista eletrônica de tecnologia e cultura 13a edição, Outubro, 2013. 28 https://www.lego.com/en-us/mindstorms/apps/ev3-programmer-app https://www.lego.com/en-us/mindstorms/apps/ev3-programmer-app https://www.lego.com/pt-br/mindstorms/learn-to-program https://www.lego.com/pt-br/mindstorms/learn-to-program https://www.lego.com/en-us/mindstorms/?domainredir=mindstorms.lego.com https://www.lego.com/en-us/mindstorms/?domainredir=mindstorms.lego.com https://www.machinedesign.com/linear-motion/what-s-difference-between-pneumatic-hydraulic-and-electrical-actuators https://www.machinedesign.com/linear-motion/what-s-difference-between-pneumatic-hydraulic-and-electrical-actuators https://www.makeblock.com/steam-kits/mbot https://www.makeblock.com/steam-kits/mbot http://www.meccano.com/ https://www.modelix.com.br/kit-robotica-ensino-fundamental-1-a https://www.modelix.com.br/kit-robotica-ensino-fundamental-1-a https://www.modelix.com.br/software-de-programacao-robotica https://www.modelix.com.br/software-de-programacao-robotica http://www.opengroup.org/austin/papers/posix_faq.html http://www.opengroup.org/austin/papers/posix_faq.html Referências 60 PEGORARO, T. M. M. M. B. S. R. Blok - sistema robótico educacional utilizando programação em blocos. FLBrazil, Outubro, 2016. PRIMO TOYS. Primo Toys. 2019. Disponível em: <https://www.primotoys.com/>. Acesso em: 2 de junho. 24, 25 PYTHON. python programming. 2019. Disponível em: <https://www.python.org/>. Acesso em: 25 de Maio. 17 SHAPLA ADRIANO; KEMPKA, A. N. F. L. P. R. M. G. Fresadora. Universidade Regional Integrada do Alto Uruguai e das Missões, Erechim, 2010. 31 SILVA EDIPO SABIãO SANCHES, I. S. S. K. Robotica educacional na educação superior. Faculdade de Ciencias Exatas e Tecnologia (FACET) Universidade Federal da Grande Dourados (UFGD) Dourados – MS – Brasil, 2015. 17 SILVA F. I. E SCHERER, D. da. Praxedes: Protótipo de um kit educacional de robótica baseado na plataforma arduino. Revista EAD e Tecnologias Digitais na Educacação, 2013. 17 SOLARBOT. solar robot product. 2019. Disponível em: <https://www.velleman.eu- /products/view/?id=438578>. Acesso em: 30 de Maio. 26 SPARKFUN. Bluetooth basics. 2019. Disponível em: <https://learn.sparkfun.com- /tutorials/bluetooth-basics>. Acesso em: 2 de Junho. 39 STEAM. Metodologias que precisa conhecer. 2019. Disponível em: <https://www- .positivoteceduc.com.br/blog-inovacao-e-tendencias/steam-metodologia-que-precisa- conhecer/>. Acesso em: 25 de Maio. 22 TECMUNDO. como funciona uma impressora 3D. 2019. Disponível em: <https://www- .tecmundo.com.br/impressora-3d/38826-como-funciona-uma-impressora-3d-ilustracao-- .html>. Acesso em: 25 de Maio. 29 UNICAMP. Modelo Cliente/Servidor e Introdução a Sockets. 2019. Disponível em: <http://www.ic.unicamp.br/˜juliana/cursos/mc833/aula4.pdf>. Acesso em: 2 de Junho. 38 VANDERTRONIC. microcontroladores. 2019. Disponível em: <http://www.vandertronic- .com/index.php/microcontroladores/>. Acesso em: 30 de Maio. 32 VAUGHAN, W. Digital Modeling. 1. ed. [S.l.]: New Riders, 2012. 28 VOID3D. void3d index. 2019. Disponível em: <https://www.void3d.com.br/>. Acesso em: 21 de Maio. 41 WSKITS. Kit robô educativo. 2019. Disponível em: <https://www.wskits.com.br/kit-robo- educativo>. Acesso em: 26 de Maio. 17 ZILLI, S. A Robótica Educacional no ensino fundamental: Perspectivas e prática. Dissertação (Mestrado) — Universidade Federal de Santa Catarina - UFSC, Florianópolis - SC, 2004. 13, 14 https://www.primotoys.com/ https://www.python.org/ https://www.velleman.eu/products/view/?id=438578 https://www.velleman.eu/products/view/?id=438578 https://learn.sparkfun.com/tutorials/bluetooth-basics https://learn.sparkfun.com/tutorials/bluetooth-basics https://www.positivoteceduc.com.br/blog-inovacao-e-tendencias/steam-metodologia-que-precisa-conhecer/ https://www.positivoteceduc.com.br/blog-inovacao-e-tendencias/steam-metodologia-que-precisa-conhecer/ https://www.positivoteceduc.com.br/blog-inovacao-e-tendencias/steam-metodologia-que-precisa-conhecer/ https://www.tecmundo.com.br/impressora-3d/38826-como-funciona-uma-impressora-3d-ilustracao-.html https://www.tecmundo.com.br/impressora-3d/38826-como-funciona-uma-impressora-3d-ilustracao-.html https://www.tecmundo.com.br/impressora-3d/38826-como-funciona-uma-impressora-3d-ilustracao-.html http://www.ic.unicamp.br/~juliana/cursos/mc833/aula4.pdf http://www.vandertronic.com/index.php/microcontroladores/ http://www.vandertronic.com/index.php/microcontroladores/ https://www.void3d.com.br/ https://www.wskits.com.br/kit-robo-educativo https://www.wskits.com.br/kit-robo-educativo 61 A APÊNDICE A.1 Código robô #inc lude <ESP8266WiFi . h> #inc lude <WiFitcp . h> const char ∗ s s i d = " c i r c u i t s 4 y ou " ; const char ∗pass = " password " ; unsigned i n t l o c a lPo r t = 2000 ; // l o c a l port to l i s t e n f o r tcp packets IPAddress ServerIP (192 , 168 , 4 , 1 ) ; IPAddress Cl i ent IP (192 , 168 , 4 , 2 ) ; // A tcp in s t ance to l e t us send and r e c e i v e packets over tcp WiFitcp tcp ; char packetBuf f e r [ 9 ] ; //Where we get the tcp data St r ing Z ; char b [ 5 ] ; // Set Motor Control Pins i n t r ightMotor2 = 13 ; // D7 − r i g h t Motor − i n t r ightMotor1 = 15 ; // D8 − r i g h t Motor + in t l e f tMotor2 = 0 ; // D3 − l e f t Motor − i n t l e f tMotor1 = 4 ; // D2 − l e f t Motor + in t eneLeftMotor = 12 ; // D6 − enable Mortor Le f t i n t eneRightMotor = 14 ; // D5 − enable Mortor Right i n t ledConnect = 16 ; // D0 − Led ind i cado r conectado //====================================================================== // F u n e s //====================================================================== /∗ command motor forward ∗/ void l e f tMotor ( ) // esquerda Apêndice A. Apêndice 62 { d i g i t a lWr i t e ( eneLeftMotor , HIGH) ; d i g i t a lWr i t e ( eneRightMotor , HIGH) ; d i g i t a lWr i t e ( le f tMotor1 , HIGH) ; d i g i t a lWr i t e ( le f tMotor2 , LOW) ; d i g i t a lWr i t e ( rightMotor1 , HIGH) ; d i g i t a lWr i t e ( rightMotor2 , LOW) ; } /∗ command motor backward ∗/ void r ightMotor ( ) // d i r e i t a { d i g i t a lWr i t e ( eneLeftMotor , HIGH) ; d i g i t a lWr i t e ( eneRightMotor , HIGH) ; d i g i t a lWr i t e ( le f tMotor1 , LOW) ; d i g i t a lWr i t e ( le f tMotor2 , HIGH) ; d i g i t a lWr i t e ( rightMotor1 , LOW) ; d i g i t a lWr i t e ( rightMotor2 , HIGH) ; } /∗ command motor turn l e f t ∗/ void forwardMotor ( ) { d i g i t a lWr i t e ( eneLeftMotor , HIGH) ; d i g i t a lWr i t e ( eneRightMotor , HIGH) ; d i g i t a lWr i t e ( le f tMotor1 , LOW) ; d i g i t a lWr i t e ( le f tMotor2 , HIGH) ; d i g i t a lWr i t e ( rightMotor1 , HIGH) ; d i g i t a lWr i t e ( rightMotor2 , LOW) ; } /∗ command motor turn r i g h t ∗/ void reverseMotor ( ) { d i g i t a lWr i t e ( eneLeftMotor , HIGH) ; d i g i t a lWr i t e ( eneRightMotor , HIGH) ; Apêndice A. Apêndice 63 d i g i t a lWr i t e ( le f tMotor1 , HIGH) ; d i g i t a lWr i t e ( le f tMotor2 , LOW) ; d i g i t a lWr i t e ( rightMotor1 , LOW) ; d i g i t a lWr i t e ( rightMotor2 , HIGH) ; } /∗ command motor stop ∗/ void stopMotor ( ) { d i g i t a lWr i t e ( eneLeftMotor , LOW) ; d i g i t a lWr i t e ( eneRightMotor , LOW) ; d i g i t a lWr i t e ( le f tMotor1 , LOW) ; d i g i t a lWr i t e ( le f tMotor2 , LOW) ; d i g i t a lWr i t e ( rightMotor1 , LOW) ; d i g i t a lWr i t e ( rightMotor2 , LOW) ; de lay ( 1 0 0 ) ; } //====================================================================== // Setup //====================================================================== void setup ( ) { S e r i a l . begin ( 9600 ) ; S e r i a l . p r i n t l n ( ) ; pinMode ( rightMotor2 , OUTPUT) ; pinMode ( rightMotor1 , OUTPUT) ; pinMode ( le f tMotor2 , OUTPUT) ; pinMode ( le f tMotor1 , OUTPUT) ; pinMode ( eneLeftMotor , OUTPUT) ; pinMode ( eneRightMotor , OUTPUT) ; pinMode ( ledConnect , OUTPUT) ; WiFi . begin ( s s id , pass ) ; //Connect
Compartilhar