forked from jlciam/LANhacksTX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
temperature_sensor
60 lines (51 loc) · 1.57 KB
/
temperature_sensor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
/*
* Adapted from the Grove Temperature Sensor, Fade, and Liquid Crystal demos.
* Sensor detects the environment temperature, connect the signal of this sensor to A0,
* and use Serial monitor to get the result.
*
*/
#include <math.h>
int a;
float temperature;
int B=3975; //B value of the thermistor
float resistance;
int led = 13;
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
pinMode(led,OUTPUT);
//TODO is the serial necessary?
Serial.begin(9600);
//TODO WHAT DO THESE NUMBERS MEAN
//set up the LCD's number of columns and rows:
lcd.begin(16,2);
//Print a message to the LCD.
lcd.print("hello, world!");
}
void loop()
{
//Turn on the display
lcd.display();
delay(500);
lcd.nodisplay();
a=analogRead(0);
resistance=(float)(1023-a)*10000/a; //get the resistance of the sensor;
temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;//convert to temperature via datasheet ;
delay(1000);
Serial.print("Current temperature is ");
Serial.println(temperature);
//TODO temperature needs to be updated
// set the brightness of pin 9:
analogWrite(led, brightness);
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// wait for 30 milliseconds to see the dimming effect
delay(30);
}