Tartalomjegyzék:
- Lépés: Blokkolja a rendszer diagramját
- 2. lépés: Az alkatrész részletei
- 3. lépés: Áramköri diagram
- 4. lépés: Működő videó- és kódfájl
- 5. lépés: Programkód
Videó: Üzemfigyelés SMS riasztással: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Itt létrehozom a növényfigyelést SMS riasztással. Ehhez a riasztórendszerhez nem szükséges szerver. Nagyon olcsó és megbízható projekt.
Lépés: Blokkolja a rendszer diagramját
A mai üvegházakban sok paramétermérésre van szükség
a növények jó minőségének és termelékenységének nyomon követésére és ellenőrzésére. A kívánt eredmények eléréséhez azonban néhány nagyon fontos tényező játszik szerepet, mint például a hőmérséklet, a páratartalom, a könnyű és a jó talaj, amelyek szükségesek a növények jobb növekedéséhez. Ezeket a paramétereket szem előtt tartva építettem egy automatikus növényfigyelő rendszert GSM modulon keresztül az Arduino segítségével. Ez a rendszer nagyon hatékony jó minőségű növények termesztéséhez. A másik fontos része ennek a projektnek az, hogy teljesen automatikus, és alacsony feszültségen dolgozik; 5-12V DC tápegység.
Napjainkban a GSM modult széles körben használják bármilyen adat SMS -küldésére. Ebben a projektben a SIM900A GSM modul használatával információkat tárolhatunk az éghajlat növényekre gyakorolt hatásairól. A rendszernek bemutatnia kell az éghajlati változásokat is, amelyek befolyásolják az üzem termelékenységét és minőségét, stb. A projekt kidolgozásának fő célja egy automatikus üzemfigyelés felépítése, amelyben a GSM modul információkat küld a hőmérsékletről, páratartalomról, fényintenzitásról, talajról nedvesség.
Mivel én vagyok az indiai állampolgár, használt SIM900A (A jelentése ázsiai hálózat) modul, de az Ön országának megfelelően más típusú SIM -modult is használhat. Az AT kódok eltérhetnek.
2. lépés: Az alkatrész részletei
------------------ Négyféle paramétert mérek, amelyek mennek
alább megbeszélni: ------------------
Hőmérséklet és páratartalom
A DHT11 érzékelő a hőmérséklet és a páratartalom érzékelésére szolgál. Ha a hőmérséklet és a páratartalom magas, a növény gyökere sérült, és a növény növekedése nem megfelelő.
Fényintenzitás
A fény intenzitása fontos tényező a növény növekedésében. A fényintenzitás érzékelésére LDR (fényfüggő ellenállást) használnak. A fény intenzitását LUX -ban mérik, ezért a demonstrációhoz 100 LUX fényt használnak meghatározott vagy küszöbértékként.
Talaj nedvesség
A talaj nedvességtartalma nagyon fontos a növények jó növekedéséhez. Itt a talajérzékelőt a talaj nedvességtartalmának mérésére használják. Ezzel az érzékelővel mindkét módon mérhetjük a talaj adatait, analóg és digitális is.
SMS értesítés:
Ha a fenti paraméterek bármelyikének értéke meghaladja a meghatározott szintet vagy kritikus szintet, a rendszer automatikusan SMS -t küld a tulajdonosnak vagy a kezelőnek a kapcsolódó paraméterekkel kapcsolatos információkkal, és amikor az érték ismét normál tartományba esik vagy a meghatározott szint alá kerül, a rendszer automatikusan SMS -t küldeni a tulajdonosnak vagy az üzemeltetőnek a kapcsolódó adatokkal.
Az értesítés csak egyszer kerül elküldésre, amíg a feltétel nem változik, így a tulajdonos vagy az üzemeltető nem kap gyakori SMS -t. Ezért alacsonyabb SMS -csomag szükséges.
3. lépés: Áramköri diagram
Ezek az alkatrészek könnyen elérhetők bármely online vásárlási oldalon
vagy ismert elektronikai alkatrész-kereskedőnél. Minden összetevő adatlapja elérhető a weben. Ha bármilyen nehézsége van, bátran vegye fel a kapcsolatot a leveleimben.
4. lépés: Működő videó- és kódfájl
A projekt utolsó munkavideója
5. lépés: Programkód
#befoglalni
#befoglalni
LiquidCrystal LCD (2, 3, 4, 5, 6, 7);
dht DHT; #definálja dht_dpin A1 #define LUX A0 #definálja a talajt A3
úszó volt, lux, érték; int output_value; int hőmérséklet, páratartalom; int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int ellenőrzés; int teszt, teszt1; bájt fok [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
üres beállítás ()
{Serial.begin (9600); // Soros inicializálás a GSM modemmel való kommunikációhoz lcd.begin (16, 2); pinMode (talaj, BEMENET); lcd.createChar (1, fok); lcd.setCursor (0, 0); lcd.print ("Növény -egészségügy"); lcd.setCursor (0, 1); lcd.print ("Figyelés"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("S K CHHAYA"); késleltetés (1000); lcd.clear (); } void loop () {output_value = analógRead (talaj); output_value = térkép (output_value, 550, 0, 0, 100); érték = analogRead (LUX); volt = (érték / 1023,0) * 5; lux = ((2500 / volt) - 500) / 3,3; késleltetés (10000); // Adjon elegendő időt a GSM regisztrálására a DHT.read11 hálózaton (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Hőmérséklet"); lcd.setCursor (0, 1); lcd.print (hőmérséklet = DHT.hőmérséklet); // Ideiglenes adatok LCD lcd.write (1); lcd.print ("C"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Páratartalom"); lcd.setCursor (0, 1); lcd.print (páratartalom = DHT.nedvesség); // Páratartalom adatok LCD lcd.print (" %"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Fény"); lcd.setCursor (0, 1); lcd.print (lux); // Fényadatok az LCD lcd.print -en ("LUM"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nedvesség"); lcd.setCursor (0, 1); lcd.print (output_value); // Talajadatok az LCD lcd.print -en (" %"); késleltetés (1000); lcd.clear ();
if (40. hőmérséklet) {SendSMS (); // SMS for Temp magas} if (páratartalom 40) {SendSMS2 (); // SMS a magas páratartalomhoz} if (lux 100) {SendSMS4 (); // SMS for Light high} if (output_value == 950) {SendSMS7 (); // SMS száraz talajhoz} else if (output_value! = 950) {SendSMS6 (); // SMS nedves talajhoz}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("Hőmérséklet magas"); Serial.print ("Temp"); Soros.nyomtatás (hőmérséklet); Soros.println ("C fok"); Sorozat.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Hőmérséklet magas"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Hőmérséklet"); lcd.setCursor (0, 1); lcd.print (hőmérséklet); lcd.write (1); lcd.print ("C"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); tempflag = 1; csekk = 0; teszt = 0; késleltetés (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("Alacsony hőmérséklet"); Serial.print ("Temp"); Soros.nyomtatás (hőmérséklet); Soros.println ("C fok"); Sorozat.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Alacsony hőmérséklet"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Hőmérséklet"); lcd.setCursor (0, 1); lcd.print (hőmérséklet); lcd.write (1); lcd.print ("C"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); tempflag = 0; csekk = 0; teszt = 0; késleltetés (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("Magas páratartalom"); Soros.nyomtatás (páratartalom); Serial.println (" %"); Sorozat.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Magas páratartalom"); késleltetés (1000); lcd.setCursor (0, 1); lcd.print ("Páratartalom"); lcd.print (páratartalom); lcd.print (" %"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); humflag = 1; csekk = 0; teszt = 0; késleltetés (10); }}
void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("Alacsony páratartalom"); Serial.print ("Páratartalom"); Soros.nyomtatás (páratartalom); Serial.println (" %"); Sorozat.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Alacsony páratartalom"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Páratartalom"); lcd.setCursor (0, 1); lcd.print (páratartalom); lcd.print (" %"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); humflag = 0; csekk = 0; teszt = 0; késleltetés (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // SMS küldése szöveges módban késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Váltás rendeltetési telefonszám késleltetésére (500); Serial.print ("Jó LIGHT"); Serial.print ("Intenzitás"); Soros.nyomtatás (lux); Serial.println ("LUX"); Sorozat.println ((char) 26); // a leállító karakter Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Jó fény"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzitás"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); fényzászló = 1; csekk = 0; teszt = 0; késleltetés (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("LOW LIGHT"); Serial.print ("Intenzitás"); Soros.nyomtatás (lux); Serial.println ("LUX"); Sorozat.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Gyenge fény"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intenzitás"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); lightflag = 0; csekk = 0; teszt = 0; késleltetés (10); }} void SendSMS6 () {if (groundflag == 0) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("Száraz talaj"); Serial.print ("Nedvesség"); Serial.print (output_value); Serial.println (" %"); Sorozat.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Száraz talaj"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nedvesség"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); groundflag = 1; csekk = 0; teszt = 0; késleltetés (10); }} void SendSMS7 () {if (groundflag == 1) {Serial.println ("AT+CMGF = 1"); késleltetés (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); késleltetés (500); Serial.print ("Nedves talaj"); Serial.print ("Nedvesség"); Serial.print (output_value); Serial.println (" %"); Sorozat.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nedves talaj"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nedvesség"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); késleltetés (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS küldése"); késleltetés (1000); lcd.clear (); groundflag = 0; csekk = 0; teszt = 0; késleltetés (10); }}
Ajánlott:
Varázslatos tükör hírekkel, időjárással, riasztással, időzítővel és Todolist: 9 lépés
Varázslatos tükör hírekkel, időjárással, riasztással, időzítővel és Todolist: A Magic Mirror egy speciális egyirányú tükör, mögötte kijelzővel. A Raspberry Pi -hez csatlakoztatott kijelző olyan információkat jelenít meg, mint az időjárás, a szobahőmérséklet, az idő, a dátum, a todolist és még sok más. Még mikrofont is hozzáadhat, és beállíthatja
Nagy Arduino LCD óra két riasztással és hőmérséklet -monitorral, IR TV vezérléssel: 5 lépés
Nagy Arduino LCD óra két riasztással és hőmérséklet -monitorral IR TV vezérléssel Távirányító: Hogyan készítsünk Arduino alapú LCD -órát két riasztással és az IR TV távirányítójával vezérelt hőmérséklet -monitorral
Automatikus fénykerítés áramkör riasztással: 4 lépés
Automata fénykerítés áramkör riasztással: Üdv mindenkinek. Itt visszatértem egy új utasítással. Egy könnyű kerítés áramkört használnak bármely ember vagy tárgy jelenlétének észlelésére egy adott területen. A fénykerítés áramkör érzékelési tartománya körülbelül 1,5–3 méter. A tervezés meglehetősen egyszerű
Figyelje a fűtőolaj -tartály gallonjait e -mailben, SMS -ben és push -bullet riasztással: 9 lépés (képekkel)
Figyelje a fűtőolaj -tartály gallonjait e -mailben, SMS -ben és push -bullet figyelmeztetéssel: BIZTONSÁGI INFORMÁCIÓK: Ha valaki szeretné megtudni, hogy " ez biztonságos -e építeni/telepíteni " - Ezt két különböző olajipari vállalathoz vittem visszajelzés/biztonsági megfontolások miatt, és ezt a tűzoltóság tűzvédelmi megelőzési helyettese C vezette
Üzemfigyelés és riasztások ESP8266 és AskSensors IoT Cloud segítségével: 6 lépés
Növényfigyelés és riasztások az ESP8266 és az AskSensors IoT Cloud segítségével: A projekt célja egy intelligens üzemfigyelő rendszer kiépítése az ESP8266 és az AskSensors IoT Platform segítségével. Ez a rendszer nyomon követhető a talaj nedvességtartalmával, és objektív kritériumokat szolgáltat az öntözési döntésekhez. amelyek segítenek az öntözés biztosításában