- Nepieciešamās sastāvdaļas Arduino augu laistīšanas sistēmas projektam
- Ķēdes skaidrojums:
- Darba skaidrojums:
- Programmēšanas skaidrojums:
Ikreiz, kad mēs dodamies ārpus pilsētas uz dažām dienām, mēs vienmēr uztraucāmies par mūsu augiem, jo tiem regulāri nepieciešams ūdens. Tāpēc šeit mēs izgatavojam automātisko augu apūdeņošanas sistēmu, izmantojot Arduino, kas automātiski nodrošina ūdeni jūsu augiem un atjaunina jūs, nosūtot ziņojumu uz savu mobilo tālruni.
In Šī laistīšanas sistēmu, augsnes mitrums Sensoru pārbaudes mitruma līmenis augsnē un, ja mitruma līmenis ir zems, tad Arduino pārslēdzas uz ūdens sūkni, lai nodrošinātu ūdeni uz auga. Ūdens sūknis automātiski izslēdzas, kad sistēma augsnē atrod pietiekami daudz mitruma. Ikreiz, kad sistēma ieslēdz vai izslēdz sūkni, lietotājam tiek nosūtīts ziņojums, izmantojot GSM moduli, atjauninot ūdens sūkņa un augsnes mitruma stāvokli. Šī sistēma ir ļoti noderīga saimniecībās, dārzos, mājās utt. Šī sistēma ir pilnībā automatizēta, un nav nepieciešama nekāda cilvēka iejaukšanās.
Nepieciešamās sastāvdaļas Arduino augu laistīšanas sistēmas projektam
- Arduino Uno
- GSM modulis
- Tranzistors BC547 (2)
- Savienojošie vadi
- 16x2 LCD (pēc izvēles)
- Barošanas avots 12v 1A
- Relejs 12v
- Ūdens dzesētāja sūknis
- Augsnes mitruma sensors
- Rezistori (1k, 10k)
- Mainīgs pretestība (10k, 100k)
- Termināla savienotājs
- Sprieguma regulatora IC LM317
GSM modulis:
Šeit mēs izmantojām TTL SIM800 GSM moduli. SIM800 ir pilnīgs četrjoslu GSM / GPRS modulis, kuru klients vai hobijs var viegli ievietot. SIM900 GSM modulis nodrošina nozares standarta saskarni; SIM800 nodrošina GSM / GPRS 850/900/1800 / 1900MHz veiktspēju balss, SMS un datiem ar mazu enerģijas patēriņu. Šī SIM800 GSM moduļa dizains ir slaids un kompakts. Tas ir viegli pieejams tirgū vai tiešsaistē no eBay.
- Neliela izmēra četrjoslu GSM / GPRS modulis.
- GPRS iespējots
- TTL izeja
Uzziniet vairāk par GSM moduli un AT komandām šeit. Pārbaudiet arī mūsu dažādos projektus, izmantojot GSM un Arduino, lai pareizi izprastu to saskarni.
Ķēdes skaidrojums:
Šajā augu apūdeņošanas sistēmā mēs izmantojām pašmāju augsnes mitruma sensora zondi, lai noteiktu augsnes mitruma līmeni. Lai izveidotu zondi, mēs esam izgriezuši un iegravējuši ar varu pārklātu dēli saskaņā ar zemāk redzamo attēlu. Viena zondes puse ir tieši savienota ar Vcc, un cita zondes spaile iet uz BC547 tranzistora pamatni. Lai pielāgotu sensora jutību, tranzistora pamatnei ir pievienots potenciometrs.
Arduino tiek izmantots, lai kontrolētu visu šīs automātiskās augu laistīšanas sistēmas procesu. Augsnes sensora ķēdes izeja ir tieši savienota ar Arduino digitālo tapu D7. Sensora ķēdē tiek izmantots gaismas diode, šī gaismas diode ir ieslēgta, norādot mitruma klātbūtni augsnē, bet izslēgts - mitruma neesamību augsnē.
GSM modulis tiek izmantots īsziņu sūtīšanai lietotājam. Šeit mēs izmantojām TTL SIM800 GSM moduli, kas tieši dod un pārņem TTL loģiku (lietotājs var izmantot jebkuru GSM moduli). LM317 Voltage regulators tiek izmantots, lai darbinātu SIM800 GSM moduli. LM317 ir ļoti jutīgs pret sprieguma vērtējumu, un pirms lietošanas ieteicams izlasīt tā datu lapu. Tā darba spriegums ir no 3.8v līdz 4.2v (lūdzu, dodiet priekšroku 3.8v, lai to darbinātu). Zemāk ir parādīta strāvas padeves shēma, kas dota TTL sim800 GSM modulim:
Ja lietotājs vēlas izmantot SIM900 TTL moduli, viņam jāizmanto 5V, un, ja lietotājs vēlas izmantot SIM900 moduli, tad paneļa DC Jack slotā jāpielieto 12v.
12V Relay tiek izmantots, lai kontrolētu 220Vac mazo ūdens sūkni. Releju vada BC547 tranzistors, kas tālāk ir savienots ar Arduino digitālo tapu 11.
Statusa un ziņojumu parādīšanai tiek izmantots arī papildu LCD. LCD, RS un EN vadības tapas ir savienotas ar Arduino 14. un 15. tapu, un LCD D4-D7 datu tapas ir tieši savienotas Arduino 16., 17., 18. un 19. tapā. LCD tiek izmantots 4 bitu režīmā, un to vada Arduino iebūvētā LCD bibliotēka.
Zemāk ir šīs apūdeņošanas sistēmas shēma ar arduino un augsnes mitruma sensoru:
Darba skaidrojums:
Šīs automātiskās augu apūdeņošanas sistēmas darbība ir diezgan vienkārša. Pirmkārt, tā ir pilnībā automatizēta sistēma, un sistēmas vadībai nav nepieciešams darbaspēks. Arduino tiek izmantots visa procesa kontrolei, un GSM modulis tiek izmantots brīdinājuma ziņojumu sūtīšanai lietotājam uz viņa mobilo tālruni.
Ja augsnē ir mitrums, starp abām Augsnes mitruma sensora zondēm ir vadītspēja, un šīs vadīšanas dēļ tranzistors Q2 paliek ieslēgts / ieslēgts un Arduino tapa D7 paliek zema. Kad Arduino D7 nolasa LOW signālu, tas nosūta lietotājam īsziņu par “Augsnes mitrums ir normāls. Motors izslēgts ”un ūdens sūknis paliek izslēgtā stāvoklī.
Ja augsnē nav mitruma, tad tranzistors Q2 kļūst izslēgts, un tapa D7 kļūst augsta. Tad Arduino nolasa tapu D7 un ieslēdz ūdens motoru, kā arī nosūta lietotājam ziņojumu par “Zemā augsnē konstatēts mitrums. Motors ieslēgts ”. Motors automātiski izslēgsies, kad augsnē būs pietiekami daudz mitruma. Turpmāk pārbaudiet demonstrācijas video un kodu (kas norādīts beigās), lai labāk izprastu projekta darba procesu.
Programmēšanas skaidrojums:
Šīs programmas kods ir viegli saprotams. Vispirms mēs esam iekļāvuši SoftwareSerial bibliotēku, lai izveidotu 2. un 3. tapu kā Rx & Tx, kā arī LiquidCrystal LCD. Tad mēs definējām dažus mainīgos motoram, augsnes mitruma sensoram, LED utt.
# iekļaut
Pēc tam funkcijai void setup () sērijveida sakari tiek inicializēti ar ātrumu 9600 bps, un dažādiem tapām tiek doti norādījumi. Lai inicializētu GSM moduli, tiek pieprasīta funkcija gsmInit .
Serial1.begin (9600); Sērijas sākums (9600); pinMode (vadīts, OUTPUT); pinMode (motors, OUTPUT); pinMode (sensors, INPUT_PULLUP); lcd.print ("Ūdens apūdeņošana"); lcd.setCursor (4,1); kavēšanās (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("Jūs sveicina"); kavēšanās (2000); gsmInit ();
Tad sensors tiek nolasīts void loop () funkcijā, un motors tiek ieslēgts vai izslēgts atbilstoši sensora statusam, un lietotājam tiek nosūtīta arī īsziņa, izmantojot sendSMS funkciju. Pārbaudiet dažādas funkcijas pilnā kodā, kas norādīts beigās.
void loop () {lcd.setCursor (0,0); lcd.print ("Automātiskais režīms"); if (digitalRead (sensors) == 1 && flag == 0) {kavēšanās (1000); if (digitalRead (sensors) == 1) {digitalWrite (vadīts, AUGSTS); sendSMS ("Tika konstatēts zemas augsnes mitrums. Motors ieslēgts"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Šeit funkcija gsmInit () ir svarīga, un lietotājiem to ir grūti iestatīt, ja tas ir pareizi. To izmanto, lai inicializētu GSM moduli, kur vispirms pārbauda, vai modulis ir savienots, nosūtot 'AT' komandu uz GSM moduli. Ja atbilde ir saņemta labi, tas nozīmē, ka tā ir gatava. Sistēma turpina pārbaudīt moduli, līdz tas kļūst gatavs vai kamēr nav saņemts “OK”. Tad ECHO tiek izslēgts, nosūtot komandu ATE0, pretējā gadījumā GSM modulis atbalsos visas komandas. Tad visbeidzot tīkla pieejamība tiek pārbaudīta, izmantojot “AT + CPIN?” komandu, ja ievietotā karte ir SIM karte un ir PIN, tā sniedz atbildi GATAVS. To pārbauda arī atkārtoti, līdz tiek atrasts tīkls. To var skaidri saprast zemāk esošajā videoklipā.
void gsmInit () {lcd.clear (); lcd.print ("Moduļa atrašana.."); boolean at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Seriāls1.pieejams ()> 0) {if (Seriālais1.atrod ("Labi")) at_flag = 0; } kavēšanās (1000); }……………….
Tātad, izmantojot šo automātisko apūdeņošanas sistēmu, jums nav jāuztraucas par augiem, atrodoties prom no mājām. To var vēl vairāk uzlabot, lai to darbinātu un uzraudzītu internetā.