Advertisement
seston

kasvuhoone aknad 19.10.2016

Oct 18th, 2016
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.80 KB | None | 0 0
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3.  
  4. #define win1Open1 4
  5. #define win1Close1 5
  6.  
  7. #define win2Open1 6
  8. #define win2Open2 7
  9. #define win2Close1 8
  10. #define win2Close2 9
  11.  
  12. //#define DoorOpen1 10
  13. //#define DoorOpen2 11
  14.  
  15. //#define DoorClose1 12
  16. //#define DoorClose2 13
  17.  
  18.  
  19.  
  20.  
  21.  
  22. // Data wire is plugged into pin 3 on the Arduino
  23. #define ONE_WIRE_BUS 3
  24.  
  25. // Setup a oneWire instance to communicate with any OneWire devices
  26. OneWire oneWire(ONE_WIRE_BUS);
  27.  
  28. // Pass our oneWire reference to Dallas Temperature.
  29. DallasTemperature sensors(&oneWire);
  30.  
  31. // Assign the addresses of your 1-Wire temp sensors.
  32. // See the tutorial on how to obtain these addresses:
  33. // http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html
  34.  
  35. DeviceAddress thermometer = { 0x28, 0xC8, 0xDC, 0x51, 0x07, 0x00, 0x00, 0x72 };
  36.  
  37.  
  38.  
  39. int X = 0;
  40. int Y = 0;
  41. int Z = 0;
  42. int A = 0;
  43. //int B = 0;
  44.  
  45.  
  46.  
  47.  
  48.  
  49. void setup(void)
  50. {
  51.  
  52. pinMode (win1Open1, OUTPUT);
  53. pinMode (win1Close1, OUTPUT);
  54. pinMode (win2Open1, OUTPUT);
  55. pinMode (win2Open2, OUTPUT);
  56. pinMode (win2Close1, OUTPUT);
  57. pinMode (win2Close2, OUTPUT);
  58. //pinMode (DoorOpen1, OUTPUT);
  59. //pinMode (DoorOpen2, OUTPUT);
  60. //pinMode (DoorClose1, OUTPUT);
  61. //pinMode (DoorClose2, OUTPUT);
  62.  
  63.  
  64. digitalWrite (win1Open1, HIGH);
  65. digitalWrite (win1Close1, HIGH);
  66. digitalWrite (win2Open1, HIGH);
  67. digitalWrite (win2Open2, HIGH);
  68. digitalWrite (win2Close1, HIGH);
  69. digitalWrite (win2Close2, HIGH);
  70. //digitalWrite (DoorOpen1, HIGH);
  71. //digitalWrite (DoorOpen2, HIGH);
  72. //digitalWrite (DoorClose1, HIGH);
  73. //digitalWrite (DoorClose2, HIGH);
  74.  
  75.  
  76. // start serial port
  77. Serial.begin(9600);
  78. // Start up the library
  79. sensors.begin();
  80. // set the resolution to 10 bit (good enough?)
  81. sensors.setResolution(thermometer, 10);
  82.  
  83. }
  84.  
  85. void printlnTemperature(DeviceAddress deviceAddress)
  86. {
  87. float tempC = sensors.getTempC(deviceAddress);
  88. if (tempC == -127.00) {
  89. Serial.println("Error getting temperature");
  90. } else {
  91. Serial.println("C: ");
  92. Serial.println(tempC);
  93. }
  94.  
  95.  
  96. //Window 1
  97.  
  98. //Luugi sulgemise aeg oli 1.43 103 sekundit
  99.  
  100. if (tempC >= 15 && X == 0) { // if temp => +15C window 1 opens
  101. Serial.println("Temp is +15C. Open window 1.");
  102. digitalWrite(win1Open1, LOW);
  103.  
  104. Serial.println("Opening window 1.");
  105. delay(40000); // time for open window
  106. digitalWrite(win1Open1, HIGH);
  107. X = 1;
  108.  
  109. }
  110.  
  111. if (tempC <= 14 && X == 1) { // if temp <= 14 window 1 closes
  112. Serial.println("Temp is +18C. Closing window 1.");
  113.  
  114.  
  115. X = 0;
  116.  
  117. digitalWrite(win1Close1, LOW);
  118. delay(40000); // time for close window
  119. digitalWrite(win1Close1, HIGH);
  120.  
  121.  
  122.  
  123. }
  124.  
  125.  
  126. if (tempC >= 22 && Z == 0) { // if temp => +22C window 1 opens
  127. Serial.println("Temp is +22C. Open window 1.");
  128. digitalWrite(win1Open1, LOW);
  129. delay(50000); // time for open window
  130. digitalWrite(win1Open1, HIGH);
  131. Z = 1;
  132.  
  133. }
  134.  
  135. if (tempC <= 21 && Z == 1) { // if temp <= 21 window 1 closes
  136. Serial.println("Temp is +21C. Closing window 1.");
  137.  
  138.  
  139. Z = 0;
  140.  
  141. digitalWrite(win1Close1, LOW);
  142. delay(50000); // time for close window
  143. digitalWrite(win1Close1, HIGH);
  144.  
  145.  
  146.  
  147. }
  148.  
  149.  
  150.  
  151. //Window 2
  152.  
  153. if (tempC >= 23 && Y == 0) { // if temp => +23C window 2 opens
  154. Serial.println("Temp is +23C. Open window 2.");
  155. digitalWrite(win2Open1, LOW);
  156. digitalWrite(win2Open2, LOW);
  157. delay(55000); // time for open window
  158. digitalWrite(win2Open1, HIGH);
  159. digitalWrite(win2Open2, HIGH);
  160. Y = 1;
  161.  
  162. }
  163.  
  164. if (tempC <= 22 && Y == 1) { // if temp <= 22 window 2 closes
  165. Serial.println("Temp is +22C. Close window 1.");
  166.  
  167.  
  168. Y = 0;
  169.  
  170. digitalWrite(win2Close1, LOW);
  171. digitalWrite(win2Close2, LOW);
  172.  
  173. delay(70000); // time for close window
  174. digitalWrite(win2Close1, HIGH);
  175. digitalWrite(win2Close2, HIGH);
  176.  
  177.  
  178. }
  179.  
  180. if (tempC >= 26 && A == 0) { // if temp => +26C window 2 opens
  181. Serial.println("Temp is +26C. Open window 2.");
  182. digitalWrite(win2Open1, LOW);
  183. digitalWrite(win2Open2, LOW);
  184. delay(40000); // time for open window
  185. digitalWrite(win2Open1, HIGH);
  186. digitalWrite(win2Open2, HIGH);
  187. A = 1;
  188.  
  189. }
  190.  
  191. if (tempC <= 25 && A == 1) { // if temp <= 25 window 2 closes
  192. Serial.println("Temp is +25C. Close window 1.");
  193.  
  194.  
  195. A = 0;
  196.  
  197. digitalWrite(win2Close1, LOW);
  198. digitalWrite(win2Close2, LOW);
  199.  
  200. delay(40000); // time for close window
  201. digitalWrite(win2Close1, HIGH);
  202. digitalWrite(win2Close2, HIGH);
  203.  
  204.  
  205. }
  206.  
  207. }
  208.  
  209. void loop(void)
  210.  
  211.  
  212. {
  213. Serial.print("Getting temperatures...\n\r");
  214. sensors.requestTemperatures();
  215.  
  216. Serial.print("Temperature is: ");
  217. printlnTemperature(thermometer);
  218. Serial.print("\n\r");
  219. delay(2000);
  220.  
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement