#include <stdio.h>
#include <TimeLib.h>
#define TEMP_WARNING_LED PB9
const float BETA = 3950; // should match the Beta Coefficient of the thermistor
int temp_warning = 1;
int led_state = 0;
time_t tconvet(uint8_t Yearv, uint8_t Monthv, uint8_t Dayv, uint8_t Hourv, uint8_t Minutev, uint8_t Secondv)
{
tmElements_t tme;
tme.Second = Secondv;
tme.Minute = Minutev;
tme.Hour = Hourv;
tme.Day = Dayv;
tme.Month = Monthv;
tme.Year = Yearv - 1970;
return makeTime(tme);
}
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello STM32!");
Serial.println("Welcome to Wokwi :-)");
pinMode(TEMP_WARNING_LED, OUTPUT);
pinMode(A0, INPUT);
setTime(tconvet(2024, 10, 18, 15, 01, 40));//yyyy,mm,dd,hour,min,sec
}
void loop()
{
if (temp_warning)
{
if (led_state)
{
digitalWrite(TEMP_WARNING_LED, HIGH);
led_state = 0;
}
else
{
digitalWrite(TEMP_WARNING_LED, LOW);
led_state = 1;
}
}
char bf[20];
//Serial.print(dayStr(weekday()));
sprintf(bf, " %02d:%02d:%02d",
hour(), minute(), second());
Serial.println(bf);
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("\n");
delay(250);
}
Loading
stm32-bluepill
stm32-bluepill