Fix variable name and led
This commit is contained in:
parent
9f27bc8454
commit
933949dcff
@ -18,10 +18,12 @@ extern "C" {
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <math.h>
|
||||
#define R_t0 10000
|
||||
#include <avr/io.h>
|
||||
#define R_T0 10000
|
||||
#define T_0 298.15
|
||||
#define B 3950
|
||||
#define R_1 1000
|
||||
#define ledpin PIN3_bm
|
||||
|
||||
// Takes inn messured value
|
||||
// Calculates the temperature in celcius
|
||||
@ -32,8 +34,10 @@ float calculate_thermistor_temp(float readValue);
|
||||
// Returns true if temperatur is higher than max_temp
|
||||
bool voltage_threshold_bool(float thermistor_temp, uint8_t max_temp);
|
||||
|
||||
void voltage_threshold_exceeded(bool voltage_threshold_bool);
|
||||
void alert_voltage_threshold_exceeded(bool voltage_threshold_bool);
|
||||
|
||||
// Initialise led
|
||||
void init_led();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@ -1,46 +1,49 @@
|
||||
#include "themistor-temp.h"
|
||||
|
||||
|
||||
void init_led(){
|
||||
PORTB.DIRSET = ledpin;
|
||||
}
|
||||
|
||||
float calculate_thermistor_temp(float thermistor_voltage){
|
||||
float R_therm;
|
||||
float R_thermistor;
|
||||
float V_1;
|
||||
float ln;
|
||||
float T_therm;
|
||||
float V_therm;
|
||||
uint8_t V_tot = 5;
|
||||
float T_thermistor;
|
||||
float V_thermistor;
|
||||
#define V_TOT 5
|
||||
// Calculate Voltage over thermistor
|
||||
V_therm = (V_tot/1024)*thermistor_voltage;
|
||||
V_thermistor = (V_TOT/1024)*thermistor_voltage;
|
||||
|
||||
// Voltage accross R_1
|
||||
V_1 = V_tot - V_therm;
|
||||
V_1 = V_TOT - V_thermistor;
|
||||
|
||||
// Calculate Thermistor resistanse
|
||||
R_therm = (V_therm)/ (V_1 / R_1);
|
||||
R_thermistor = (V_thermistor)/ (V_1 / R_1);
|
||||
|
||||
// Steinhart-Harts formula
|
||||
ln = log(R_therm/R_t0);
|
||||
T_therm = (1/ ((ln/B) + (1/T_0)));
|
||||
ln = log(R_thermistor/R_T0);
|
||||
T_thermistor = (1/ ((ln/B) + (1/T_0)));
|
||||
|
||||
// Temperatur in celcius
|
||||
T_therm -= 273.15;
|
||||
T_thermistor -= 273.15;
|
||||
|
||||
return T_therm;
|
||||
return T_thermistor;
|
||||
}
|
||||
|
||||
// returns error message if the messured thermistor temp is higher than
|
||||
// Choosen max_temp
|
||||
bool voltage_threshold_bool(float thermistor_temp, uint8_t max_temp){
|
||||
// Return true if temp is higher then max value
|
||||
if (thermistor_temp >= max_temp){
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return (thermistor_temp >= max_temp);
|
||||
}
|
||||
|
||||
//print if the maximum threshold is exceeded.
|
||||
void voltage_threshold_exceeded(bool voltage_threshold_bool){
|
||||
void alert_voltage_threshold_exceeded(bool voltage_threshold_bool){
|
||||
if (voltage_threshold_bool){
|
||||
printf("Error: maximum temperature exceeded");
|
||||
PORTB.OUTSET = ledpin;
|
||||
} else{
|
||||
PORTB.OUTCLR = ledpin;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user