Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.50 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  4. #include <dht.h>
  5. dht DHT;
  6. #define DHT11_PIN 7
  7. #define piip 6
  8. #define nappi 5
  9. int multapinni_1 = A3;
  10.  
  11. int nappitila = 0;
  12. float multakosteus_1;
  13.  
  14. int lampoarvoyla = 24;
  15. int lampoarvoala = 19;
  16. int kosteusarvo = 18;
  17. float multalimit = 20;
  18.  
  19. byte aste[] = {B10000,B00110,B01001,B01000,B01000,B01001,B00110,B00000};
  20.  
  21. void setup()
  22. {
  23. lcd.begin(16,2);
  24. lcd.backlight();
  25. pinMode(piip, OUTPUT);
  26. pinMode(nappi, INPUT);
  27. lcd.createChar(0, aste);
  28. }
  29.  
  30. void loop() {
  31.  
  32. float chk = DHT.read11(DHT11_PIN);
  33. multakosteus_1 = analogRead(multapinni_1); multakosteus_1 = (1023-multakosteus_1)/1023*100;
  34.  
  35.  
  36. //______________________
  37. // PÄÄNÄYTTÖ
  38. //______________________
  39.  
  40. //Mullan kosteus (Ruukku 1)
  41.  
  42. nappitila = digitalRead(nappi);
  43. if(nappitila == HIGH){
  44. lcd.clear();
  45. while(nappitila == HIGH){
  46. multakosteus_1 = analogRead(multapinni_1); multakosteus_1 = (1023-multakosteus_1)/1023*100;
  47. lcd.setCursor(0,0);
  48. lcd.print("Ruukku 1: ");
  49. lcd.print(multakosteus_1);
  50. lcd.print("% ");
  51. delay(1000);
  52. nappitila = digitalRead(nappi);
  53. }
  54. delay(2000);
  55. lcd.clear();
  56. }
  57.  
  58.  
  59. //Ilmankosteus ja lämpötila
  60.  
  61. lcd.setCursor(0,0);
  62. lcd.print("Temp ");
  63. lcd.print(DHT.temperature);
  64. lcd.write((byte)0);
  65. lcd.setCursor(0,1);
  66. lcd.print("Humidity ");
  67. lcd.print(DHT.humidity);
  68. lcd.print("%");
  69. delay(1000);
  70.  
  71. lcd.setCursor(4,0);
  72. lcd.print(":");
  73. lcd.setCursor(8,1);
  74. lcd.print(":");
  75. delay(1000);
  76.  
  77.  
  78. //______________________
  79. // KUUMUUSHÄLYTYS
  80. //______________________
  81.  
  82. if (DHT.temperature > lampoarvoyla){
  83. for(int x=0; x<2; x++){
  84. lcd.setCursor(0,0);
  85. lcd.print("HOT! HOT! HOT! ");
  86. lcd.setCursor(0,1);
  87. lcd.print("Humidity: ");
  88. lcd.print(DHT.humidity);
  89. lcd.print("%");
  90. for (int i = 0; i < 5; i++) {
  91. for (int i = 0; i < 5; i++) {
  92. digitalWrite(piip, HIGH);
  93. delay(20);
  94. digitalWrite(piip, LOW);
  95. delay(1);
  96. }
  97. delay(1);
  98. }
  99. delay(500);
  100. lcd.setCursor(0,0);
  101. lcd.print(" ");
  102. lcd.setCursor(0,1);
  103. lcd.print("Humidity: ");
  104. lcd.print(DHT.humidity);
  105. lcd.print("%");
  106. delay(500);
  107. lcd.clear();
  108. }
  109. if (DHT.temperature > lampoarvoyla){
  110. lcd.setCursor(0,0);
  111. lcd.print("Temp: ");
  112. lcd.print(DHT.temperature);
  113. lcd.write((byte)0);
  114. delay(3000);
  115. }
  116. }
  117.  
  118.  
  119. //______________________
  120. // KYLMYYSHÄLYTYS
  121. //______________________
  122.  
  123. if (DHT.temperature < lampoarvoala){
  124. for(int x=0; x<2; x++){
  125. lcd.setCursor(0,0);
  126. lcd.print(" COLD! COLD! ");
  127. lcd.setCursor(0,1);
  128. lcd.print("Humidity: ");
  129. lcd.print(DHT.humidity);
  130. lcd.print("%");
  131. for (int i = 0; i < 5; i++) {
  132. for (int i = 0; i < 5; i++) {
  133. digitalWrite(piip, HIGH);
  134. delay(20);
  135. digitalWrite(piip, LOW);
  136. delay(1);
  137. }
  138. delay(1);
  139. }
  140. delay(500);
  141. lcd.setCursor(0,0);
  142. lcd.print(" ");
  143. lcd.setCursor(0,1);
  144. lcd.print("Humidity: ");
  145. lcd.print(DHT.humidity);
  146. lcd.print("%");
  147. delay(500);
  148. lcd.clear();
  149. }
  150. if (DHT.temperature < lampoarvoala){
  151. lcd.setCursor(0,0);
  152. lcd.print("Temp: ");
  153. lcd.print(DHT.temperature);
  154. lcd.write((byte)0);
  155. delay(3000);
  156. }
  157. }
  158.  
  159.  
  160. //______________________
  161. // KOSTEUSHÄLYTYS
  162. //______________________
  163.  
  164. if (DHT.humidity < kosteusarvo){
  165. for(int x=0; x<2; x++){
  166. lcd.setCursor(0,0);
  167. lcd.print("Temp: ");
  168. lcd.print(DHT.temperature);
  169. lcd.write((byte)0);
  170. lcd.setCursor(0,1);
  171. lcd.print(" DRY! DRY! DRY! ");
  172. lcd.setCursor(0,1);
  173. for (int i = 0; i < 5; i++) {
  174. for (int i = 0; i < 5; i++) {
  175. digitalWrite(piip, HIGH);
  176. delay(20);
  177. digitalWrite(piip, LOW);
  178. delay(1);
  179. }
  180. delay(1);
  181. }
  182. delay(500);
  183. lcd.setCursor(0,0);
  184. lcd.print("Temp: ");
  185. lcd.print(DHT.temperature);
  186. lcd.write((byte)0);
  187. lcd.setCursor(0,1);
  188. lcd.print(" ");
  189. delay(500);
  190. lcd.clear();
  191. }
  192. if (DHT.humidity < kosteusarvo){
  193. lcd.setCursor(0,1);
  194. lcd.print("Humidity: ");
  195. lcd.print(DHT.humidity);
  196. lcd.print("%");
  197. delay(3000);
  198. }
  199. }
  200.  
  201.  
  202. //______________________
  203. // MULTAHÄLYTYS 1
  204. //______________________
  205.  
  206. if (multakosteus_1 < multalimit){
  207. for(int x=0; x<5; x++){
  208. multakosteus_1 = analogRead(multapinni_1); multakosteus_1 = (1023-multakosteus_1)/1023*100;
  209. if (multakosteus_1 < multalimit){
  210. lcd.clear();
  211. lcd.setCursor(0,0);
  212. lcd.print("RUUKKU 1 KUIVA!");
  213. lcd.setCursor(0,1);
  214. lcd.print("KOSTEUS: ");
  215. lcd.print(multakosteus_1);
  216. lcd.print("%");
  217. for (int i = 0; i < 5; i++) {
  218. for (int x = 0; x < 5; x++) {
  219. digitalWrite(piip, HIGH);
  220. delay(20);
  221. digitalWrite(piip, LOW);
  222. delay(2);
  223. }
  224. delay(2);
  225. }
  226. delay(1000);
  227. lcd.setCursor(8,0);
  228. lcd.print(" ");
  229. multakosteus_1 = analogRead(multapinni_1); multakosteus_1 = (1023-multakosteus_1)/1023*100;
  230. lcd.setCursor(9,1);
  231. lcd.print(multakosteus_1);
  232. delay(1000);
  233. lcd.clear();
  234. }
  235. }
  236. if (multakosteus_1 < multalimit){
  237. lcd.setCursor(0,0);
  238. lcd.print("Temp: ");
  239. lcd.print(DHT.temperature);
  240. lcd.write((byte)0);
  241. lcd.setCursor(0,1);
  242. lcd.print("Humidity: ");
  243. lcd.print(DHT.humidity);
  244. lcd.print("%");
  245. delay(3000);
  246. }
  247. }
  248.  
  249. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement