// Pin definities
#define koelkastPin A0 // pin voor koelkast
#define diepvriesPin A1 // pin voor diepvries
// Alarm led componenten
#define koelkastLed 13 // Rode LED for koelkast alarm
#define diepvriesled 8 // Blauwe LED for diepvriezer alarm
// Constants for the Beta parameter equation
float BETA = 3950.0; // Bètacoëfficiënt van de thermistor
// Temperature thresholds
float koelkastMaxTemp = 5.0; // koelkast alarm boven 5°C
float diepvriesMaxTemp = -2.0; // diepvries alarm boven -2°C
// variabelen
bool koelkastAlarm;
bool diepvriesAlarm;
void setup() {
Serial.begin(9600);
pinMode(koelkastPin, INPUT);
pinMode(diepvriesPin, INPUT);
pinMode(koelkastLed, OUTPUT);
pinMode(diepvriesled, OUTPUT);
}
void loop() {
// Meet beide temp in één functie
float KoelkastTemp = leesTemp(koelkastPin);
float DiepvriesTemp = leesTemp(diepvriesPin);
// Controleer de temperatuurdrempels
koelkastAlarm = KoelkastTemp > koelkastMaxTemp;
diepvriesAlarm = DiepvriesTemp > diepvriesMaxTemp;
// Controle alarmen
digitalWrite(koelkastLed, koelkastAlarm);
digitalWrite(diepvriesled, diepvriesAlarm);
// Print de resultaten af op de seriële monitor
Serial.print("Koelkast Temperatuur: ");
Serial.print(KoelkastTemp);
Serial.println(" °C");
Serial.print("Diepvries Temperatuur: ");
Serial.print(DiepvriesTemp);
Serial.println(" °C");
delay(1000);
}
// Functie om de temperatuur te berekenen met behulp van de bètaparameterformule
float leesTemp(int pin) {
int weerstandWaarde = analogRead(pin);
// Pas de bètaparameterformule toe om de temperatuur in Celsius te berekenen
float celsius = 1 / (log(1 / (1023. / weerstandWaarde - 1)) / BETA + 1.0 / 298.15) - 273.15;
return celsius;
}
Diepvries
Koelkast