Code gets:
- Temperature from a thermistor
- Light value from an LDR
and
Prints the data to the Serial Monitor
Please let me know if you experience any problems with this code. Be sure to check back for more Arduino code.
Schematic:
Code:
/*
Oliver Holden
Created 28/10/2014
Components:
* Arduino UNO
* Thermistor
* 10K resistor
* LDR
* 10K resistor
- Gets Temperature form a Thermistor
- Gets an analogue value of Light from an LDR
Prints the data to the Serial Monitor
Schematic for this project is on
http://breadboarder.blogspot.co.uk/
*/
int ThermistorPin = A0; // Thermistor Reading pin
int LDRPin= A2; // LDR Reading pin
int LDRReading = analogRead(LDRPin); // Reading LDR analogue value
void setup()
{
Serial.begin(9600); // Opening serial connection at 9600bps
Serial.println("Thermistor temperature and LDR light measurement:"); // Printing Serial Monitor header
Serial.println(" T (C), LDR"); // Setting headers of colums in PLX-DAQ spreadsheet
Serial.println("\n-----------------------------");
}
void loop() {
int Vo; // Integer value of voltage reading
float R = 9870.0; // Fixed resistance in the voltage divider
float logRt,Rt,T;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
Vo = analogRead(ThermistorPin); // Reading voltage Thermistor Reading pin
Rt = R*( 1023.0 / (float)Vo - 1.0 );
logRt = log(Rt);
T = ( 1.0 / (c1 + c2*logRt + c3*logRt*logRt*logRt ) ) - 273.15; // Converting voltage to temperature
Serial.print(" "); Serial.print(T); // Printing data to Serial Monitor
Serial.print(" "); Serial.print(LDRReading);
delay(1000); // Printing data once a second
}
No comments:
Post a Comment