Stap 6: De Arduino schets
Om te lezen van de temperatuur die u nu nodig om de waarde van A0 met behulp van analogRead(0). Dit geeft u een waarde tussen 0 en 1024. 1024 vertegenwoordigen de voedingsspanning. Hieronder is een voorbeeld van de schets om te lezen van de LM335. U kunt deze code downloaden hier. Ik afgesplitst van de klasse die ik hier gebruikt als een arduino-bibliotheek. Als u wilt om het te gebruiken u kunt het downloaden hier. Zodra u dat bestand hebt, unzip het en kopieer het u uw directory van de arduino/bibliotheken. U kunt vervolgens importeren in een schets die je wilt.
class LM335<br>{ float cal; int pin; public: 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() { float retVal = (float) analogRead(pin); retVal = (retVal*cal)/1024.0; return retVal; } float LM335::measureK() { return measureV()/0.01;//10mV/k } float LM335::measureC() { return (measureV()/0.01)-273.15; } float LM335::measureF() { return (((measureV()/0.01)-273.15)*1.8)+32; } float LM335::measureRankine() { return measureF() + 458.67; }
LM335 mTemp(4.92, 0);//supply volts, analog pin
void setup() { Serial.begin(38400); } void loop() { Serial.print(mTemp.measureV()); Serial.println(" volts"); Serial.println("Temperatures: "); 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); }