Poprawa interwałów
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
#include "SD.h"
|
||||
#include "SPI.h"
|
||||
|
||||
#define Version "0.48"
|
||||
#define Version "0.5"
|
||||
#define WIRE Wire
|
||||
#define DHTTYPE DHT22
|
||||
#define DHTPIN 4 //GPIO04 D4
|
||||
@@ -50,6 +50,8 @@ int menuL0 = 10;
|
||||
int menuL1 = 10;
|
||||
int menuL2 = 10;
|
||||
|
||||
int sd_error = 0;
|
||||
|
||||
float temp = 0.0;
|
||||
float tempH = 0.0;
|
||||
float tempHCalc = 0.0;
|
||||
@@ -82,7 +84,7 @@ int months;
|
||||
int years;
|
||||
|
||||
//##########################################################################################################################
|
||||
int intervalTempIdx = 3;
|
||||
int intervalTempIdx = 4;
|
||||
int intervalTempWrite = 0;
|
||||
int intervalTempWriteMins = 0;
|
||||
int intervalTempWriteHours = 0;
|
||||
@@ -215,7 +217,7 @@ float chargeVoltageToPercentage(float voltage) {
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
Serial.begin(9600);
|
||||
Wire.begin(21, 22);
|
||||
analogSetAttenuation(ADC_11db);
|
||||
|
||||
@@ -282,6 +284,7 @@ void setup() {
|
||||
display.setCursor(0, 0);
|
||||
if (!SD.begin(SD_CS)) {
|
||||
display.println("Blad inicjaliz SD!");
|
||||
sd_error = 1;
|
||||
display.display();
|
||||
delay(1000);
|
||||
} else {
|
||||
@@ -314,7 +317,6 @@ void setup() {
|
||||
file.close();
|
||||
|
||||
|
||||
|
||||
display.display();
|
||||
delay(500);
|
||||
|
||||
@@ -371,13 +373,6 @@ void setup() {
|
||||
void loop() {
|
||||
currentMillis = millis();
|
||||
display.clearDisplay();
|
||||
////DIAGNOSTIC menu nr diag
|
||||
// display.setCursor(75, 16);
|
||||
// display.println(menuL0);
|
||||
// display.setCursor(90, 16);
|
||||
// display.println(menuL1);
|
||||
// display.setCursor(105, 16);
|
||||
// display.println(menuL2);
|
||||
|
||||
temp = dht.readTemperature();
|
||||
tempH = (dhtH.readTemperature() - 0.16); //kalibracja
|
||||
@@ -419,8 +414,6 @@ void loop() {
|
||||
sprintf(dateString, "%02d/%02d/%4d %02d:%02d:%02d", now.day(), now.month(), now.year(), now.hour(), now.minute(), now.second());
|
||||
|
||||
|
||||
|
||||
|
||||
if (menuL0 == 10) {
|
||||
// ############# MENU TEMP
|
||||
|
||||
@@ -474,21 +467,17 @@ void loop() {
|
||||
display.setCursor(0, 18);
|
||||
display.print("Inwerwal: ");
|
||||
|
||||
|
||||
//##########################################################################################################################
|
||||
|
||||
|
||||
if (intervalTempIdx == 1) {
|
||||
intervalTempWrite = 1;
|
||||
} else if (intervalTempIdx == 2) {
|
||||
intervalTempWrite = 5;
|
||||
} else if (intervalTempIdx == 3) {
|
||||
intervalTempWrite = 15;
|
||||
} else if (intervalTempIdx == 4) {
|
||||
intervalTempWrite = 60;
|
||||
} else {
|
||||
intervalTempWrite = 360;
|
||||
}
|
||||
if (intervalTempIdx == 1) {
|
||||
intervalTempWrite = 1;
|
||||
} else if (intervalTempIdx == 2) {
|
||||
intervalTempWrite = 5;
|
||||
} else if (intervalTempIdx == 3) {
|
||||
intervalTempWrite = 15;
|
||||
} else if (intervalTempIdx == 4) {
|
||||
intervalTempWrite = 60;
|
||||
} else {
|
||||
intervalTempWrite = 360;
|
||||
}
|
||||
if (intervalTempWrite >= 60) {
|
||||
display.setCursor(60, 18);
|
||||
display.print((intervalTempWrite / 60));
|
||||
@@ -504,7 +493,7 @@ void loop() {
|
||||
if (menuL1 == 9) {
|
||||
display.setCursor(0, 8);
|
||||
delay(100);
|
||||
display.print("Ustaw Interwal");
|
||||
display.print("Ustaw Interwal");
|
||||
delay(100);
|
||||
|
||||
if (digitalRead(BTN_ENTER) == HIGH and menuL2 == 10) {
|
||||
@@ -528,17 +517,17 @@ void loop() {
|
||||
} else {
|
||||
intervalTempWrite = 360;
|
||||
}
|
||||
if (intervalTempWrite >= 60) {
|
||||
display.setCursor(60, 16);
|
||||
display.print((intervalTempWrite / 60));
|
||||
display.setCursor(80, 16);
|
||||
display.print("godz");
|
||||
} else {
|
||||
display.setCursor(60, 16);
|
||||
display.print((intervalTempWrite));
|
||||
display.setCursor(80, 16);
|
||||
display.print("min");
|
||||
}
|
||||
if (intervalTempWrite >= 60) {
|
||||
display.setCursor(60, 16);
|
||||
display.print((intervalTempWrite / 60));
|
||||
display.setCursor(80, 16);
|
||||
display.print("godz");
|
||||
} else {
|
||||
display.setCursor(60, 16);
|
||||
display.print((intervalTempWrite));
|
||||
display.setCursor(80, 16);
|
||||
display.print("min");
|
||||
}
|
||||
delay(250);
|
||||
|
||||
if (digitalRead(BTN_ENTER) == HIGH) {
|
||||
@@ -547,7 +536,6 @@ void loop() {
|
||||
intervalToSet = -1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (menuL1 == 8) {
|
||||
display.setCursor(0, 8);
|
||||
@@ -829,7 +817,7 @@ void loop() {
|
||||
if (mins % 1 == 0 && secs == 7) {
|
||||
File file = SD.open("/GeneralLog.txt", FILE_APPEND);
|
||||
if (file) {
|
||||
display.fillRect(0, 0, 128, 64, SSD1306_WHITE);
|
||||
display.fillRect(0, 32, 128, 32, SSD1306_WHITE);
|
||||
file.print(dateString);
|
||||
file.print(" Battery %: ");
|
||||
file.print(batteryPercent);
|
||||
@@ -837,23 +825,21 @@ void loop() {
|
||||
file.println(formatNumber(currentBatteryVoltage, 2));
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
Serial.println("intervalTempWrite");
|
||||
Serial.println(intervalTempWrite);
|
||||
Serial.println("dzielenie");
|
||||
Serial.println(mins % intervalTempWrite);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//zapis na SD temp i hum
|
||||
if (intervalTempWrite >=360){
|
||||
intervalTempWriteHours = (intervalTempWrite/60);
|
||||
if (intervalTempWrite >= 60) {
|
||||
intervalTempWriteHours = (intervalTempWrite / 60);
|
||||
} else {
|
||||
intervalTempWriteHours = -1;
|
||||
}
|
||||
if (((intervalTempWriteHours == -1 && mins == 0) or (intervalTempWriteHours == hourss && mins == 0)) && secs == 0){
|
||||
// mins % intervalTempWrite == 0 && secs == 0) {
|
||||
if (((intervalTempWriteHours == -1 && mins % intervalTempWrite == 0) or (hourss % intervalTempWriteHours == 0 && mins == 0)) && secs == 0) {
|
||||
// mins % intervalTempWrite == 0 && secs == 0) {
|
||||
File file = SD.open("/TempHumLog.txt", FILE_APPEND);
|
||||
if (file) {
|
||||
display.fillRect(0, 0, 124, 64, SSD1306_WHITE);
|
||||
display.fillRect(0, 0, 64, 32, SSD1306_WHITE);
|
||||
tempHCalc = (tempH + lastTempH) / 2;
|
||||
tempMCalc = (tempM + lastTempM) / 2;
|
||||
tempLCalc = (tempL + lastTempL) / 2;
|
||||
@@ -897,14 +883,16 @@ void loop() {
|
||||
delay(1000);
|
||||
}
|
||||
}
|
||||
if (sd_error == 1){
|
||||
display.drawLine(0, 0,128, 32, SSD1306_WHITE);
|
||||
}
|
||||
display.display();
|
||||
delay(150);
|
||||
yield();
|
||||
}
|
||||
|
||||
//Main feature:
|
||||
// RTC z możliwością ustawienia godziny
|
||||
// RTC z możliwością ustawienia godziny, zmiany interwału zapisu
|
||||
// odczyt wilgotności, temperatury i temperatury odcuwalnej
|
||||
// zasilanie bateryjne wraz z obsługą poziomu baterii i estymowanym czasem pracy na baterii
|
||||
// menu
|
||||
//2DO zapis na karcie SD
|
||||
// menu
|
||||
Reference in New Issue
Block a user