sábado, julho 04, 2015

DISPLAY LCD COM LDR E TERMISTOR

Neste post ainda uma utilização do display LCD, agora com a função de apresentar, além das mensagens iniciais, a luminosidade do ambiente e sua temperatura, para isso está associado a um termistor de 10K e um LDR. O sketch abaixo foi baseado em uma codificação disponibilizada no link:
arduino.labdegaragem.com/Guia_preview/SMK_6_luminosidade_temperatura.html



/*
***********************************************
PROJETO ROBÓTICA NA ESCOLA 2015
        LCD COM  LDR E TERMISTOR       
        EE DR PEDRO VELHO – RN/BR       
***********************************************
*/
// #include <LiquidCrystal.h> //Inclui a biblioteca do LCD
#include <Thermistor.h> //Inclui a biblioteca do Thermistor
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para o LCD
Thermistor temp(0);
#define sensorLdr A1
float luminosidade; //Armazena o valor da luminosidade na variável com uma casa decimal
int amostra; //Armazena o valor da luminosidade
int temperatura; //Armazena o valor da temperatura  
void setup()
{
lcd.begin(16, 2);
//Mensagem de abertura
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("    ROBOTICA    ");
  lcd.setCursor(0,1);
  lcd.print("   NA  ESCOLA   ");
  delay(3000);
  lcd.clear();
  lcd.setCursor(0,0); 
  lcd.print("  LUZ  E CALOR  "); 
  lcd.setCursor(0,1);
  lcd.print("  NO  AMBIENTE  ");
  delay (3000);
}  
void loop()
{
temperatura = temp.getTemp();
amostra = 0;
//Pega 100 amostras  
for(int i=0; i < 100 ; i++)  
{  
luminosidade = analogRead(sensorLdr);
luminosidade = (luminosidade / 1024) * 100; //Transforma o valor lido em porcentagem  
amostra = amostra + luminosidade; //Armazena na variável amostra  
}  
amostra = amostra/100; //Tira a média das amostras  
lcd.setCursor(0,0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD  
lcd.print("Temperatura: ");
lcd.print(temperatura);
lcd.print("C");
lcd.setCursor(0,1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD  
lcd.print("Luminosida.: ");
lcd.print(amostra);
lcd.print("%");
delay(2000);
}

//FIM DO SKETCH

Nenhum comentário:

Postar um comentário