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