Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #define win1Open1 4
- #define win1Close1 5
- #define win2Open1 6
- #define win2Open2 7
- #define win2Close1 8
- #define win2Close2 9
- //#define DoorOpen1 10
- //#define DoorOpen2 11
- //#define DoorClose1 12
- //#define DoorClose2 13
- // Data wire is plugged into pin 3 on the Arduino
- #define ONE_WIRE_BUS 3
- // Setup a oneWire instance to communicate with any OneWire devices
- OneWire oneWire(ONE_WIRE_BUS);
- // Pass our oneWire reference to Dallas Temperature.
- DallasTemperature sensors(&oneWire);
- // Assign the addresses of your 1-Wire temp sensors.
- // See the tutorial on how to obtain these addresses:
- // http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html
- DeviceAddress thermometer = { 0x28, 0xC8, 0xDC, 0x51, 0x07, 0x00, 0x00, 0x72 };
- int X = 0;
- int Y = 0;
- int Z = 0;
- int A = 0;
- //int B = 0;
- void setup(void)
- {
- pinMode (win1Open1, OUTPUT);
- pinMode (win1Close1, OUTPUT);
- pinMode (win2Open1, OUTPUT);
- pinMode (win2Open2, OUTPUT);
- pinMode (win2Close1, OUTPUT);
- pinMode (win2Close2, OUTPUT);
- //pinMode (DoorOpen1, OUTPUT);
- //pinMode (DoorOpen2, OUTPUT);
- //pinMode (DoorClose1, OUTPUT);
- //pinMode (DoorClose2, OUTPUT);
- digitalWrite (win1Open1, HIGH);
- digitalWrite (win1Close1, HIGH);
- digitalWrite (win2Open1, HIGH);
- digitalWrite (win2Open2, HIGH);
- digitalWrite (win2Close1, HIGH);
- digitalWrite (win2Close2, HIGH);
- //digitalWrite (DoorOpen1, HIGH);
- //digitalWrite (DoorOpen2, HIGH);
- //digitalWrite (DoorClose1, HIGH);
- //digitalWrite (DoorClose2, HIGH);
- // start serial port
- Serial.begin(9600);
- // Start up the library
- sensors.begin();
- // set the resolution to 10 bit (good enough?)
- sensors.setResolution(thermometer, 10);
- }
- void printlnTemperature(DeviceAddress deviceAddress)
- {
- float tempC = sensors.getTempC(deviceAddress);
- if (tempC == -127.00) {
- Serial.println("Error getting temperature");
- } else {
- Serial.println("C: ");
- Serial.println(tempC);
- }
- //Window 1
- //Luugi sulgemise aeg oli 1.43 103 sekundit
- if (tempC >= 15 && X == 0) { // if temp => +15C window 1 opens
- Serial.println("Temp is +15C. Open window 1.");
- digitalWrite(win1Open1, LOW);
- Serial.println("Opening window 1.");
- delay(40000); // time for open window
- digitalWrite(win1Open1, HIGH);
- X = 1;
- }
- if (tempC <= 14 && X == 1) { // if temp <= 14 window 1 closes
- Serial.println("Temp is +18C. Closing window 1.");
- X = 0;
- digitalWrite(win1Close1, LOW);
- delay(40000); // time for close window
- digitalWrite(win1Close1, HIGH);
- }
- if (tempC >= 22 && Z == 0) { // if temp => +22C window 1 opens
- Serial.println("Temp is +22C. Open window 1.");
- digitalWrite(win1Open1, LOW);
- delay(50000); // time for open window
- digitalWrite(win1Open1, HIGH);
- Z = 1;
- }
- if (tempC <= 21 && Z == 1) { // if temp <= 21 window 1 closes
- Serial.println("Temp is +21C. Closing window 1.");
- Z = 0;
- digitalWrite(win1Close1, LOW);
- delay(50000); // time for close window
- digitalWrite(win1Close1, HIGH);
- }
- //Window 2
- if (tempC >= 23 && Y == 0) { // if temp => +23C window 2 opens
- Serial.println("Temp is +23C. Open window 2.");
- digitalWrite(win2Open1, LOW);
- digitalWrite(win2Open2, LOW);
- delay(55000); // time for open window
- digitalWrite(win2Open1, HIGH);
- digitalWrite(win2Open2, HIGH);
- Y = 1;
- }
- if (tempC <= 22 && Y == 1) { // if temp <= 22 window 2 closes
- Serial.println("Temp is +22C. Close window 1.");
- Y = 0;
- digitalWrite(win2Close1, LOW);
- digitalWrite(win2Close2, LOW);
- delay(70000); // time for close window
- digitalWrite(win2Close1, HIGH);
- digitalWrite(win2Close2, HIGH);
- }
- if (tempC >= 26 && A == 0) { // if temp => +26C window 2 opens
- Serial.println("Temp is +26C. Open window 2.");
- digitalWrite(win2Open1, LOW);
- digitalWrite(win2Open2, LOW);
- delay(40000); // time for open window
- digitalWrite(win2Open1, HIGH);
- digitalWrite(win2Open2, HIGH);
- A = 1;
- }
- if (tempC <= 25 && A == 1) { // if temp <= 25 window 2 closes
- Serial.println("Temp is +25C. Close window 1.");
- A = 0;
- digitalWrite(win2Close1, LOW);
- digitalWrite(win2Close2, LOW);
- delay(40000); // time for close window
- digitalWrite(win2Close1, HIGH);
- digitalWrite(win2Close2, HIGH);
- }
- }
- void loop(void)
- {
- Serial.print("Getting temperatures...\n\r");
- sensors.requestTemperatures();
- Serial.print("Temperature is: ");
- printlnTemperature(thermometer);
- Serial.print("\n\r");
- delay(2000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement