Documentation:Electrical sub-team Arduino UNO code

From UBC Wiki

#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);

    }

  }

}