bom tarde , venho por este meio perguntar se este codigo de programacao?
porque estou com algum problemas em relacao a temperatura medida pelo lm35DZ
muito obrigado, tenho aqui outro atmega mas tenho medo de trocar-lo e de os estragar lo tb
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9,
;
int R1=470.00; //resistencia de 470 do divisor de tensao do painel solar
int R2=100.00; //resistencia de 100 do divisor de tensao do painel solar
int R3=10000.00; //resistencia de 1000 do divisor de tensao do lm338k
int R4=100.00; //resistencia de 100 do divisor de tensao do lm338k
void setup()
{
pinMode(5,OUTPUT); //pin de saida para a activacao da bobina do rele
pinMode(4,OUTPUT); // pin de saida de identificacao de excesso de temperatura no lm338k
lcd.begin(16,2);
Serial.begin(9600);
}
void loop()
{
int sensorValue1 = analogRead(A0);
int sensorValue2 = analogRead(A3);
int sensorValue3 = analogRead(A5);
Serial.print((sensorValue1*5.00/1023.00*(R1+R2)/R2));
Serial.print(" ");
Serial.print((sensorValue2*5.00/1023.00*(R3+R4)/R4));
Serial.print(" ");
Serial.print((sensorValue3*5.00/1023.00)*100);
Serial.print(" ");
Serial.println(sensorValue3);
lcd.setCursor(0,0);
lcd.print((sensorValue1*5.00/1023.00*(R1+R2)/R2));
lcd.setCursor(6,0);
lcd.print("VPS");
lcd.setCursor(0,1);
lcd.print(sensorValue2*5.00/1023.00*((R3+R4)/R4));
lcd.setCursor(6,1);
lcd.print("VLM");
lcd.setCursor(9,0);
lcd.print((sensorValue3*5.00/1023.00)*100);
lcd.setCursor(15,0);
lcd.print("C");
//activacao do rele coforme a tensao de entrada do painel solar
if (sensorValue1*5.00/1023.00*(R1+R2)/R2>15) // mais tarde é para defenir com uma tensao de cerca de 15V para o painel solar
{
digitalWrite(5,HIGH);
}
else
{
digitalWrite(5,LOW);
}
// controlo de excesso de temperatura no dissipador do lm335k
if(sensorValue3*5.00/1023.00*100>27) // mais tarde e para defenir com uma temperatura de cerca de 60ºC
{
digitalWrite(4,HIGH);
}
else
{
digitalWrite(4,LOW);
}
delay(1000);
}
muito obrigado