87 lines
1.7 KiB
C++
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);
|
|
}
|