/*
* Project HeDetSys
* Author: Steve Lunneborg
* Date: 07/09/26
* For comprehensive documentation and examples, please visit:
* https://docs.particle.io/firmware/best-practices/firmware-template/
*/
// Include Particle Device OS APIs
#include "Particle.h"
#include "IoTClassroom_CNM.h"
#include "Adafruit_SSD1306.h"
#include "Adafruit_BME280.h"
SYSTEM_MODE(MANUAL);
float tempC;
float tempF;
const int BMEADDR = 0x76;
const int BUTTPIN =
const int OLED_RESET=-1;
unsigned int lastPrint;
unsigned int printInterval = 2000;
bool alarmOn = false;
Adafruit_BME280 bme;
Adafruit_SSD1306 display(OLED_RESET);
Button myButton(BUTTONPIN);
SYSTEM_THREAD(ENABLED);
void setup() {
Serial.begin(9600);
waitFor(Serial.isConnected,15000);
WiFi.on();
WiFi.clearCredentials();
WiFi.setCredentials("IoTNetwork");
WiFi.connect();
while(!WiFi.ready()) {
Serial.printf(".");
delay(250);
}
Serial.printf("\n\n");
if (!bme.begin(BMEADDR)) {
Serial.printf("Could not find a valid BME280 sensor");
/* in void loop every so often get a reading from the bme readings with if tempf is above (blank) and below(blank) your oled display what range your're in (safe, warnig, danger)
automatic mode if */
}
display.begin(SSD1306_SWITCHCAOVCC, 0x3C);
display.display();
delay(2000);
display.clearDisplay():
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.printf("Alarm ready/n");
display.clearDisplay();
display.display();
}
void loop() {
if ((millis() - lastprint) > printInterval){ //timer for stuff, variables must be differnt
tempC = bme.readTemperature():
tempf = tempC * (9.0/5.0) =32;
Serial.printf("Temp:%.01f\n", tempF);
lastPrint = millis();
if(tempF >=){
alarmOn = true;
if (temp F <=){
alarmOn = false;
}
if(Tempf)
}
Comments