Add few files

This commit is contained in:
isa10110 2024-06-27 11:51:06 +02:00
parent e4c6d26e4e
commit 8531a8d79f
3 changed files with 203 additions and 0 deletions

View file

@ -0,0 +1,120 @@
#include <dht.h>
#include <U8g2lib.h>
#include <Wire.h>
#include <Arduino.h>
#define SLAVE_ADDRESS 0x0b
dht DHT;
#define DHT11_PIN 9
const int red = 7;
const int green = 6;
const int yellow = 5;
// U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE, /* clock=*/ A5, /* data=*/ A4);
void setup(){
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
Serial.begin(9600);
// u8g2.begin();
Wire.begin(SLAVE_ADDRESS);
Wire.onRequest(sendtemperature);
}
float temperature(uint16_t pin){
float temp = 0;
int chk = DHT.read11(pin);
temp = DHT.temperature;
return temp;
}
float humidity(uint16_t pin){
float hum = 0;
int chk = DHT.read11(pin);
hum = DHT.humidity;
return hum;
}
void set_state(uint8_t state){
digitalWrite(green,0);
digitalWrite(red,0);
digitalWrite(yellow,0);
switch (state){
case 0: digitalWrite(green,1); break;
case 1: digitalWrite(red,1); break;
case 2: digitalWrite(yellow,1); break;
default:;
}
}
void print4plotter(float temp,float hum){
Serial.print("Temperatur:");
Serial.print(temp);
Serial.print(", Humidity:");
Serial.println(hum);
}
/*
void print_screen_temp(float temp){
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_unifont_t_symbols);
u8g2.setFontRefHeightExtendedText();
u8g2.setDrawColor(1);
u8g2.setFontPosTop();
u8g2.setFontDirection(0);
u8g2.drawStr( 0, 0, "Temperatur:");
char buff[6];
dtostrf(temp, 4, 2, buff);
u8g2.drawStr( 0, 18, buff);
u8g2.drawUTF8(40, 18, "°C");
u8g2.sendBuffer();
}
void print_screen_hum(float hum){
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_unifont_t_symbols);
u8g2.setFontRefHeightExtendedText();
u8g2.setDrawColor(1);
u8g2.setFontPosTop();
u8g2.setFontDirection(0);
u8g2.drawStr( 0, 0, "Humidity:");
char buff[6];
dtostrf(hum, 4, 2, buff);
u8g2.drawStr( 0, 18, buff);
u8g2.drawUTF8(40, 18, "%");
u8g2.sendBuffer();
}
*/
uint8_t converttemp(float temp){
temp += 75;
return round(temp);
}
float gtemp = 0;
void sendtemperature(){
uint8_t dat = converttemp(gtemp);
Wire.write(dat);
}
uint32_t d_state = 0;
uint32_t display_time=10000;
uint32_t messure_time=100;
void loop() {
for (int i=0; i< display_time/messure_time; i++){
float temp=temperature(DHT11_PIN);
float hum= humidity(DHT11_PIN);
print4plotter(temp,hum);
gtemp = temp;
if (temp<=0) set_state(0); // green
else if (temp <=40) set_state(2); // yellow
else set_state(1); // red
//if (d_state % 2) print_screen_temp(temp);
//else print_screen_hum(hum);
delay(messure_time);
}
d_state ++;
}

View file

@ -0,0 +1,83 @@
#include <Servo.h>
#include <Wire.h>
#define Luefter 7
#define Gasklappe 5
#define NotfallButton 4
Servo kuehlklappe;
void cooling(){
int pos;
for (pos = 0; pos <= 180; pos += 1) {
kuehlklappe.write(pos);
delay(10);
}
delay(1000);
for (pos = 180; pos >= 0; pos -= 1) {
kuehlklappe.write(pos);
delay(10);
}
}
void setup() {
kuehlklappe.attach(Gasklappe);
pinMode(Luefter, OUTPUT);
pinMode(NotfallButton, INPUT);
Serial.begin(9600);
Wire.begin(0x8);
Wire.onReceive(receiveEvent);
}
void receiveEvent(int howMany) {
while (Wire.available()) { // loop through all but the last
char c = Wire.read(); // receive byte as a character
}
}
uint8_t var = 0 ;
uint8_t fan = 0 ;
void loop() {
if ((Serial.available() > 0)||(Wire.available())){
char Letter;
if (Serial.available() > 0){
Letter = Serial.read();
}
if (Wire.available()){
Letter = Wire.read();
}
Serial.println (Letter, DEC);
//Serial.println(Letter ,DEC);
if ( (Letter == 'V') || (Letter == 'v')){
var =1;
Serial.println("Ventile opened");
}
else{
var =0;
}
if (Letter == 'F'){
fan = 1;
Serial.println("Luefter eingeschaltet");
}
if (Letter == 'f'){
fan = 0;
Serial.println("Luefter ausgeschaltet");
}
}
else{
var = digitalRead(NotfallButton);
}
if (var) cooling();
}