Med hjälp av temperaturgivaren LM335 (6 / 7 steg)
Steg 6: Arduino skiss
Att läsa temperaturen nu måste du få värdet av A0 med hjälp av analogRead(0). Detta ger dig ett värde mellan 0 och 1024. 1024 representerar matningsspänningen. Nedan är en exempel skiss att läsa på LM335. Du kan hämta här koden här. Jag delade upp klassen jag använde här som en arduino bibliotek. Om du vill använda den kan du hämta det här. När du har filen, packa upp och kopiera det du din arduino/libraries katalog. Du kan sedan importera den till någon skiss du.
Undergrupp LM335 < br > {
float cal;
int pin;
offentlig:
LM335 (float mCal, int mPin);
float measureV();
float measureK();
float measureC();
float measureF();
float measureRankine();
};
LM335::LM335 (float mCal, int mPin)
{
Cal = mCal;
PIN = mPin;
}
float LM335::measureV()
{
flyta retVal = (float) analogRead(pin);
retVal = (retVal * cal) / 1024.0;
returnera retVal;
}
float LM335::measureK()
{
retur measureV () /0.01;//10mV/k
}
float LM335::measureC()
{
Return (measureV () / 0,01)-273.15;
}
float LM335::measureF()
{
tillbaka ((((measureV) / 0,01)-273.15) * 1,8) + 32;
}
float LM335::measureRankine()
{
Return measureF() + 458.67;
}
LM335 mTemp (4,92, 0); //supply volt, analog pin
void setup()
{
Serial.BEGIN(38400);
}
void loop()
{
Serial.Print (mTemp.measureV ());
Serial.println ("volt");
Serial.println ("temperaturer:");
Serial.Print ("Kelvin:");
Serial.println (mTemp.measureK ());
Serial.Print ("Fahrenheit:");
Serial.println (mTemp.measureF ());
Serial.Print ("Celsius:");
Serial.println (mTemp.measureC ());
Serial.Print ("Rankine:");
Serial.println (mTemp.measureRankine ());
Delay(1000);
}