Menu

Aula 009 - Monitorando a produção

Objetivo: Alem das variávie de processo, outro dado muito importante é quantidade de peças produzidas por uma determinada máquina, nesta caso apresentaremos a produção no LCD e na serial.

O push button S1 simulará as peças que passam pelo sensor.

O código...

//-------------------------------------------------------------//
//  Projeto Desenvolvedores 4.0  - Desenvolvimento com Arduino
//  Programa/hardware: 009 - Monitorando a produção
//  Autor:Clodoaldo Silva
//  Revisão: 27Abr2020
//---------------------------------------------------------------

//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_AD1 = 0;  // Valor lido no pino A4
float Set = 0;      // variável trabalhada p/ ler tensão

float Valor_AD2 = 0;  // Valor lido no pino A5
float Temp = 0;      // variável trabalhada p/ ler temperatura

int Conta = 0;      // variável conta 

//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);
  Serial.begin(9600);

  //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()
{
   if (digitalRead(S1)!= 1) //Se a variável conta for diferente de 1
    { 
    Conta = Conta+1;       // Incrementa o valor do contador
  
    // Dados para o LCD
    lcd.setCursor(0, 0);            // Posiciona
    lcd.print("Arduino: Producao"); // Escreve no LCD
    
    lcd.setCursor(0, 1);
    lcd.print("Producao: " );
    lcd.print(Conta);               // Imprime a variável conta no LCD
    
    //Dados para o PC local
    Serial.print("Producao: ");     //escreve conta na serial
    Serial.println(Conta);        //imprime os valores da variável na serial
    
    while(digitalRead(S1) != 1);  //imprime somente se houver mudança
  }

}

Até a próxima...
"Não perca a motivação só porque as coisas não estão correndo como o previsto. Adversidade gera sabedoria e é isso que levará você ao sucesso."

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