Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TMP36 Pin Variables
- int sensorPin = A3; //the analog pin the TMP36's Vout (sense) pin is connected to
- //the resolution is 10 mV / degree centigrade with a
- //500 mV offset to allow for negative temperatures
- int blue = 4;
- int red = 3;
- int green = 2;
- /*
- * setup() - this function runs once when you turn your Arduino on
- * We initialize the serial connection with the computer
- */
- void setup()
- {
- Serial.begin(9600); //Start the serial connection with the computer
- //to view the result open the serial monitor
- pinMode(blue, OUTPUT);
- pinMode(red, OUTPUT);
- pinMode(green, OUTPUT);
- }
- void loop() // run over and over again
- {
- //getting the voltage reading from the temperature sensor
- int reading = analogRead(sensorPin);
- // converting that reading to voltage, for 3.3v arduino use 3.3
- float voltage = reading * 5.0;
- voltage /= 1024.0;
- // print out the voltage
- Serial.print(voltage); Serial.println(" volts");
- // now print out the temperature
- float temperatureC = (voltage - 0.5) * 10 ; //converting from 10 mv per degree wit 500 mV offset
- if(temperatureC <= 25 && temperatureC < 23) {
- digitalWrite(green, HIGH);
- digitalWrite(red, LOW);
- digitalWrite(blue, LOW);
- }
- else if(temperatureC > 25) {
- digitalWrite(green, LOW);
- digitalWrite(red, HIGH);
- digitalWrite(blue, LOW);
- }
- else {
- digitalWrite(green, LOW);
- digitalWrite(red, LOW);
- digitalWrite(blue, HIGH);
- }
- //to degrees ((voltage - 500mV) times 100)
- Serial.print(temperatureC); Serial.println(" degrees C");
- // now convert to Fahrenheit
- float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
- Serial.print(temperatureF); Serial.println(" degrees F");
- delay(1000); //waiting a second
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement