Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SHT1x.h>
- // Specify data and clock connections and instantiate SHT1x object
- #define dataPin 3
- #define clockPin 2
- #define ButtonDecrease 6
- #define ButtonIncrease 7
- #define LEDLevel1 8
- #define LEDLevel2 9
- #define LEDLevel3 10
- #define LEDLevel4 11
- #define LEDLevel5 12
- #define Heater 13
- SHT1x sht1x(dataPin, clockPin);
- int array[5] {LEDLevel1,LEDLevel1,LEDLevel3,LEDLevel4,LEDLevel5}
- void setup()
- {
- Serial.begin(38400); // Open serial connection to report values to host
- Serial.println("Starting up");
- //Declare pin modes
- pinMode(ButtonDecrease, INPUT); //Input mode doesn't require pin state as there is no output
- pinMode(ButtonIncrease, INPUT);
- pinMode(LEDLevel1, OUTPUT);
- pinMode(LEDLevel2, OUTPUT);
- pinMode(LEDLevel3, OUTPUT);
- pinMode(LEDLevel4, OUTPUT);
- pinMode(LEDLevel5, OUTPUT);
- pinMode(Heater, OUTPUT);
- //Declare pin state
- digitalWrite(LEDLevel1, LOW);
- digitalWrite(LEDLevel2, LOW);
- digitalWrite(LEDLevel3, LOW);
- digitalWrite(LEDLevel4, LOW);
- digitalWrite(LEDLevel5, LOW);
- digitalWrite(Heater, HIGH); //Relay module is activated by LOW state, hence state should be HIGH at start to be OFF
- }
- void ledDriver(int value, int value2){
- for (byte count = 0; count < 4; count++){
- if (value < count){
- digitalWrite(count, HIGH);
- }else{
- digitalWrite(count, LOW);
- }
- }
- if ( currentTemp < value2){
- digitalWrite(Heater, HIGH);
- }else{
- digitalWrite(Heater, LOW);
- }
- }
- void loop()
- {
- //Temperature sensor code
- float temp_c;
- float temp_f;
- float humidity;
- int currentstate = 0; //the current state of level. 0 means heater is off.
- //1 means heater should heat to 40 degrees.
- //2 means heater should heat to 60 degrees.
- //3 means heater should heat to 80 degrees.
- //4 means heater should heat to 100 degrees.
- //5 means heater should heat to 120 degrees.
- //the heater should turn on and off constantly to maintain its temperature
- // Read values from the sensor
- temp_c = sht1x.readTemperatureC();
- temp_f = sht1x.readTemperatureF();
- humidity = sht1x.readHumidity();
- // Print the values to the serial port
- Serial.print("Temperature: ");
- Serial.print(temp_c, DEC);
- Serial.print("C / ");
- Serial.print(temp_f, DEC);
- Serial.print("F. Humidity: ");
- Serial.print(humidity);
- Serial.println("%");
- //Button function to increase or decrease the state which will then affect the heater at the end
- if(digitalRead(ButtonIncrease)==HIGH)
- {
- currentstate = currentstate + 1;
- }
- delay(50); //remove bouncing
- if(digitalRead(ButtonDecrease)==HIGH)
- {
- currentstate = currentstate - 1;
- }
- delay(50); //remove bouncing
- //Activation of heater and LED
- ledDriver(currentstate, );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement