seperate stuff to functions
This commit is contained in:
parent
58e42a814d
commit
c3e6e8dd9e
1 changed files with 79 additions and 19 deletions
|
@ -12,14 +12,6 @@
|
||||||
* D6 - MOSFET Pump
|
* D6 - MOSFET Pump
|
||||||
* A0 - water level
|
* A0 - water level
|
||||||
*
|
*
|
||||||
*
|
|
||||||
* Water level
|
|
||||||
* ===========
|
|
||||||
*
|
|
||||||
* 0 - 199 : CRITICAL
|
|
||||||
* 200 - 399 : WARNING
|
|
||||||
* >400 : OK
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -116,6 +108,78 @@ unsigned int readI2CRegister16bit(int addr, int reg) {
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getWaterlevel() {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* waterlevelRAW
|
||||||
|
* ===========
|
||||||
|
* 0 - 199 : CRITICAL
|
||||||
|
* 200 - 399 : WARNING
|
||||||
|
* >400 : OK
|
||||||
|
*
|
||||||
|
* waterlevel
|
||||||
|
* ==========
|
||||||
|
* 2 : CRITICAL
|
||||||
|
* 1 : WARNING
|
||||||
|
* 0 : OK
|
||||||
|
*/
|
||||||
|
|
||||||
|
int waterlevelWARN = 200;
|
||||||
|
int waterlevelOK = 400;
|
||||||
|
int waterlevelRAW = 0;
|
||||||
|
int waterlevel = 0;
|
||||||
|
|
||||||
|
// enable Vcc for water level sensor
|
||||||
|
digitalWrite(PINwater, HIGH);
|
||||||
|
// wait a bit to let the schematic "settle in"
|
||||||
|
delay(200);
|
||||||
|
// get the value
|
||||||
|
waterlevelRAW = analogRead(PINAwater);
|
||||||
|
// disable Vcc for the sensor (in case of chemical reactions of the probes)
|
||||||
|
digitalWrite(PINwater, LOW);
|
||||||
|
|
||||||
|
if( waterlevelRAW >= waterlevelOK) {
|
||||||
|
waterlevel = 0;
|
||||||
|
} else if( waterlevelRAW >= waterlevelWARN) {
|
||||||
|
waterlevel = 1;
|
||||||
|
} else {
|
||||||
|
waterlevel = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return waterlevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
float getTemperature(bool tempSensor) {
|
||||||
|
/*
|
||||||
|
* tempSensor
|
||||||
|
* ==========
|
||||||
|
* 0/false : DHT11 temp sensor
|
||||||
|
* 1/true : chirp I2C temp sensor
|
||||||
|
*/
|
||||||
|
|
||||||
|
float temperature = 0;
|
||||||
|
|
||||||
|
if(tempSensor == false ) {
|
||||||
|
// read temperature from DHT11
|
||||||
|
temperature = dht.readTemperature();
|
||||||
|
} else {
|
||||||
|
// read temperature from chrip I2C
|
||||||
|
temperature = readI2CRegister16bit(0x20, 5) * 0.10 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
return temperature;
|
||||||
|
}
|
||||||
|
|
||||||
|
float getHumidity() {
|
||||||
|
float humidity = dht.readHumidity();
|
||||||
|
return humidity;
|
||||||
|
}
|
||||||
|
|
||||||
|
int getSoilmoisture() {
|
||||||
|
int soilmoisture = readI2CRegister16bit(0x20, 0);
|
||||||
|
return soilmoisture;
|
||||||
|
}
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
// setup pins
|
// setup pins
|
||||||
pinMode(PINfan, OUTPUT);
|
pinMode(PINfan, OUTPUT);
|
||||||
|
@ -192,27 +256,23 @@ void loop() {
|
||||||
|
|
||||||
display.setCursor(0,0);
|
display.setCursor(0,0);
|
||||||
display.print("I2C: ");
|
display.print("I2C: ");
|
||||||
display.print(readI2CRegister16bit(0x20, 0));
|
display.print(getSoilmoisture());
|
||||||
display.print(", ");
|
display.print(", ");
|
||||||
display.println(readI2CRegister16bit(0x20, 5) * 0.10 );
|
display.println(getTemperature(1));
|
||||||
/* display.print(", ");
|
/* display.print(", ");
|
||||||
writeI2CRegister8bit(0x20, 3); //request light measurement
|
writeI2CRegister8bit(0x20, 3); //request light measurement
|
||||||
display.println(readI2CRegister16bit(0x20, 4)); */
|
display.println(readI2CRegister16bit(0x20, 4)); */
|
||||||
|
|
||||||
display.print("DHT11: ");
|
display.print("DHT11: ");
|
||||||
display.print(dht.readTemperature());
|
display.print(getTemperature(0));
|
||||||
display.print(", ");
|
display.print(", ");
|
||||||
display.print(dht.readHumidity());
|
display.println(getHumidity());
|
||||||
//display.println(readI2CRegister16bit(0x20, 0));
|
|
||||||
display.display();
|
display.display();
|
||||||
|
|
||||||
|
|
||||||
digitalWrite(PINwater, HIGH);
|
display.print(":) Water: ");
|
||||||
delay(200);
|
display.println(getWaterlevel());
|
||||||
display.print("Water: ");
|
|
||||||
display.println(analogRead(PINAwater));
|
|
||||||
|
|
||||||
digitalWrite(PINwater, LOW);
|
|
||||||
|
|
||||||
display.display();
|
display.display();
|
||||||
delay(800);
|
delay(800);
|
||||||
|
|
Loading…
Reference in a new issue