A plataforma arduino auxilia muitos entusiastas a entrar no mundo da eletrônica e programação. Essa plataforma possibilita a criação de diversos projetos e aplicações de forma fácil e rápida. Porém, para algumas pessoas, como por exemplo crianças ou alguém que não é da área de exatas, a criação e digitação de um código em uma linguagem de programação, torna-se uma tarefa desgastante. Pensando nisso, David Li e He Qichen criaram uma plataforma gráfica parecida com o Scratch, onde é possível criar programas para arduino através da montagem de blocos já definidos, não necessitando de digitar estruturas de códigos na linguagem Arduino.
Instalação
A plataforma Ardublock é uma aplicação desenvolvida em java que roda dentro da IDE do Arduino e pode ser baixada no site do desenvolvedor. Para instalar, deve-se primeiro encontrar a pasta tools dentro da pasta Arduino. Dentro desta pasta, deve-se criar uma pasta com o nome ArduBlockTool e dentro desta uma outra chamada tool . Após a criação desta pastas, é só copiar arquivo para dentro da pasta tool. Os diretórios deverão ficar conforme exibido na figura abaixo:
Usando o Ardublock
Para iniciar o ArduBlock basta acessar dentro da IDE do Arduino o menu Tools -> ArduBlock conforme exibido abaixo:
A janela a seguir será aberta e o Ardublock está pronto para que você inicie seu projeto:
Criando seu primeiro projeto no ArduBlock
A plataforma ArduBlock é bem simples de ser utilizada, basta clicar e arrastar o bloco desejado para dentro da área maior desta interface. Existem diversos blocos e são divididos em categorias no lado esquerdo da janela.
A seguir é exibido um video passo a passo para criar um programa para piscar um led, conforme o exemplo Blink que acompanha a IDE do arduino:
Pode-se observar no vídeo a facilidade para criar um programa para o Arduino, basta clicar no bloco desejado arrastar para dentro da área maior da janela e ir montando como um quebra cabeça. Em blocos onde se é permitido a configuração, basta clicar com o botão direito do mouse no valor a se ajustado e escolher a opção desejada.
Existem diversos blocos para escolha, alguns são customizados para algumas plataformas de mercado como o kit para ArduBlock da DFRobot.Os blocos não se limitam apenas à interface digital ou analógica, existem blocos para comunicação I2C e algumas outras funções comuns na linguagem arduino.
Quando pressionado o botão upload, os blocos são traduzidos para a linguagem Arduino e depois compilado. Após a compilação, é feito o upload para a placa.
Conclusões
O ArduBlock possibilita a programação da plataforma Arduino de uma maneira simples através de blocos. É uma plataforma open source e funciona integrada com a IDE original. Não é uma plataforma para desenvolvimento de projetos muito complexos, é interessante para iniciantes que nunca tiveram um contato com uma linguagem de programação, inclusive crianças. Estou planejando utilizar essa interface para ensinar crianças a terem seus primeiros contatos com lógica de programação e arduino. E você o que achou dessa plataforma?
TODA VEZ QUE ENVIO ALGO DO ARDUBLOCK PARA O ARDUINO RECEBO ESSA MENSAGEM DE ERRO. ALGUÉM CONSEGUE ME AJUDAR POR FAVOR. Exception in thread “AWT-EventQueue-0” java.lang.NoSuchMethodError: processing.app.Editor.setText(Ljava/lang/String;)V at com.ardublock.ArduBlockTool.didGenerate(ArduBlockTool.java:45) at com.ardublock.core.Context.didGenerate(Context.java:173) at com.ardublock.ui.listener.GenerateCodeButtonListener.actionPerformed(GenerateCodeButtonListener.java:122) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6539) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at… Leia mais »
Instale uma versão mais antiga do Arduino. Tente a 1.6.8
Parece ser uma ótima interface para as crianças terem o primeiro contato.
Realmente Bruno é uma ótima interface para o primeiro contato com programação, assim como o Scratch ( http://scratch.mit.edu/). Abraços
em java? :SSS
Isso mesmo Lucas, a interface Ardublock foi desenvolvida em java. Confira os arquivos do projeto em: http://sourceforge.net/projects/ardublock/.
Abraços
Olá, existe algum conversor que converte de forma inversa, exemplo, de sketch para ardulocks? Grato
[…] Arduino – ArduBlock […]
[…] Arduino – ArduBlock […]
[…] Arduino – ArduBlock […]
[…] Para ler outro artigo que aborda a comunicação serial clique aqui para ler o artigo de Fábio Souza, e caso queira saber mais sobre programação no arduino clique aqui. […]
[…] Arduino – ArduBlock […]
[…] Arduino – ArduBlock […]