Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): Roberto Luiz Debarba
Título: Plataforma de programação visual para ESP8266
 
Conclusão:
Através do desenvolvimento deste trabalho, permitiu-se verificar a eficiência da plataforma criada para facilitar
o ensino de lógica de programação em sala de aula, aumentando também, através da robótica educacional, o interesse
dos alunos pelo tema. Os resultados obtidos através da metodologia avaliativa aplicada mostram que os entrevistados
apontaram a plataforma como uma boa ferramenta para aprender lógica, na maior parte concordando totalmente que o
uso do robô aumenta o interesse pela aprendizagem. O percentual de respostas muito positivas sobre a visualização do
resultado através de um robô foi ligeiramente maior que a obtido com a fermenta Scratch, solução referência em ensino
de programação através de uma linguagem visual baseada em blocos no mercado, que usa animações para apresentar o
resultado do programa. Desta maneira, o objetivo foi atendido.
O uso de uma linguagem de programação visual baseada em blocos é outro objetivo atendido. Os resultados
comprovam que na amostra de usuários entrevistados a maioria concorda sobre o uso da linguagem criada como
ferramenta de programação da plataforma. Em comparação ao Scratch, a plataforma apresentou uma linguagem mais
fácil de usar devido, principalmente, à menor quantidade de blocos disponíveis.
O objetivo de realizar a execução dos programas criados na plataforma através do hardware Espressif Esp8266
foi atendido. Como o uso do microcontrolador é parte central da construção do robô, os resultados que mostram sucesso
na execução dos programas também indicam o sucesso no uso do componente eletrônico. Apesar da falha ao enviar os
programas via internet em alguns cenários durante a aplicação dos testes, quando gravados via cabo serial a execução
ocorreu conforme esperado em metade dos testes. O atingimento de um resultado abaixo de 100% mostra que a rotina
de geração do código ou a construção do robô ainda possui erros. Um problema identificado durante o desenvolvimento
do hardware foi a falta de entradas/saídas de uso genérico no NodeMCU, módulo de desenvolvimento usado contendo o
microcontrolador. O projeto inicial possuía também um sensor de toque, que serviria como mais um bloco condicional
permitindo, por exemplo, criar programas onde são feitas ações ao tocar na cabeça do robô. Mesmo sem o uso do
sensor, uma entrada/saída genérica continuou faltando. A solução foi usar a saída RX, porém quando um programa é
gravado via serial, é necessário desconectar esse pino, caso contrário a conexão não é estabelecida.
O último objetivo apresentado, referente à garantia de execução dos programas de forma direta, sem a
necessidade de o usuário interagir com programas terceiros, não foi atendido totalmente. Durante a aplicação dos testes,
não foi possível atualizar o robô via internet, solução escolhida para tratar o objetivo, sendo necessário copiar o código
disponibilizado pelo frontend e realizar a compilação e gravação do firmware manualmente. A falha na atualização é
resultado da presença de erros na rotina presente do robô, que muitas vezes não consegue realizar uma conexão válida
com o servidor, tanto para obter a versão quando para obter o firmware, ou na execução da biblioteca OTA. Como
sugestão de melhoria, buscando maior estabilidade no processo, poderia ser realizada a substituição da verificação de
versão via requisição HTTP pela inscrição em um tópico através do protocolo Message Queue Telemetry Transport
(MQTT), reduzindo o tempo gasto pela rotina, possibilitando executá-la com mais frequência, sendo hoje invocada
apenas uma vez a cada iteração do programa. A linguagem de programação visual baseada em blocos definida neste trabalho, apesar de ter obtido bons
resultados durante a sua validação, ainda pode ser melhorada. A principal necessidade desta parte da plataforma é o
aumento na quantidade de blocos disponíveis, adicionando novas ações ao robô, como mais movimentos e outros usos
para os sensores existentes, além da adição de rotinas de programação, como o uso de variáveis e procedimentos.
A adição da possibilidade de gravação dos programas no robô via cabo USB, sem a necessidade de interação do
usuário com ferramentas de terceiros, apenas com o acionamento de um botão, também se mostra útil. Além da
estabilidade que a conexão com a internet e suas rotinas dependentes pode apresentar, conforme visualizado nos
resultados, alguns locais de interesse para a aplicação da plataforma podem não conter acesso à internet, impedindo seu
uso. A adição de cabos seria uma solução de complexidade menor do que a apresentada neste trabalho e atenderia a
necessidade dos locais com problemas de conexão.
Outra possibilidade de extensão é o desenvolvimento do frontend, com a linguagem de programação visual
baseada em blocos, como aplicativo para dispositivos móveis. Com a popularidade dos smartphones essa nova interface
expandiria o número de usuários com recursos deficientes para usar a plataforma. A conexão para gravação do
programa por internet também pode ser substituída por uma conexão bluetooth.
Além da plataforma elaborada, o presente trabalho mostrou-se relevante por apresentar o projeto Otto DIY,
pouco tratado por outros autores, com seu funcionamento e aplicações, junto à substituição do seu microcontrolador
pelo Esp8266, entregando uma alternativa de custo e funcionalidades ao projeto.