Programando remotamente um Arduino com block.ino

block-ino-destaque

Criado para promover o ensino de lógica de programação nas escolas, o block.ino é uma ferramenta educacional que auxilia professores e alunos no processo de ensino aprendizagem utilizando Arduino. Além de ser útil para a aprendizagem de conceitos de lógica de programação e robótica por si só, o aplicativo também pode ser um aliado a outras disciplinas, como física e matemática. O block.ino permite que o usuário programe e teste seus códigos em um Arduino real através da Internet, tudo isso programando um Arduino por linguagem visual.

 

Neste artigo será mostrado como utilizar o block.ino, desde onde encontrar o aplicativo até o processo de execução e teste de programas no Arduino. Para mais informações, confira o artigo que apresenta as motivações do desenvolvimento do aplicativo no Embarcados Innovation e também uma matéria aqui no Embarcados, detalhando como o aplicativo e o serviço que dá suporte à experimentação foram desenvolvidos.

 

 

Começando a usar o block.ino

 

O aplicativo encontra-se em duas versões: uma para Android, disponível para download na Google Play; e ainda uma versão Web. A interface do block.ino pode parecer até complexa em um primeiro momento, mas este post irá explicar como utilizar todas as funções do aplicativo.

  

Arduino com block.ino: Interface do aplicativo block.ino
Figura 1 - Interface do aplicativo block.ino

 

 

Blocos

 

Os blocos são peças em forma de quebra-cabeça que são usados para criar o código no block.ino, eles estão divididos em tipos e categorias, e cada um destes representa um trecho de código. Os blocos conectam-se uns aos outros conforme o seu tipo e juntos formam um conjunto de instruções, de modo que cada bloco tenha sua própria forma e um conector de forma especial para que possa ser inserido - isso evita erros de sintaxe.

 

Blocos do block.ino e suas funções
Figura 2 - Blocos e suas funções

 

Então, para construir um programa, você deve arrastar blocos para o painel do editor de código criando um conjunto de instruções que serão executadas no laboratório de Arduino, mas isso detalharemos melhor a seguir.

 

 

Editor de código

 

O espaço destinado à construção do script, é nele onde ficam as instruções. Ele é formado pela área de trabalho, botões, lixeira e blocos.

 

Editor de código do block.ino
Figura 3 - Editor de código

 

 

Categorias

 

Os blocos estão separados em 12 categorias, algumas básicas da maioria das linguagens de programação e outras específicas para a programação no  Arduino. É nestas categorias onde encontram-se os blocos destinados a cada função.

 

Menu de categorias do block.ino
Figura 4 - Menu de categorias

 

 

Código fonte

 

Os blocos que encontram-se montados no editor de código são automaticamente traduzidos para código fonte na linguagem do Arduino. O código traduzido aparece na aba “Código Fonte” sempre estruturado a partir das duas funções básicas, setup() e loop().

 

Guia de Código Fonte do block.ino
Figura 5 - Guia de Código Fonte

 

 

Diagrama do circuito

 

Na aba “Diagrama do Circuito” há uma figura do circuito preestabelecido onde estão identificados pinos e componentes eletrônicos montados em uma protoboard. O usuário ainda pode usar a função zoom para ampliar a imagem, simplesmente arrastando o dedo por cima da imagem.

 

 Guia de Diagrama do circuito com zoom
Figura 6 - Guia de Diagrama do circuito com zoom

 

 

Menu

 

No canto superior à esquerda encontra-se um menu com as seguintes funções:

  • Tradução com três opções de línguas (português, inglês e espanhol);
  • Arquivos com as opções de salvar e abrir arquivos .ino e .xml contendo os blocos localmente;
  • Exemplos de códigos para usar display LCD, servomotor, sensor hall, LED, etc.;
  • Limpar área de trabalho para que os blocos sejam excluídos do editor de código;
  • Acesso guiado por dentro da aplicação mostrando onde encontrar cada função;
  • Docs que levam a uma página web que descreve melhor como usar o app.

Menu de funcionalidades do block.ino
Figura 7 - Menu de funcionalidades

 

 

Compilação e envio

 

Acima da área de trabalho há três botões que, da esquerda para direita, são usados para maximizar o espaço do editor, fazer o upload do código para o Arduino e verificar código.

 

 Botões de execução do block.ino
Figura 8 - Botões de execução

 

 

Saída da IDE

 

Abaixo do editor há a saída da IDE do Arduino, onde o retorno da compilação e do envio do código são apresentados, auxiliando o usuário a encontrar erros durante o processo de desenvolvimento.

 

Mensagens de output no block.ino
Figura 9 - Mensagens de output

 

 

Streaming de vídeo

 

O streaming de vídeo é aberto no momento que o usuário faz o upload do código para a placa Arduino, ele mostra o que está acontecendo no momento. Inclusive, há data e horário no canto inferior da imagem, mostrando que as imagens são enviadas simultaneamente enquanto ocorre a execução do programa. No canto inferior também há um botão para reiniciar a placa, assim o Arduino irá executar o último código desde o início. É possível ver mais detalhes clicando em cima da imagem para ampliá-la.

 

Guia de Streaming em tempo real usando block.ino
Figura 10 - Guia de Streaming em tempo real

 

 

Terminal Serial

 

O terminal serial é um meio de comunicação direta com o Arduino. Ele é ideal para o desenvolvimento, depuração, registro e captura de dados. Para enviar um dado, basta configurar a taxa de transmissão de dados (baudrate), escrever na caixa “Comandos” e pressionar “Enter”. Para habilitar ou desabilitar o caractere de quebra de linha, deve-se utilizar a caixa “Fim da linha”. Por padrão, o terminal está configurado para usar a taxa de dados de 9600 baud e adicionar o caractere de quebra de linha. Para limpar o log do terminal serial clique no botão no canto inferior à direita. O exemplo de uso desta função encontra-se disponível nos Docs do block.ino.

 

Guia de Terminal Serial usando block.ino
Figura 11 - Guia de Terminal Serial

 

 

Conhecendo a funcionalidade de cada bloco

 

O block.ino ainda possui uma seção de Docs em seu site, onde é possível entender melhor a funcionalidade de cada bloco, sendo possível encontrar explicações sobre tipos de dados, uso de servo motor, sensor de umidade e temperatura, entre outros.

 

Mas vejamos um exemplo simples de como calcular a conversão de escalas termométricas de Graus Celsius para Kelvin, imprimindo o resultado da conversão no visor LCD.

 

Exemplo de conversão de escalas termométricas
Figura 12 - Exemplo de conversão de escalas termométricas

          

Criado para ser uma ferramenta de auxílio no processo de ensino-aprendizagem, o block.ino pretende reprimir os problemas da educação no Brasil. Gratuito, multi-idioma e multiplataforma, o aplicativo visa atender o maior número de usuários possível, levando educação de qualidade para todos através do compartilhamento de recursos via internet, fazendo com que usuários aprendam a programar para Arduino usando um Arduino real, mas sem precisarem adquirir sua própria placa.

 

 

Referências

 

Site: http://blockino.ufsc.br/

Fan Page: http://fb.com/block.ino/

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Lucas Mellos Carlos
Estudante de graduação em Tecnologias da Informação e Comunicação, bolsista de iniciação científica do CNPq no Laboratório de Experimentação Remota (RExLab), ambos na Universidade Federal de Santa Catarina. Tem interesse e atua no desenvolvimento de pesquisas educacionais ligadas a experimentação remota e integração de tecnologia nas áreas STEM (Science, Technology, Engineer and Mathematics).

1
Deixe um comentário

avatar
 
1 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Alessandro Silvestre Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Alessandro Silvestre
Visitante
Alessandro Silvestre

Os WebNinar até são bacana, mas vcs colocam em um horario osso de assitir. Esta hora o povo esta trabalhando....