1#include <TSServo.h>
2#include <DHT.h>
3#include <rgb_lcd.h>
4
5TSServo servo_pin_4;
6int _ABVAR_1_compt = 0 ;
7int _ABVAR_2_affich = 0 ;
8int _ABVAR_3_Lum = 0 ;
9void __ardublockDigitalWrite(int pinNumber, boolean status)
10{
11 pinMode(pinNumber, OUTPUT);
12 digitalWrite(pinNumber, status);
13}
14
15int _ABVAR_4_TempInt = 0 ;
16DHT dht22_pin_3(3, 22);
17
18int _ABVAR_5_HumidInt = 0 ;
19int _ABVAR_6_HumidTerre = 0 ;
20rgb_lcd rgbLcd;
21
22void Affichage();
23void Ouverture_serre();
24
25void setup()
26{
27 servo_pin_4.attach(4);
28 dht22_pin_3.begin();
29
30 rgbLcd.begin(16,2);
31 rgbLcd.setRGB(constrain(0,0,255),constrain(255,0,255),constrain(0,0,255));
32 servo_pin_4.write( 600, 20, 0, 180 );
33
34 _ABVAR_1_compt = 0 ;
35
36 _ABVAR_2_affich = 0 ;
37
38}
39
40void loop()
41{
42 _ABVAR_3_Lum = analogRead(1) ;
43 if (( ( _ABVAR_3_Lum ) < ( 500 ) ))
44 {
45 __ardublockDigitalWrite(6, HIGH);
46 while ( ( ( _ABVAR_1_compt ) < ( 150 ) ) )
47 {
48 _ABVAR_4_TempInt = dht22_pin_3.readTemperature() ;
49 _ABVAR_5_HumidInt = dht22_pin_3.readHumidity() ;
50 _ABVAR_6_HumidTerre = analogRead(0) ;
51 Affichage();
52 Ouverture_serre();
53 _ABVAR_1_compt = ( _ABVAR_1_compt + 1 );
54 }
55
56 __ardublockDigitalWrite(6, LOW);
57 delay( 1000 );
58 _ABVAR_1_compt = 0;
59 }
60 else
61 {
62 if (( ( _ABVAR_3_Lum ) > ( 500 ) ))
63 {
64 __ardublockDigitalWrite(6, LOW);
65 while ( ( ( _ABVAR_1_compt ) < ( 150 ) ) )
66 {
67 _ABVAR_4_TempInt = dht22_pin_3.readTemperature() ;
68 _ABVAR_5_HumidInt = dht22_pin_3.readHumidity() ;
69 _ABVAR_6_HumidTerre = analogRead(0) ;
70 Affichage();
71 Ouverture_serre();
72 _ABVAR_1_compt = ( _ABVAR_1_compt + 1 );
73 }
74
75 }
76 _ABVAR_1_compt = 0;
77 }
78}
79
80void Ouverture_serre()
81{
82 if (( ( _ABVAR_4_TempInt ) > ( 25 ) ))
83 {
84 servo_pin_4.write( 230, 20, 0, 180 );
85 }
86 if (( ( _ABVAR_4_TempInt ) <= ( 23 ) ))
87 {
88 servo_pin_4.write( 610, 20, 0, 180 );
89 }
90}
91
92void Affichage()
93{
94 if (( ( _ABVAR_2_affich ) == ( 0 ) ))
95 {
96 rgbLcd.setCursor(0, 0);
97 rgbLcd.print("Temp Int:" );
98 rgbLcd.print(_ABVAR_4_TempInt );
99 rgbLcd.print(" ");
100 rgbLcd.setCursor(0, 1);
101 rgbLcd.print("Humid Int:" );
102 rgbLcd.print(_ABVAR_5_HumidInt );
103 rgbLcd.print(" ");
104 _ABVAR_2_affich = ( _ABVAR_2_affich + 1 );
105 delay( 1 * 1000);
106 }
107 if (( ( _ABVAR_2_affich ) == ( 1 ) ))
108 {
109 if (( ( _ABVAR_6_HumidTerre ) < ( 300 ) ))
110 {
111 rgbLcd.setCursor(0, 1);
112 rgbLcd.print("Sol sec :o" );
113 rgbLcd.print(" ");
114 }
115 if (( ( ( _ABVAR_6_HumidTerre ) > ( 300 ) ) && ( ( _ABVAR_6_HumidTerre ) < ( 700 ) ) ))
116 {
117 rgbLcd.setCursor(0, 1);
118 rgbLcd.print("Sol mouille ^-^" );
119 rgbLcd.print(" ");
120 }
121 if (( ( _ABVAR_6_HumidTerre ) > ( 700 ) ))
122 {
123 rgbLcd.setCursor(0, 1);
124 rgbLcd.print("J'ai plus soif" );
125 rgbLcd.print(" ");
126 }
127 delay( 1 * 1000);
128 _ABVAR_2_affich = 0;
129 }
130}
131
132
133