Neste post vamos mostrar como você pode controlar uma placa Arduino usando Node-RED, programa que já abordamos anteriormente aqui no blog, no post Tutorial Node-RED com Raspberry Pi.

No tutorial, nós usamos uma Raspberry Pi 4 para fazer a instalação do Node-RED no Linux/Raspbian, e vamos aproveitar essa instalação agora para controlar uma placa Arduino UNO conectada na porta USB da Raspberry Pi.

Você também pode usar uma instalação do Node-RED rodando por exemplo em plataforma Windows. Os procedimentos são os mesmos.

Preparando o Arduino

Antes de configurarmos o Node-RED, vamos carregar no Arduino o Firmata, um protocolo de comunicação que permite que você envie e receba dados do microcontrolador por meio de softwares específicos. Além do Node-RED que vamos usar, um outro bem conhecido é o Processing.

O Firmata está disponível na IDE do Arduino, em Arquivo -> Exemplos -> Firmata:

IDE Arduino - StandardFirmata

Selecione o StandardFirmata e carregue normalmente para a placa Arduino.

Configurando o Node-RED para Arduino

Com o Node-RED já instalado e funcionando, vamos acessar seu editor usando um browser (Firefox, Chrome, etc) digitando na barra de endereços o IP da máquina onde o Node-RED está instalado, seguido da porta 1880.

No nosso caso, temos: 192.168.15.5:1880

Aguarde o carregamento da tela principal do editor do Node-RED:

Tela principal do Node-RED

Agora vamos configurar os nós de entrada e saída do Arduino. Para isso, precisamos primeiro instalar os nós, selecionando o menu no canto superior direito e em seguida Manage Palette:

Adicionando nós Arduino

Em seguida, selecione a aba Install e procure por Arduino na caixa de seleção. Instale o módulo node-red-node-arduino:

Instalando node-red-node-arduino

Após a instalação, você verá no lado esquerdo do editor os nós correspondentes ao Arduino:

Editor - Nós Arduino

Agora vamos criar a aplicação que vai acionar as portas do Arduino.

Acionando portas do Arduino usando Node-RED

No editor do node RED, escolha um nó do tipo inject e arraste para a parte central do editor:

Incluindo nós do tipo inject no Node-RED

Perceba que o nó muda de formato assim que arrastamos para a parte central.

Agora clique duas vezes sobre o nó que você acabou de criar. São várias opções de configuração, mas vamos alterar apenas o msg.payload, selecionando Boolean e o valor True. Altere também o nome do nó para Ligar Led. Clique em Done para gravar:

Inject Ligar Led

Use o mesmo procedimento para criar um segundo nó do tipo Inject, selecionando desse vez o valor FALSE e o nome para Desligar Led:

Inject Desligar Led

Agora selecione um nó do tipo Arduino Out e coloque-o ao lado dos nós que você acabou de criar:

Selecionando nó Arduino no Node-RED

Nesse nó vamos configurar a porta onde o Arduino está conectado (na Raspberry Pi), e também qual será o pino de saída.

Selecione a porta onde o Arduino está conectado (no nosso caso, em /dev/ttyACM0), defina que a porta será digital (aceita valores 0 ou 1, ou seja, HIGH ou LOW), que a porta é a 13 e o nome do nó é Led Onboard:

Configurando nó Arduino

Agora o que precisamos fazer é simplesmente ligar os nós inject (nós de entrada) que criamos anteriormente, no nosso nó de saída que é o Arduino:

Conectando nós de entrada e saída

Pronto. O que fizemos foi conectar os “botões” que vão ligar ou desligar (enviando os valores True (1) ou False (0)) a porta 13 do Arduino, configurada no nó de saída.

Para controlar o Arduino, clique em Deploy no canto superior direito, depois acione os nós de entrada conforme a imagem abaixo:

Teste de comunicação

O Node-RED vai fazer a conexão com o Arduino, e ao clicar nos botões você acende ou apaga o led onboard da placa.

Gostou? Confira outros posts usando Arduino aqui mesmo no Arduino e Cia!

5/5 - (1 vote)