Skip to content

Industrialli/industrialli_analog_input

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

industrialli analog input

Biblioteca para manipulação das entradas analógicas da Industrialli Hub para o framework Arduino com o uso da biblioteca stm32ino.

Important

Consulte a biblioteca principal da Industrialli Hub 🔗.

Consulte a versão em HAL desta biblioteca 🔗.

Exemplo

No exemplo abaixo, é inicializado a biblioteca de entradas analógicas, configurado a resolução de leitura em 12 bits, configurado a entrada A01 para realizar leitura de 0 - 10V e a entrada A02 para realizar a leitura de 0 - 20mA. No loop principal é realizado a leitura dos valores dessa variável e exibido no console.

#include "industrialli_hub.hpp"

industrialli_hub hub;

void setup(){
	hub.begin();

	analog_input.begin();
    	analog_input.set_resolution(12);
    	analog_input.set_read_mode(A01, READ_10V);
	analog_input.set_read_mode(A02, READ_20mA);
}

void loop(){
	Serial.println(analog_input.analog_read(A01));
	Serial.println(analog_input.analog_read(A02));
	leds.update();
	delay(10);
}   

Funções

Segue abaixo as funções disponíveis para o usuário manipular as entradas analógicas da Industrialli Hub.

begin

Inicializa as entradas analógicas.

Parâmetros: void

Retorno: void

Exemplo

analog_input.begin();
set_read_mode

Inicializa uma entrada analógica para um modo de leitura específica.

Parâmetros:

  • uint8_t: porta da entrada analógica: A01, A02, A03 e A04.
  • uint8_t: modo de leitura: READ_10V ou READ_20mA.

Retorno: void

Exemplo

analog_input.set_read_mode(A01, READ_10V);
analog_input.set_read_mode(A02, READ_20mA);
set_resolution

Seleciona uma resolução para leitura das entradas analógicas.

Parâmetros:

  • uint16_t: resolução de leitura: 8, 10, 12 ou 16.

Retorno: void

Exemplo

analog_input.set_resolution(12);
analog_read

Realiza a leitura de uma entrada analógica específica.

Parâmetros:

  • uint8_t: porta da entrada analógica: A01, A02, A03 e A04.

Retorno:

  • Double: Valor de leitura realizado na entrada analógica.

Exemplo

Serial.println(analog_input.analog_read(A01));
Serial.println(analog_input.analog_read(A02));
map

Realiza o mapeamento de um valor que está em um intervalo para outro intervalo. Essá função pode ser util para converter o valor da entrada analógica para alguma outra informação, por exemplo de mA para temperatura ou pressão.

Parâmetros:

  • double: valor de entrada.
  • double: valor minimo do intervalo de entrada.
  • double: valor máximo do intervalo de entrada.
  • double: valor minimo do intervalo de saída.
  • double: valor máximo do intervalo de saída.

Retorno:

  • double: Valor mapeado para o intervalo de saída.

Exemplo

No exemplo abaixo, é convertido o valor recebido por um sensor de temperatura que emite uma corrente entre 4 - 20mA para a temperatura entre 0 - 200°C.

double mA = analog_input.analog_read(A01);
double temperatura = map(mA, 4, 20, 0, 200);
map_pin

Realiza o mapeamento de um valor de uma entrada analógica que está em um intervalo para outro intervalo. Essá função pode ser util para converter o valor da entrada analógica para alguma outra informação, por exemplo de mA para temperatura ou pressão.

Parâmetros:

  • uint8_t: porta da entrada analógica: A01, A02, A03 e A04.
  • double: valor minimo do intervalo de entrada.
  • double: valor máximo do intervalo de entrada.
  • double: valor minimo do intervalo de saída.
  • double: valor máximo do intervalo de saída.

Retorno:

  • double: Valor de uma entrada analógica mapeada para o intervalo de saída.

Exemplo

No exemplo abaixo, é convertido o valor recebido por um sensor de temperatura na entrada A01 que emite uma corrente entre 4 - 20mA para a temperatura entre 0 - 200°C.

double temperatura = map_pin(A01, 4, 20, 0, 200);
alarm_020mA

Verifica se o valor de uma entrada analógica configurada no modo de leitura READ_20mA está operando corretamente. Alguns sensores são configurados para operar a partir de uma corrente, isso possibilita a detecção de problemas no sensor caso opere abaixo desse valor.

Parâmetros:

  • double: valor lido por uma entrada analógica configurada no modo de leitura READ_20mA.
  • double: threshold.

Retorno:

  • bool: verdadeiro caso o valor da entrada analógica seja menor que o threshold definido.

Exemplo

double mA = analog_input.analog_read(A01);

if(alarm_020mA(mA, 4)){
	error = true;
}else {
	double temperatura = map(mA, 4, 20, 0, 200);
}