Documentation:Electrical sub-team Arduino UNO code
#include <dht.h>
#define dht_apin A0
dht DHT;
#define door 7
#define heater 8
#define fan 9
#define motor 10
#define kswitch 11
// #define button 12
void setup() {
pinMode(7, INPUT_PULLUP);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, INPUT_PULLUP);
Serial.begin(9600);
// pinMode(12, INPUT_PULLUP);
}
// StateCount is set to 0
int fmv = 0;
int ffv = 0;
void turnon() {
for (int fadeValue = 0; fadeValue <= 255; fadeValue += 5){
analogWrite(motor, fadeValue);
fmv = fadeValue;
delay(30);
}
for (int fadeValue = 0; fadeValue <= 255; fadeValue += 5){
analogWrite(fan, fadeValue);
ffv = fadeValue;
delay(30);
}
digitalWrite(heater,HIGH);
delay(500);
}
void turnoff(){
for (int fadeValue = 255; fadeValue >= 0; fadeValue -= 5){
analogWrite(motor, fadeValue);
fmv = fadeValue;
delay(30);
}
for (int fadeValue = 255; fadeValue >= 0; fadeValue -= 5){
analogWrite(fan, fadeValue);
ffv = fadeValue;
delay(30);
}
digitalWrite(heater,LOW);
delay(500);
}
bool checkTemp() {
double setTemp = 40.0;
double Tempd = DHT.temperature - setTemp;
if (Tempd <= 0.0) {
return true;
}
else {
return false;
}
}
void loop() {
int doorS = digitalRead(door);
int kswitchS = digitalRead(kswitch);
Serial.println("kswitch:");
Serial.println(kswitchS);
Serial.println("doors:");
Serial.println(doorS);
while (kswitchS == 1) {
if (doorS == 1) {
if (ffv < 255 || fmv < 255){
turnon();
}
else {
analogWrite (motor, fmv);
analogWrite (fan, ffv);
digitalWrite(heater, HIGH);
}
}
else {
turnoff();
}
}
while (kswitchS != 1) {
if (ffv > 0 || fmv > 0){
turnoff();
}
else{
analogWrite (motor, 0);
analogWrite (fan, 0);
digitalWrite(heater, LOW);
}
}
}