shrooms-server/humdifier_controller/humdifier_controller.ino

87 lines
1.7 KiB
C++

/*
modified on Apr 10, 2021
Modified by MehranMaleki from Arduino Examples
Home
*/
// this is using the HiLetgo 5V 4 Channel Relay Shield
// pinout is apparently 7,6,5,4
#include <Wire.h>
#include "DFRobot_SHT20.h"
DFRobot_SHT20 sht20;
void fanOn() {
digitalWrite(7, HIGH);
}
void fanOff() {
digitalWrite(7, LOW);
}
void setup()
{
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
Serial.begin(115200);
//Serial.println("SHT20 Example!");
//Serial.println("temperature,humidity");
sht20.initSHT20(); // Init SHT20 Sensor
delay(100);
//sht20.checkSHT20(); // Check SHT20 Sensor
}
// relay 4
void toggle() {
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4, LOW);
}
// relay 3
void toggle2() {
digitalWrite(5, HIGH);
delay(100);
digitalWrite(5, LOW);
}
void toggle_test(int p) {
digitalWrite(p, HIGH);
delay(100);
digitalWrite(p, LOW);
}
void loop()
{
while (Serial.available()) {
const int c = Serial.read();
if (c == 's') {
// TODO dump the current status
float humd = sht20.readHumidity(); // Read Humidity
float temp = sht20.readTemperature(); // Read Temperature
float volts = (5.0f/1024.0f)*analogRead(A2);
float volts2 = (5.0f/1024.0f)*analogRead(A0);
Serial.print(humd);
Serial.print(",");
Serial.print(temp);
Serial.print(",");
Serial.print(volts);
Serial.print(",");
Serial.println(volts2);
} else if (c == 'h') {
toggle();
} else if (c == 'i') {
toggle2();
} else if (c >= 'A' && c <= 'Z') {
toggle_test(c - 'A');
}
}
delay(1);
}