Code: Select all
#include "settings.h"
#define limitT 33
float temperature;
float maxT, minT;
void setup() {
Serial.begin(9600);
delay(250);
display.begin(i2c_Address, true);
Serial.println("3D 프린팅 챔버 항온유지장치");
pinMode(12, OUTPUT);
unsigned status;
status = bme.begin();
Serial.println(status);
if (!status) {Serial.println("온도센서 오류!");}
Serial.println("온도센서 정상");
temperature=bme.readTemperature();
maxT=temperature;
minT=temperature;
}
void loop() {
Serial.println("루프돌입!");
temperature=bme.readTemperature();
if (temperature>maxT) {maxT=temperature;}
if (temperature<minT) {minT=temperature;}
if (temperature>limitT) {digitalWrite(12, 1);}
else {digitalWrite(12, 0);}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SH110X_WHITE);
display.setCursor(0, 0);
display.println("OPERATING!");
display.print("T: "); display.println(temperature);
display.print("MAX: "); display.println(maxT);
display.print("MIN: "); display.println(minT);
display.print("LIMIT: "); display.println(limitT);
display.print("TIME: "); display.println("inf");
display.display();
Serial.println(temperature);
delay(1000);
}
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme;
unsigned long delayTime;
#define i2c_Address 0x3c
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // QT-PY / XIAO
Adafruit_SH1106G display = Adafruit_SH1106G(SCREEN_WIDTH, SCREEN_HEIGHT,
&Wire, OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2