trivial_demo.ino


1
#define PIN 0
2
#define K1  421.0
3
#define K2  751.0
4
5
uint32_t time_high, time_low, last_time, new_time;
6
float temperature;
7
8
void setup() {
9
  Serial.begin(12345);
10
  pinMode(PIN, INPUT);
11
  new_time = last_time = micros();
12
}
13
14
void loop() {
15
  while(digitalRead(PIN));
16
  new_time = micros();
17
  time_high = new_time - last_time;
18
  last_time = new_time;
19
  while(!digitalRead(PIN));
20
  new_time = micros();
21
  time_low = new_time - last_time;
22
  last_time = new_time;
23
  temperature = K1 - (K2 * time_high) / (float)time_low;
24
  Serial.print(time_low);  Serial.print("  ");
25
  Serial.print(time_high);  Serial.print("  ");
26
  Serial.println(temperature);
27
}