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
www.clubedaeletronica.com.br
Autor: Clodoaldo Silva...