Professional Documents
Culture Documents
problém, protože nemohou být zalévat ty dny, kdy nejsi doma. Kromě
toho zahradní obchody obvykle prodávají druh gelu, který rostlinu hydratuje
a vyživuje asi měsíc. Ale s tím teplem, které to je, nebo pokud odejdete na
více než měsíc, budete potřebovat poněkud lepší systém, aby po návratu
byli stále naživu a energičtí.
Pokud trochu procházíte webem, najdete různé projekty tohoto typu, ale
možná nejzajímavější je zahrada. V tom se budu inspirovat pro tento
projekt, protože se domnívám, že ostatní zavlažovací systémy, které
používají pouze čidla vlhkosti a nic jiného, nejsou tak úplné.
Index
1 Co potřebuješ
2 Jak nastavit automatický zavlažovací systém
o 2.1 programování
3 Zdroje
Co potřebuješ
L materiály potřebné pro váš automatický zavlažovací systém Zvuk:
programování
Nyní byste měli napsat kód potřebný v Arduino IDE abyste mohli
programovat mikrokontrolér, který spravuje hardware, který jste použili.
Nastal čas přizpůsobit vhodnou teplotu, vlhkost a světelné hodnoty vodě ve
vaší oblasti, protože se může lišit v závislosti na tom, kde se nacházíte.
Příklad, který můžete použít jako základnu, je (nechal jsem komentáře, kde
můžete upravit hodnoty, zbytek můžete nechat takhle):
1 #include <SimpleDHT.h>
2 #include <SPI.h>
3 #define humidity_sensor_pin A0
4 #define ldr_pin A5
5 //Bibliotecas para los módulos sensores usados necesarias
6 //Y definición de variables para los sensores de humedad y LDR en los pines A0 y A5
7
8 int pinDHT11 = 2;
9 SimpleDHT11 dht11;
10 int ldr_value = 0;
int water_pump_pin = 3;
11
int water_pump_speed = 255;
12
//Aquí puedes dar valores desde 0 a 255 para la velocidad a la que trabajará la minibom
13
//Haz pruebas previas del caudal y configura la. Yo he //elegido 255 pero ustedes puede
14 void setup() {
15 Serial.begin(9600);
16 }
17 void loop() {
18 // Mide la temperatura y humedad relativa y muestra resultado
19 Serial.println(“*******************************”);
20 Serial.println(“Muestra DHT11…”);
21
22 byte temperature = 0;
23 byte humidity_in_air = 0;
24 byte data[40] = {0};
25 if (dht11.read(pinDHT11, &temperature, &humidity_in_air, data)) {
26 Serial.print(“Lectura del sensor DHT11 fallida”);
27 return;
28 }
29
30 Serial.print(“Muestra RAW Bits: “);
31 for (int i = 0; i < 40; i++) { Serial.print((int)data[i]); if (i > 0 && ((i + 1) % 4
Serial.print(‘ ‘);
32
}
33
}
34
Serial.println(“”);
35
36 Serial.print(“Muestra OK: “);
37 Serial.print(“Temperatura: “);Serial.print((int)temperature); Serial.print(” *C, “);
38 Serial.print(“Humedad relativa en aire: “);Serial.print((int)humidity_in_air); Serial
39
40 int ground_humidity_value = map(analogRead(humidity_sensor_pin), 0, 1023, 100, 0);
41 Serial.print(“Humedad en suelo: “);
42 Serial.print(ground_humidity_value);
43 Serial.println(“%”);
44
45 int ldr_value = map(analogRead(ldr_pin), 1023, 0, 100, 0);
46 Serial.print(“Luz: “);
47 Serial.print(ldr_value);
48 Serial.println(“%”);
49 Serial.println(“*******************************”);
50
//**************************************************************
51
// Condiciones de riego
52
// Si la humedad en el suelo es igual o inferior al 60%, si la luminosidad es inferior
53
// Si la temperatura es inferior al 35%, entonces el sistema de riego riega.
54 // En caso de que no se cumpla alguno o ninguno de los 3 requisitos anteriores,
55 // el sistema de riego no riega
56 //**************************************************************
57 //Aquí puedes variar los parámetros que necesites de 60, 35 y 30, e incluso usar otros
58 if( ground_humidity_value <= 60 && ldr_value<30 && temperature<35) {
59 digitalWrite(water_pump_pin, HIGH);
60 Serial.println(“Irrigación”);
61 analogWrite(water_pump_pin, water_pump_speed);
62
63 }
64 else{
65 digitalWrite(water_pump_pin, LOW);
66 Serial.println(“Riego detenido”);
67
68 }
delay (2000);
69
// Ejecuta el código cada 2000 milisegundos, es decir, 2 segundos. Puedes variar la fre
70
}
71
72
73
74