Ir para conteúdo
Faça parte da equipe! (2024) ×

USANDO O NODE-RED PARA LER PORTAS DO ARDUINO


opandaG
 Compartilhar

Posts Recomendados

 

INTERNA.png

 

 

 

O objetivo deste artigo consiste em continuar apresentando a elaboração de aplicações do Node-RED em conjunto com um Arduino UNO. Entretanto, espera-se que após a leitura deste conteúdo, o leitor esteja apto a realizar procedimentos de aquisição de dados tanto por parte das entradas digitais como também através das entradas analógicas.

LEITURA DE UMA ENTRADA DIGITAL ATRAVÉS DE UMA APLICAÇÃO NODE-RED

A partir deste momento, será demonstrado como o leitor deve proceder para realizar a criação de uma série de aplicações, onde a primeira delas consiste na criação do fluxo necessário para possibilitar a aquisição de um sinal em uma das portas digitais do Arduino UNO. Antes de prosseguir com os passos abaixo, lembre-se de que é necessário gravar o código escrito no exemplo StandardFirmata, no Arduino (este código aparece como um exemplo de aplicação da biblioteca Firmata).

 

O primeiro passo para atingir o objetivo desejado consiste em arrastar o nó de entrada do Arduino (apresentado na figura abaixo) da aba de nós para o ambiente de desenvolvimento.

 

bot%C3%A3oent.png

 

Após o procedimento anterior, a forma do em questão irá mudar automaticamente e passará a ter o formato apresentado na figura abaixo.

 

botaoent2.png

 

O segundo passo consiste em definir em qual porta COM (neste caso COM3) está conectado o Arduino UNO, o tipo do pino que será utilizado (se é digital ou analógico) e o número do pino que fará o papel de porta de entrada para as informações necessárias. Para configurar estes parâmetros, basta clicar duas vezes sobre o nó e defini-los conforme a figura a seguir.

 

botao3.png

 

Para testar se os dados estão sendo adquiridos de forma correta, deve-se utilizar um nó de depuramento (ou debug), portanto, arrasta-se o mesmo da aba de nós para a aba de desenvolvimento.no-debug.pngAssim como anteriormente, este bloco será modificado ao ser inserido na aba de desenvolvimento, no entanto, note que, desta vez ocorre algo semelhante ao que aconteceu com o nó inject (este é um nó de entrada de dados e está presente no primeiro artigo referente a este conteúdo), ou seja, o nó passou a apresentar um botão (localizado à sua direita) , que por sua vez, quando ativado, faz com que os valores que entram no mesmo sejam apresentados no painel de depuração conforme será apresentado no decorrer desta publicação.

 

debug-aba.pngO próximo passo para possibilitar que um sinal possa ser lido através pino de entrada digital 9 consiste em criar o fluxo adequado a partir da ligação dos nós apresentados até este momento.

 

bot%C3%A3o1.png

 

Após a construção do fluxo desejado, deve-se clicar no botão Deploy e observar os valores lidos através do pino citado anteriormente, no painel de depuração. Note que, os valores são constantemente lidos e apresentados pelo Node-RED.

 

debug-300x283.png

LEITURA DE UMA ENTRADA ANALÓGICA ATRAVÉS DE UMA APLICAÇÃO NODE-RED

Assim como realizado anteriormente, neste momento, será apresentada a maneira de como deve-se proceder para realizar a leitura de uma informação a partir das entradas analógicas do Arduino UNO. O procedimento a ser realizado é praticamente igual ao demonstrado no item anterior, no entanto, deve-se utilizar a seguinte configuração para o nó de entrada do Arduino.

 

botao6.png

 

Note que, como esperado, ao clicar no botão Deploy, uma série de valores obtidos na entrada digital A0 será mostrada no painel de depuração (ou de debug)

 

debug3.png

MODIFICANDO A CAPACIDADE DE TRANSMISSÃO DAS INFORMAÇÕES AO LONGO DE UM FLUXO

Como o leitor teve a oportunidade de perceber, os valores obtidos através da entrada analógica a partir do nó de entrada utilizado são sempre passados para o próximo bloco, de modo que, isto pode comprometer algumas aplicações que necessitam de um processamento mais rápido, portanto, para que esta transmissão de dados não ocorra de maneira desordenada, pode-se utilizar um bloco de processamento chamado Rbe para que os valores só sejam propagados para os próximos nós caso sofram alguma alteração. O fluxo em questão deve ter esta forma:

 

bot%C3%A3o2.png

 

Para que seja possível concretizar o objetivo citado, deve-se selecionar a opção block unless value changes nas propriedades do bloco Rbe, para que assim, um determinado dado seja propagado apenas no caso de ter sido alterado.

 

blocoRBE.png

 

Observe que após a adição do bloco citado no fluxo existente, os valores somente são propagados caso possuam magnitudes diferentes das anteriores (este recurso também pode ser utilizado na realização de acionamentos, para que determinado dispositivo receba somente informações quando estas forem diversas ao longo do tempo).

um pensador...

zmnNkjR.png

 

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.