Menu

Aula 006 - Tratando sinais analógicos

Objetivo: Coletar dados analógicos para uma tomada de decisão são de grande valia para aplicações industriais. Assim, faremos uma inclusão na nossa placa de desenvolvimento para simular a coleta destes dados.


Usaremos um potenciômetro que devidamente alimentado enviará ao Arduino um sinal de 0 a 5VDC, (Máxima tensão de entrada = 5V) e o arduino nos fornecerá um sinal digital de 10 bits ( 0 a 1023) que converteremos de 0 a 5V para exibirmos no LCD e usarmos em nossas futuras aplicações.

O código...

//-------------------------------------------------------------//
//  Projeto Desenvolvedores 4.0  - Desenvolvimento com Arduino
//  Programa/hardware: 006 - Coletando variáveis de processo
//  Autor:Clodoaldo Silva
//  Revisão: 26Abr2020
//---------------------------------------------------------------

//inclui a biblioteca do LCD
#include <LiquidCrystal.h>
//http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay

//DEFINIÇÕES DO HARDWARE DE DESENVOLVIMENTO
//Entradas digitais
#define S1 A0    //Nomeia o pino A0 (analógico) como (digital)
#define S2 A1    //indem
#define S3 A2    //indem
#define S4 A3    //indem

//Entradas analógicas
#define Sinal_01 A4   //Preparado p/ receber sinais analógico  
#define Sinal_02 A5   //indem  

//Saídas Digitais 
#define LED_vermelho 10    //define do pino 10 como saída
#define LED_amarelo 9    //define do pino 9 como saída
#define LED_verde 8    //define do pino 8 como saída
#define Lampada 7   //define do pino 7 como saída
#define Motor 6   //define do pino 6 como saída

//DEFINIÇÕES E TIPOS DE VARIÁVEIS

float Valor_AD = 0;
float Volts = 0;

//DEFINE PINOS PARA LCD JÁ NA BIBLIOTECA
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
/*
   Respectivamente
   LCD RS pin to digital pin 12
   LCD Enable pin to digital pin 11
   LCD R/W pin to ground
   LCD D4 pin to digital pin 5
   LCD D5 pin to digital pin 4
   LCD D6 pin to digital pin 3
   LCD D7 pin to digital pin 3
*/
void setup()
{
  // Inicializa o LCD com 20 colunas e 4 linhas
  lcd.begin(20, 4);
  lcd.clear();

  //Configurando os pinos definidos como saídas.
  pinMode(LED_vermelho, OUTPUT);
  pinMode(LED_amarelo, OUTPUT);
  pinMode(LED_verde, OUTPUT);
  pinMode(Lampada, OUTPUT);
  pinMode(Motor, OUTPUT);

  //Configurando os pinos definidos como entradas.
  //Sinais discretos - 4 Entradas
  pinMode(S1, INPUT);
  pinMode(S2, INPUT);
  pinMode(S3, INPUT);
  pinMode(S4, INPUT);

  //Sinais analógicos - 2 Entradas
  pinMode(Sinal_01, INPUT); 
  pinMode(Sinal_02, INPUT);
}
//-------------------------------------------
void loop()
{
  Valor_AD = analogRead(Sinal_01); // Lê o pino analógico 
                                   //e armazena na variável Valor_AD 
  
  Volts = Valor_AD*0.004887585532746823069403714565; //Multiplica o valor AD
                                                     //pela constante 5/1024              
  lcd.setCursor(0,0);             // Posiciona
  lcd.print("Sinais Analogicos"); // Escreve no LCD
  lcd.setCursor(0, 1);
  lcd.print("Voltimetro:" );    
  lcd.print(Volts);               // Imprime a variável Vol no LCD
  lcd.print("V" );                // Escreve a unidade
  }



Até a próxima...
"Mesmo que já tenhas feito uma longa caminhada, há sempre um novo caminho a fazer”.
Santo Agostinho 


www.clubedaeletronica.com.br
Autor: Clodoaldo Silva...