Advertisement
Maderdash

kit

Aug 3rd, 2022
1,377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <SHT1x.h>
  2.  
  3. // Specify data and clock connections and instantiate SHT1x object
  4. #define dataPin  3
  5. #define clockPin 2
  6. #define ButtonDecrease 6
  7. #define ButtonIncrease 7
  8. #define LEDLevel1 8
  9. #define LEDLevel2 9
  10. #define LEDLevel3 10
  11. #define LEDLevel4 11
  12. #define LEDLevel5 12
  13. #define Heater 13
  14.  
  15. SHT1x sht1x(dataPin, clockPin);
  16. int array[5] {LEDLevel1,LEDLevel1,LEDLevel3,LEDLevel4,LEDLevel5}
  17.  
  18.  
  19. void setup()
  20. {
  21.    Serial.begin(38400); // Open serial connection to report values to host
  22.    Serial.println("Starting up");
  23.    //Declare pin modes
  24.    pinMode(ButtonDecrease, INPUT); //Input mode doesn't require pin state as there is no output
  25.    pinMode(ButtonIncrease, INPUT);
  26.    pinMode(LEDLevel1, OUTPUT);
  27.    pinMode(LEDLevel2, OUTPUT);
  28.    pinMode(LEDLevel3, OUTPUT);
  29.    pinMode(LEDLevel4, OUTPUT);
  30.    pinMode(LEDLevel5, OUTPUT);
  31.    pinMode(Heater, OUTPUT);
  32.    //Declare pin state
  33.    digitalWrite(LEDLevel1, LOW);
  34.    digitalWrite(LEDLevel2, LOW);
  35.    digitalWrite(LEDLevel3, LOW);
  36.    digitalWrite(LEDLevel4, LOW);
  37.    digitalWrite(LEDLevel5, LOW);
  38.    digitalWrite(Heater, HIGH); //Relay module is activated by LOW state, hence state should be HIGH at start to be OFF
  39. }
  40.  
  41. void ledDriver(int value, int value2){
  42.   for (byte count = 0; count < 4; count++){
  43.     if (value < count){
  44.       digitalWrite(count, HIGH);
  45.     }else{
  46.       digitalWrite(count, LOW);
  47.     }
  48.   }
  49.   if ( currentTemp < value2){
  50.     digitalWrite(Heater, HIGH);
  51.  
  52.   }else{
  53.     digitalWrite(Heater, LOW);
  54.   }
  55.  
  56. }
  57.  
  58.  
  59. void loop()
  60. {
  61. //Temperature sensor code
  62.   float temp_c;
  63.   float temp_f;
  64.   float humidity;
  65.  
  66.   int currentstate = 0; //the current state of level. 0 means heater is off.
  67.   //1 means heater should heat to 40 degrees.
  68.   //2 means heater should heat to 60 degrees.
  69.   //3 means heater should heat to 80 degrees.
  70.   //4 means heater should heat to 100 degrees.
  71.   //5 means heater should heat to 120 degrees.
  72.   //the heater should turn on and off constantly to maintain its temperature
  73.  
  74.   // Read values from the sensor
  75.   temp_c = sht1x.readTemperatureC();
  76.   temp_f = sht1x.readTemperatureF();
  77.   humidity = sht1x.readHumidity();
  78.  
  79.   // Print the values to the serial port
  80.   Serial.print("Temperature: ");
  81.   Serial.print(temp_c, DEC);
  82.   Serial.print("C / ");
  83.   Serial.print(temp_f, DEC);
  84.   Serial.print("F. Humidity: ");
  85.   Serial.print(humidity);
  86.   Serial.println("%");
  87.  
  88. //Button function to increase or decrease the state which will then affect the heater at the end
  89.  
  90.   if(digitalRead(ButtonIncrease)==HIGH)
  91.   {
  92.     currentstate = currentstate + 1;
  93.   }
  94. delay(50); //remove bouncing
  95.   if(digitalRead(ButtonDecrease)==HIGH)
  96.   {
  97.     currentstate = currentstate - 1;
  98.   }
  99. delay(50); //remove bouncing
  100. //Activation of heater and LED
  101. ledDriver(currentstate, );
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement