INHOUDSOPGAWE:
- Stap 1: Blokdiagram van die stelsel
- Stap 2: Komponentdetail
- Stap 3: Kringdiagram
- Stap 4: Werk video en kode lêer
- Stap 5: Kode van program
Video: Plantmonitering met SMS -waarskuwing: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hier skep ek plantmonitering met SMS -waarskuwing. Bediener is nie nodig vir hierdie waarskuwingstelsel nie. Dit is 'n baie goedkoop en betroubare projek.
Stap 1: Blokdiagram van die stelsel
In die kweekhuise van vandag is baie parametermetings nodig
om die goeie kwaliteit en produktiwiteit van plante te monitor en te beheer. Maar om die gewenste resultate te behaal, is daar 'n paar baie belangrike faktore wat speel, soos temperatuur, humiditeit, lig en goeie grond, wat nodig is vir 'n beter plantgroei. Met inagneming van hierdie parameters, het ek 'n outomatiese plantmoniteringstelsel gebou op 'n GSM -module met behulp van Arduino. Hierdie stelsel is baie doeltreffend vir die verbouing van plante van goeie gehalte. Die ander belangrike deel van hierdie projek is dat dit volledig outomaties is en op lae spanning werk; 5-12V DC toevoer.
Deesdae word GSM -module wyd gebruik vir die stuur van SMS -status van enige soort data. Hier in hierdie projek kan ons met behulp van die SIM900A GSM -module inligting oor die uitwerking van die klimaat op plante bewaar. Die stelsel sal ook klimaatsveranderinge toon wat die plant se produktiwiteit en kwaliteit beïnvloed, ens. Die hoofdoel van hierdie projek is om 'n outomatiese plantmonitering op te stel waarin die GSM -module inligting oor temperatuur, humiditeit, ligintensiteit, grond stuur vog.
Omdat ek die Indiese burger is, het ek die SIM900A -module (A staan vir Asiatiese netwerk) gebruik, maar u kan 'n ander SIM -module volgens u land gebruik. Die AT -kodes kan verskil.
Stap 2: Komponentdetail
------------------ Ek meet vier tipes parameters, wat gaan
om hieronder te bespreek: ------------------
Temperatuur en humiditeit
Die DHT11 -sensor word gebruik om temperatuur en humiditeit te meet. As die temperatuur en humiditeit hoog is, is die wortel van plante beskadig en die groei van die plant nie goed nie.
Ligte intensiteit
Ligintensiteit is 'n belangrike faktor vir die plantegroei. Vir die opsporing van ligintensiteit word LDR (ligafhanklike weerstand) gebruik. Die intensiteit van lig word gemeet in LUX en daarom word 100 LUX -lig vir demonstrasie gebruik soos gedefinieer of drempelvlak.
Grondvog
Grondvog bevat baie belangrik vir goeie groei van plante. Hier word grondsensor gebruik om die voginhoud in die grond te meet. Met hierdie sensor kan ons gronddata op beide maniere meet, analoog sowel as digitaal.
SMS -kennisgewing:
As die waarde van enige van die bogenoemde parameters oorskry word vanaf 'n gedefinieerde vlak of kritieke vlak, stuur die stelsel outomaties SMS na die eienaar of die operateur met inligting oor verwante parameters en as die waarde binne normale omvang of weer onder die gedefinieerde vlak kom, stuur die stelsel outomaties stuur 'n SMS na die eienaar of die operateur met inligting oor verwante data.
Die kennisgewing word slegs een keer gestuur totdat die toestand nie verander nie, sodat die eienaar of operateur nie gereeld SMS ontvang nie. Laer SMS -pakket word dus benodig.
Stap 3: Kringdiagram
Al hierdie onderdele is maklik beskikbaar by enige aanlyn inkopiesentrum
of by 'n bekende elektroniese onderdele-handelaar. Alle gegewensblaaie vir komponente is op die web beskikbaar. As u probleme ondervind, kontak my gerus.
Stap 4: Werk video en kode lêer
Laaste werkvideo van die projek
Stap 5: Kode van program
#insluit
#insluit
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
dht DHT; #definieer dht_dpin A1 #definieer LUX A0 #definieer grond A3
float volt, lux, waarde; int output_waarde; int temperatuur, humiditeit; int ligvlag = 0; int humflag = 0; int grondvlag = 0; int tempflag = 0; int tjek; int toets, toets1; greepgraad [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
leemte opstelling ()
{Serial.begin (9600); // Initialiseer reeks om met GSM -modem te kommunikeer lcd.begin (16, 2); pinMode (grond, INVOER); lcd.createChar (1, graad); lcd.setCursor (0, 0); lcd.print ("Plantgesondheid"); lcd.setCursor (0, 1); lcd.print ("Monitering"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("Deur S K CHHAYA"); vertraging (1000); lcd.clear (); } leemte lus () {output_value = analogRead (grond); output_value = kaart (output_value, 550, 0, 0, 100); waarde = analogRead (LUX); volt = (waarde / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3.3; vertraging (10000); // Gee genoeg tyd vir GSM om op Network DHT.read11 (dht_dpin) te registreer; lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (temperatuur = DHT.temperatuur); // Temp data op LCD lcd.write (1); lcd.print ("C"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humiditeit"); lcd.setCursor (0, 1); lcd.print (humiditeit = DHT.vochtigheid); // Humiditeitsdata op LCD lcd.print (" %"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Lig"); lcd.setCursor (0, 1); lcd.print (lux); // Lig data op LCD lcd.print ("LUM"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vog"); lcd.setCursor (0, 1); lcd.print (uitvoerwaarde); // Gronddata op LCD lcd.print (" %"); vertraging (1000); lcd.clear ();
as (temperatuur 40) {SendSMS (); // SMS vir Temp high} if (humiditeit 40) {SendSMS2 (); // SMS vir humiditeit hoog} if (lux 100) {SendSMS4 (); // SMS vir Light high} if (output_value == 950) {SendSMS7 (); // SMS vir droë grond} anders as (output_value! = 950) {SendSMS6 (); // SMS vir Wet Soil}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("Temp High"); Serial.print ("Temp"); Reeks.afdruk (temperatuur); Serial.println ("graad C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("temperatuur"); lcd.setCursor (0, 1); lcd.print (temperatuur); lcd.write (1); lcd.print ("C"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); tempflag = 1; tjek = 0; toets = 0; vertraging (10); }} ongeldig SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("Lae temp,"); Serial.print ("Temp"); Reeks.afdruk (temperatuur); Serial.println ("graad C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("temperatuur"); lcd.setCursor (0, 1); lcd.print (temperatuur); lcd.write (1); lcd.print ("C"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); tempflag = 0; tjek = 0; toets = 0; vertraging (10); }} ongeldig SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("humiditeit hoog"); Reeks.afdruk (humiditeit); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("humiditeit hoog"); vertraging (1000); lcd.setCursor (0, 1); lcd.print ("Humiditeit"); lcd.print (humiditeit); lcd.print (" %"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); humflag = 1; tjek = 0; toets = 0; vertraging (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("Lae humiditeit"); Serial.print ("Humiditeit"); Reeks.afdruk (humiditeit); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("lae humiditeit"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humiditeit"); lcd.setCursor (0, 1); lcd.print (humiditeit); lcd.print (" %"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); humflag = 0; tjek = 0; toets = 0; vertraging (10); }} ongeldig SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Om SMS te stuur in die teksmodusvertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Wissel na bestemming telefoonnommer vertraging (500); Serial.print ("Goeie LIG"); Serial.print ("Intensiteit"); Reeks.afdruk (lux); Serial.println ("LUX"); Serial.println ((char) 26); // die stopkarakter Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Goeie lig"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiteit"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); ligvlag = 1; tjek = 0; toets = 0; vertraging (10); }} ongeldig SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("LOW LIGHT,"); Serial.print ("Intensiteit"); Reeks.afdruk (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lae lig"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiteit"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); ligvlag = 0; tjek = 0; toets = 0; vertraging (10); }} void SendSMS6 () {if (soilflag == 0) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("droë grond,"); Serial.print ("Vog"); Serial.print (uitvoerwaarde); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("droë grond"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vog"); lcd.setCursor (0, 1); lcd.print (uitvoerwaarde); lcd.print (" %"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); grondvlag = 1; tjek = 0; toets = 0; vertraging (10); }} void SendSMS7 () {if (soilflag == 1) {Serial.println ("AT+CMGF = 1"); vertraging (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); vertraging (500); Serial.print ("nat grond"); Serial.print ("Vog"); Serial.print (uitvoerwaarde); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("nat grond"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Vog"); lcd.setCursor (0, 1); lcd.print (uitvoerwaarde); lcd.print (" %"); vertraging (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS stuur"); vertraging (1000); lcd.clear (); grondvlag = 0; tjek = 0; toets = 0; vertraging (10); }}
Aanbeveel:
GPS -motorsporing met sms -kennisgewing en oplaai van Thingspeak -data, gebaseer op Arduino, tuisautomatisering: 5 stappe (met foto's)
GPS -motoropsporing met SMS -kennisgewing en oplaai van Thingspeak -data, op Arduino gebaseer, tuisautomatisering: ek het hierdie GPS -spoorsnyer verlede jaar gemaak, en aangesien dit goed werk, publiseer ek dit nou op Instructable. Dit is gekoppel aan die bykomstige prop in my bagasiebak. Die GPS -spoorsnyer laai die motor se posisie, spoed, rigting en die gemete temperatuur op via 'n mobiele data
Hoe om SIM800L te gebruik om SMS'e te stuur en relais per SMS te stuur: 3 stappe
Hoe om SIM800L te gebruik om SMS'e te stuur en 'n relais per SMS te stuur: Beskrywing: Hierdie handleiding wys hoe u SIM800L kan gebruik om sms'e te stuur en sms'e te stuur om die relais te beheer. Die SIM800L -module is klein en kan gebruik word om met Arduino in verbinding te tree om sms'e te stuur, sms'e te ontvang, te bel, te bel en nog meer. In hierdie tutoriaal
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Plantmonitering en -waarskuwings met ESP8266 en AskSensors IoT Cloud: 6 stappe
Plantmonitering en -waarskuwings met ESP8266 en AskSensors IoT Cloud: Hierdie projek het ten doel om 'n slim moniteringstelsel vir plante te bou met behulp van ESP8266 en die AskSensors IoT -platform. wat help om besproeiing te verseker
Stuur 'n sms met tyd: 5 stappe (met foto's)
Stuur 'n SMS met temperatuur betyds: die idee is om 'n temperatuur -sms van my vadershuis te kry. Niks lus om net vinnig dele bymekaar te maak nie.Die onderdele is: Geekcreit ® ATmega328P Nano V3 Controller Board Compatible ArduinoDIY NANO IO Shield V1.O Expansion Board For ArduinoDS130