Taula de continguts:

Sistema d'alerta de sòl de baixa humitat per a la vostra planta: 5 passos
Sistema d'alerta de sòl de baixa humitat per a la vostra planta: 5 passos

Vídeo: Sistema d'alerta de sòl de baixa humitat per a la vostra planta: 5 passos

Vídeo: Sistema d'alerta de sòl de baixa humitat per a la vostra planta: 5 passos
Vídeo: Мужчина Строит Секретный Подземный БУНКЕР На Своем Заднем Дворе 2024, Desembre
Anonim
Sistema d'alerta de sòl de baixa humitat per a la vostra planta
Sistema d'alerta de sòl de baixa humitat per a la vostra planta

En diverses residències, és freqüent trobar pots amb diferents tipus de plantes. I amb el gran nombre d’activitats del dia a dia, la gent s’oblida de regar les seves plantes i acaba morint per falta d’aigua.

Com a manera d’evitar aquest problema, vam decidir crear un sistema per informar quan una planta no té aigua. D’aquesta manera, no oblidareu mai regar la vostra planta i es mantindrà viva durant molt de temps. A continuació, presentarem tot el desenvolupament d’aquest projecte.

Subministraments

  • PCBWay PCB personalitzat
  • Sensor analògic d'humitat del sòl per a Arduino
  • Arduino UNO
  • Cable de pont (genèric)
  • LCD estàndard: 16 x 2 blaus
  • Potenciòmetre rotatiu UTSOURCE 10k

Pas 1: desenvolupament de projectes

Desenvolupament de projectes
Desenvolupament de projectes

Una de les maneres que fem servir per detectar la quantitat d’aigua de la planta és mitjançant el paràmetre d’humitat. Per tant, com menys aigua hi ha al pot de la nostra planta, més baixa serà la humitat del sòl.

Per tant, hem d’utilitzar un sensor d’humitat per analitzar l’estat d’humitat de la nostra planta.

A través d’ell, vam instal·lar un circuit muntat a la placa amb Arduino, per realitzar el seguiment i la indicació de la baixa humitat del pot de cactus. Per tant, mitjançant la pantalla LCD per informar el nostre usuari sobre la humitat, tal com es mostra a la figura 1.

Pas 2: Inserció del sensor d'humitat al circuit

Inserció del sensor d’humitat al circuit
Inserció del sensor d’humitat al circuit
Inserció del sensor d’humitat al circuit
Inserció del sensor d’humitat al circuit

Des del circuit anterior, inserirem la sonda per mesurar la humitat a la planta que volem controlar. Al nostre projecte, inserim una sonda en un petit cactus, tal com es mostra a la figura 2.

Ara, veurem com projectar el treball pas a pas i, en endavant, aprendrem a crear el codi de control. Inicialment, quan no connectem el sensor a l’interior del pot, el dispositiu té un contingut baix d’humitat del 2% a l’exterior. el pot de cactus. Això es pot veure a la figura 3.

Pas 3: entendre els valors de la humitat

Comprendre els valors de la humitat
Comprendre els valors de la humitat
Comprendre els valors de la humitat
Comprendre els valors de la humitat

Aquest valor percentual baix representa una humitat baixa. Ara, després d’inserir el sensor a la terra del pot de cactus, es mostrarà un valor del 36%, com es mostra a la figura 4. És a dir, la nostra humitat és baixa i el sistema mostra el missatge Humitat baixa perquè el valor és menor superior al 60%.

El següent pas és regar el sòl del càntir del nostre cactus i podem comprovar l’augment del valor de la humitat fins al 69%.

Després d’entendre el funcionament del projecte, presentarem tota la lògica constructiva per crear aquest sistema de control. Comenceu!

Pas 4: Programació lògica

A continuació, la lògica de programació es presentarà a través del codi construït.

Inicialment, es va declarar la biblioteca de Display LCD, variables i es va crear un objecte LCD amb els seus pins de connexió amb Arduino UNO.

#incloure

#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; bytes UmidityPercent = 0, humitat = 0, Valor anterior = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

Després d'això, es va inicialitzar la funció de configuració i la pantalla LCD 16x2 i es va configurar el pin del sensor com a entrada. Finalment, vam fer la primera lectura del sensor i vam utilitzar-la com a referència per a la variable PreviousValue, com es mostra a continuació.

{Serial.begin (9600); lcd.begin (16, 2); pinMode (sensor, INPUT); Valor anterior = Llegir analògic (sensor); }

Amb les variables creades i les ordres de la funció de configuració del buit, explicarem tota la programació lògica de la funció de bucle.

// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Mostra o valor da porta analogica no serial monitor Serial.print ("Analog Port:"); Serial.println (AnalogValue); UmidityPercent = mapa (Valor Analògic, 0, 1023, 0, 100); humitat = 100 - Umidesa percentual;

A la funció de bucle, es va llegir el valor analògic i es va assignar el valor en un interval de 0 i 100. Aquest valor representa un percentatge d’humitat del sòl. Quan la humitat és alta al món, el valor s’acosta a 0 i, si la humitat és baixa, el valor s’acosta a 100.

Per facilitar la representació del valor i evitar que la lectura de l'usuari sigui confusa, invertim aquesta lògica i representem que el 0% serà humitat baixa i el 100% alta humitat. Això es va fer mitjançant el càlcul realitzat després del mapatge.

humitat = 100 - Umidesa percentual;

Després de llegir, el valor d'humitat s'ha de presentar a la pantalla LCD. El següent pas és verificar si el valor de la humitat és diferent del seu valor més 1 o del seu valor menys 1, segons la condició següent.

if ((humitat> (Valor anterior) +1) || (humitat <(Valor anterior) - 1))

Aquesta condició s'utilitza per evitar que el sistema presenti el mateix valor diverses vegades a la pantalla LCD. Però, quan la condició és certa, el sistema presentarà el valor a la pantalla LCD i verificarà si el valor és superior o igual al 60% o inferior al 60%. Si el valor era superior o igual al 60%, el sistema present el missatge Alta humitat, en cas contrari, presenta el missatge Humitat baixa, com es mostra a continuació.

if ((humitat> (Valor anterior) +1) || (humitat <(Valor anterior) - 1)) {lcd.setCursor (1, 0); lcd.print ("Humitat:"); lcd.print (""); lcd.setCursor (11, 0); impressió lcd (humitat); lcd.print ("%"); if (humitat = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Alta humitat"); HighUmid = 1; LowUmid = 0; } Valor anterior = humitat; }

Finalment, el sistema emmagatzemarà el valor de la variable humitat a la variable Valor anterior per actualitzar-ne el valor. Cada vegada que es mostra un valor nou a la pantalla, la variable Valor anterior es realitza per utilitzar-la en altres cicles de processament del codi. Per tant, es tracta d’un sistema senzill que s’utilitza per controlar la humitat de les plantes a les nostres residències i informar als usuaris sobre el nivell d’humitat del sòl.

Pas 5: Agraïments

El laboratori Silícios agraeix a PCBWay el seu suport i la seva col·laboració. I tenim molts avantatges per a vosaltres. Guanyeu 10 PCB gratuïts i moltes monedes de mongetes (Més informació) per canviar productes al lloc web de PCBWay.

A més d’ells, el laboratori Silícios agraeix UTSOURCE pel seu suport per oferir-nos components electrònics de baix cost, de gran qualitat i bon servei.

Recomanat: