/**
Basic NTC Thermistor demo
https://wokwi.com/arduino/projects/299330254810382858
Assumes a 10K@25℃ NTC thermistor connected in series with a 10K resistor.
Copyright (C) 2021, Uri Shaked
*/
#define PIN 1
#define PIN 2
#define PIN 3
#define PIN 4
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
void setup() {
Serial.begin(9600);
pinMode(4, OUTPUT);
pinMode(3, OUTPUT);
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(9, OUTPUT);
pinMode(2, INPUT);
}
float readDistanceCM() {
digitalWrite(9, LOW);
delayMicroseconds(2);
digitalWrite(9, HIGH);
delayMicroseconds(10);
digitalWrite(9, LOW);
int duration = pulseIn(2, HIGH);
return duration * 0.034 / 2;
}
void loop() {
int analogValue = analogRead(A0);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.println(" ℃");
delay(1000);
if( celsius > 50){
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
}else {
digitalWrite(3, LOW);
digitalWrite(4,HIGH);
}
float distance = readDistanceCM();
bool isNearby = distance < 100;
digitalWrite(LED_BUILTIN, isNearby);
Serial.print("Measured distance: ");
Serial.println(readDistanceCM());
delay(100);
}