#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