Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Sistem Penyiraman Tanaman Otomatis – Kode Sumber Lengkap, Rangkaian & Laporan Proyek – Unduh PDF

Pendahuluan

Dalam operasi sehari-hari terkait penyiraman tanaman adalah praktik budidaya yang paling penting dan tugas yang paling memerlukan tenaga kerja. Tidak peduli cuaca seperti apa, terlalu panas dan dingin atau terlalu kering dan basah sangat penting untuk mengontrol jumlah air yang sampai ke tanaman. Jadi, akan efektif untuk menggunakan ide sistem penyiraman tanaman otomatis yang menyiram tanaman saat mereka membutuhkannya. Aspek penting dari proyek ini adalah: “kapan dan berapa banyak menyiram”. Untuk mengurangi aktivitas manual bagi manusia untuk menyiram tanaman, ide sistem penyiraman tanaman diadopsi. Metode yang digunakan untuk memantau tingkat kelembaban tanah secara kontinu dan untuk memutuskan apakah penyiraman diperlukan atau tidak, dan berapa banyak air yang diperlukan dalam tanah tanaman. Proyek ini dapat dikelompokkan ke dalam subsistem seperti; pasokan daya, rel, solenoid valve, Arduino GSM shield, Sensor kelembaban tanah dan LCD.

Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Esensialnya, sistem dirancang dan diprogram sedemikian rupa sehingga sensor kelembaban tanah merasakan tingkat kelembaban tanaman pada waktu tertentu, jika tingkat kelembaban sensor lebih rendah dari nilai ambang yang ditentukan sebelumnya yang telah ditetapkan berdasarkan kebutuhan air tanaman tertentu maka jumlah air yang diinginkan disuplaykan sampai mencapai nilai ambang yang ditentukan sebelumnya.

Sistem melaporkan keadaan saat ini dan mengirim pesan pengingat tentang penyiraman tanaman dan untuk menambahkan air ke tangki. Semua notifikasi ini dapat dilakukan dengan menggunakan Arduino GSM shield.

Tujuan proyek:

Karena saat ini, di era teknologi dan elektronika canggih, gaya hidup manusia harus menjadi cerdas, lebih sederhana, lebih mudah dan jauh lebih nyaman. Jadi, oleh karena itu; ada kebutuhan akan banyak sistem otomatis dalam rutinitas kehidupan sehari-hari manusia untuk mengurangi aktivitas dan pekerjaan harian mereka. Di sini ide sistem yang dinamakan sistem penyiraman tanaman otomatis sangat berguna. Karena banyak orang menghadapi banyak masalah dalam menyiram tanaman di taman, terutama ketika mereka jauh dari rumah. Model ini menggunakan teknologi sensor dengan mikrokontroler untuk membuat perangkat switching cerdas untuk membantu jutaan orang.

Dalam bentuk paling dasarnya, sistem diprogram sedemikian rupa sehingga sensor kelembaban tanah yang merasakan tingkat kelembaban dari tanaman pada waktu tertentu, jika tingkat kelembaban sensor lebih rendah dari nilai ambang yang ditentukan sebelumnya yang telah ditetapkan berdasarkan tanaman tertentu maka jumlah air yang diinginkan disuplaykan ke tanaman sampai tingkat kelembabannya mencapai nilai ambang yang ditentukan sebelumnya. Sistem melibatkan sensor kelembaban dan suhu yang melacak atmosfer saat ini sistem dan memiliki pengaruh saat penyiraman terjadi. Solenoid valve akan mengontrol aliran air dalam sistem, saat Arduino membaca nilai dari sensor kelembaban ia memicu solenoid valve berdasarkan kondisi yang diinginkan. Selain itu, sistem melaporkan keadaan saat ini dan mengirim pesan pengingat tentang penyiraman tanaman dan menerima SMS dari penerima. Semua notifikasi ini dapat dilakukan dengan menggunakan Arduino GSM shield.

Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Latar Belakang Sistem

Telah dipelajari di sekolah dari buku-buku ilmu pengetahuan bahwa tanaman sangat penting untuk seluruh kemanusiaan dalam banyak aspek. Karena mereka menjaga lingkungan tetap bersih dengan menghasilkan oksigen segar dari waktu ke waktu. Sistem penyiraman tanaman otomatis semakin banyak dilihat seiring dengan meningkatnya objek sehari-hari yang terhubung dengan teknologi canggih, sistem ini diterapkan dengan tingkat yang semakin tinggi. Tempat seperti rumah serta pada tingkat industri. Penggunaan utama sistem ini adalah efisiensi dan mudah digunakan.

Sistem penyiraman tanaman memberikan kemampuan bagi pecinta tanaman untuk merawat tanaman rumah mereka saat mereka jauh – melalui penggunaan komponen yang efisien dan andal seperti berbagai jenis teknologi sensor.

Ada beberapa jenis sistem penyiraman tanaman indoor yang berbeda/sederhana, tergantung pada tingkat otomatisasi yang diperlukan.

Dalam laporan pdf akhir (tautan unduhan gratis diberikan di akhir konten posting), bagian-bagian berikut dijelaskan secara detail.

Proyek Terkait: Apa itu Mikrokontroler ATMega & Cara Membuat Proyek LED dengannya?

Spesifikasi Produk & Komponen

Requirement ID SRS-GSM-001
Judul Modul GSM
Deskripsi Sistem termasuk modul GSM, yang mengirim SMS peringatan ke penerima dan menerima SMS dari pengguna.
Versi Versi 1.0
Requirement ID SRS-Mikrokontroler -001
Judul ATmega328p
Deskripsi Sistem termasuk mikrokontroler yang biasanya hadir dengan Arduino Uno. Mikrokontroler ini membaca pembacaan dari sensor dan mengontrol seluruh sistem.
Versi Versi 1.0
Requirement ID SRS-Suhu dan Kelembaban-001
Judul DHT11
Deskripsi Sistem termasuk sensor suhu dan kelembaban, yang melacak nilai suhu dan kelembaban saat ini dari lingkungan sekitar dan mengirim pembacaan kembali ke mikrokontroler.
Versi Versi 1.0
Requirement ID SRS-Kelembaban-001
Judul Sensor Kelembaban Tanah Grove
Deskripsi Sistem termasuk sensor kelembaban tanah, yang mengambil pembacaan dari kelembaban tanah dan mengirim pembacaan kembali ke mikrokontroler.
Versi Versi 1.0
Requirement ID SRS-LCD-001
Judul Hitachi 16×2 LCD
Deskripsi Sistem termasuk antarmuka LCD untuk pengguna, yang menampilkan pembacaan yang diambil oleh berbagai sensor dalam sistem.
Versi Versi 1.0

Posting Terkait: Pemrograman Arduino: Apa itu Arduino dan Cara Memrogramnya?

Sistem Penyiraman Tanaman Otomatis Berbasis Arduino:

Diagram Blok Sistem Penyiraman Tanaman Otomatis

Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Diagram Skematik Rangkaian Sistem Penyiraman Tanaman & Irigasi Otomatis

Menurut sistem ini ada dua komponen fungsional dalam proyek ini yaitu Sensor kelembaban dan motor/pompa air. Dalam bentuk paling dasarnya sensor kelembaban merasakan tingkat kelembaban tanah. Kemudian motor/pompa air menyuplaykan air ke tanaman.

Klik gambar untuk memperbesarSistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Skematik di atas dalam gambar di atas menjelaskan perilaku keseluruhan sistem. Proyek menggunakan Arduino Uno untuk mengontrol motor. Ini terdiri dari H-bridge yang mengontrol aliran motor servo yaitu arah jarum jam atau berlawanan jarum jam. Dengan perkembangan kabel polimer dan elastomer, stress cones premoulded juga telah diperkenalkan. Sensor kelembaban mengukur tingkat tanah dan mengirim sinyal ke Arduino lalu Arduino akan membuka motor servo jika penyiraman diperlukan. Kemudian motor/pompa air menyuplaykan air ke tanaman sampai tingkat kelembaban yang diinginkan tercapai.Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Dari prototipe dalam gambar di atas sensor kelembaban merasakan tingkat kelembaban dan mengirim sinyal ke Arduino dan kemudian Arduino membuka pompa air dengan bantuan H-bridge dan menyiram tanaman tertentu. Ini dilakukan dengan menggunakan perangkat lunak Arduino IDE.

Proyek Terkait: Proyek Elektronik Kontrol Lalu Lintas Lampu Lalu Lintas menggunakan IC 4017 & Timer 555

Desain Proyek

Bagian ini membahas pekerjaan yang selesai dalam desain perangkat lunak dan desain perangkat keras. Ini juga masuk ke wawasan tentang apa yang dimasukkan dalam sistem dan mengapa berbagai komponen dipilih untuk membuat sistem Penyiraman Tanaman Otomatis yang lengkap. Pertimbangkan diagram dalam gambar yang menunjukkan model konseptual dasar sistem menggunakan komponen yang dipilih.Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Fungsi diagram blok yang ditunjukkan dalam gambar di atas dari sistem penyiraman tanaman otomatis diilustrasikan di bawah ini:

Detail komponen lebih lanjut dapat ditemukan dalam file pdf (di bawah)

Proyek Terkait: Apa itu Raspberry Pi? Membuat Proyek menggunakan Raspberry Pi

Desain Perangkat Keras

Skematik Sensor

Gambar di bawah ini menunjukkan skematik rangkaian Sensor. Karena semua sensor terhubung dengan pin analog Arduino A0-A3. Pin A0 disediakan untuk sensor suhu dan kelembaban sedangkan pin A1-A3 disediakan untuk sensor kelembaban. Semua sensor memiliki daya dan Ground umum 5V seperti yang ditunjukkan dalam skematik.Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Skematik LCD:

Gambar di bawah ini menunjukkan skematik LCD. Pin digital 8 – 13 disediakan untuk LCD seperti yang ditunjukkan dalam Skematik. Pin 1 dan Pin 3 adalah daya dan ground sedangkan pin 2 adalah pin kontras pada LCD yang mengontrol kontras dan terhubung dengan potensiometer. Hal yang harus diperhatikan saat menghubungkan LCD adalah pin digital dari Arduino dan pin data dari LCD harus dihubungkan dalam urutan yang benar jika tidak LCD akan menampilkan sampah pada layar.Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Skematik Solenoid

Diagram di bawah dalam gambar di bawah menunjukkan diagram rangkaian rangkaian solenoid. Pin digital 4 – 7 disediakan untuk Solenoid. Karena rangkaian terdiri dari rel, transistor, resistor, dan LED alih-alih solenoid (CadStar tidak memiliki simbol Solenoid). Dalam skematik rel menggunakan 5V. Sedangkan 5V juga masuk ke saluran NO rel juga karena dalam skematik LED mengganti solenoid yang bekerja pada (5V) diikuti oleh resistor 220-ohm.

Jadi, saat tegangan diterapkan ke basis transistor. Transistor beralih ke ground memungkinkan kail rel untuk terionisasi dan beralih sendiri ke saluran Tertutup Biasa, karena itu LED yang terhubung ke rel tertentu menyala dan saat tegangan yang diterapkan pada basis transistor turun, transistor beralih kembali ke normal dan kail rel menjadi de-magnetized dan rel beralih ke saluran NO lagi, karena itu LED mati lagi.Sistem Penyiraman Tanaman Otomatis & Irigasi: Desain Rangkaian, Kode, dan Laporan Proyek

Setelah menyelesaikan semua Skematik rangkaian, langkah selanjutnya adalah membangunnya pada Veroboard. Penting untuk merancang rangkaian pada lembar perencanaan tata letak stripboard terlebih dahulu karena ada prinsip-prinsip tertentu untuk merancang rangkaian pada Veroboard yaitu sebagai berikut:

  1. Tandai garis daya Vs dan GND terlebih dahulu di kanan atas lembar perencanaan tata letak stripboard.
  2. Ingat untuk memotong track antara pin IC. Tandai potongan pada diagram dengan X.
  3. Cobalah untuk membuat resistor dan kapasitor axial berbaring datar pada stripboard. Resistor biasanya membutuhkan jarak 4 lubang, kapasitor jarak 8 lubang.
  4. Jika mungkin nomor pin IC. Sisi bawah Veroboard terdiri dari track tembaga di mana tegangan mengalir bekerja secara horizontal. Berbagai desain Veroboard dari skematik di atas ditunjukkan di bawah ini:

Proyek Terkait: Pengontrol Tingkat Air Otomatis Sepenuhnya menggunakan SRF04

Desain Perangkat Lunak

Setelah perangkat keras selesai, saatnya untuk menguji perangkat keras dengan perangkat lunak. Dalam bagian ini, implementasi desain perangkat lunak akan dijelaskan secara detail untuk setiap otomatisasi/teknologi yang digunakan dalam sistem. Ini termasuk kode Arduino yang ditulis dan diunggah ke Arduino.

Pertama yang dilakukan adalah untuk mendapatkan rangkaian solenoid bekerja dan bagaimana solenoid akan bertindak dari sudut pandang mikrokontroler. Untuk ini, sebuah diagram alur kecil telah dibuat yang dapat dilihat di bagian alur perangkat lunak dalam gambar di atas.

Arduino IDE digunakan untuk mengunggah perangkat lunak ke Arduino. Untuk rangkaian solenoid dasar, program sederhana ditulis yang基本nya membuat LED berkedip setiap 1 detik. pin digital 4, 5, 6 dan 7 didefinisikan awalnya yang menguji program dan rangkaian. Jadi, saat program berjalan itu membuat semua inisialisasi dasar, mendefinisikan semua pin output dalam void setup () dan kemudian melompat ke void loop () tempat ia terus berjalan dan membuat LED berkedip setiap 1 detik.

Setelah itu, program kecil ditulis dan diunggah ke Arduino yang mendapatkan pembacaan dari berbagai sensor dan mencetaknya di LCD. Untuk ini, diagram alur kecil telah dibuat yang juga dapat dilihat di bagian alur perangkat lunak dalam gambar yang diberikan. Saat program pergi ke void loop () ia mendapatkan pembacaan dari sensor dan melakukan semua perhitungan dasar dan mencetaknya di LCD.

Proyek Dasar Elektronik Terkait: Sistem Kontrol Lampu Jalan Otomatis menggunakan LDR & Transistor BC 547

Hal selanjutnya adalah untuk mengunggah perangkat lunak untuk modul GSM ke Arduino, melalui yang GSM dapat berkomunikasi dengan mikrokontroler. Uji modem dilakukan awalnya yang melakukan semua inisialisasi dasar dan perpustakaan untuk GSM dan mendapatkan nomor IMEI dan melihat apakah modem berfungsi dengan baik saat mulai berkomunikasi dengan Arduino. Langkah selanjutnya adalah uji koneksi jaringan yang dasarnya menginisialisasi GSM dan menampilkan semua jaringan lain yang dapat didukung oleh modul GSM.

Setelah modul GSM diuji dan berfungsi dengan baik saatnya untuk menggunakan modul GSM untuk berkomunikasi dengan penerima, yang berarti mengirim SMS ke penerima dan menerima SMS dari mereka. Untuk melakukannya, program kabel Arduino sederhana lainnya ditulis dan diunggah ke Arduino. Program menginisialisasi GSM dan mengirim SMS ke penerima sebaliknya program Arduino lainnya ditulis di mana GSM menerima SMS dari pengguna akhir.

Akhirnya, setelah semua desain perangkat lunak selesai saatnya untuk menggabungkan semua desain perangkat lunak bersama dan membangun perangkat lunak yang berfungsi akhir untuk sistem. Pendekatan algoritma yang berbeda telah diterapkan yang dapat dilihat di bagian alur perangkat lunak untuk membuat perangkat lunak akhir berfungsi dan melakukan apa yang seharusnya dilakukan. Gambar di atas menunjukkan kerja perangkat lunak akhir tempat ia mengambil pembacaan, mengirim SMS, menerima SMS dan mulai melakukan apa yang sebelumnya dilakukan.

Catatan: Semua kode perangkat lunak dapat dilihat di lampiran di bawah.

CATATAH: semua kode perangkat lunak dapat dilihat di lampiran. Keluaran dari uji modem dan uji koneksi jaringan tidak dimasukkan dalam laporan karena laporan sebenarnya dilakukan setelah pengiriman perangkat keras.

Proyek Terkait: Cara membuat proyek Elektronik & Listrik Dasar di LabVIEW?

Konstruksi dan Pengujian Perangkat Lunak Proyek

Setelah semua desain perangkat keras dan perangkat lunak selesai dengan sukses saatnya untuk konstruksi dan pengujian proyek. Dalam bagian laporan ini, detail akan diberikan tentang bagaimana desain perangkat keras yang berbeda diimplementasikan dan diuji. Bagian ini juga membicarakannya apakah ada masalah tersembunyi dalam kode perangkat lunak yang penting untuk dipecahkan dan dihindari dan untuk membangun proyek dengan sukses. proses langkah demi langkah dapat dilihat dalam laporan proyek lengkap dalam file pdf yang diberikan di bawah seperti prosedur konstruksi dan pengujian.

Pengujian Perangkat Lunak

Tahap pengujian perangkat lunak juga merupakan aspek penting dalam pengembangan proyek. Pengujian perangkat lunak adalah prosedur menjalankan program atau aplikasi dengan tujuan untuk menemukan bug perangkat lunak. Ini juga dapat dinyatakan sebagai proses memvalidasi dan memverifikasi bahwa program perangkat lunak atau aplikasi memenuhi persyaratan teknisnya, bekerja sebagaimana diterima dan dapat dieksekusi dengan tanda tangan yang serupa. Untuk melakukan pengujian perangkat lunak pendekatan yang berbeda telah diadopsi. Dokumen spesifikasi persyaratan perangkat lunak (SRS) ditulis yang sepenuhnya mengatasi perilaku yang diharapkan dari sistem perangkat lunak.

Proyek Terkait: Rangkaian Saklar Tepukan Proyek Elektronik menggunakan Timer 555

Requirement ID SRS- Sensor -010
Judul Sensor
Deskripsi Sensor dalam sistem mengambil pembacaan dan mengirimkannya kembali ke mikrokontroler.
Versi V 1.0
Requirement ID SRS- Data -020
Judul Tampilan Data
Deskripsi Saat pengguna mencoba mendapatkan pembacaan dari sistem. Tampilan harus menampilkan data ke pengguna contoh: nilai suhu dan kelembaban diikuti oleh pembacaan kelembaban.
Versi V1.0
Requirement ID SRS- Mikrokontroler -030
Judul Mikrokontroler
Deskripsi Mikrokontroler dalam sistem bertindak sebagai otak sistem yang mengelola semua dalam sistem
Versi V1.0
Requirement ID SRS- Kunci -040
Judul Kunci
Deskripsi Kunci dalam sistem memperluas pin digital untuk mikrokontroler
Versi V1.0
Requirement ID SRS- GSM-050
Judul GSM
Deskripsi Sistem akan bereaksi dengan mengirim SMS peringatan ke penerima setiap kali mikrokontroler memberitahunya untuk melakukannya.
Versi V1.0

Setelah menulis dokumen SRS desain perangkat lunak pindah ke tahap pengujian statis yang termasuk peninjauan dokumen. Inilah tempat verifikasi persyaratan terjadi. Ada empat jenis metode verifikasi yang berbeda yang didefinisikan di bawah ini:

  1. Inspeksi (I): verifikasi kontrol atau visual
  2. Analisis (A): verifikasi berdasarkan bukti analitis
  3. Demonstrasi (D): verifikasi karakteristik operasional, tanpa pengukuran kuantitatif.
  4. Pengujian (T): verifikasi karakteristik kuantitatif dengan pengukuran kuantitatif. Untuk setiap persyaratan dari dokumen SRS, metode verifikasi didefinisikan dengan singkatan I, A, D dan T.

Verifikasi:

Requirement ID Judul Persyaratan Metode
REQ-010 Verifikasi bahwa sensor sistem mendapatkan pembacaan I
REQ-020 Verifikasi bahwa Data ditampilkan pada layar. D
REQ-030 Terverifikasi bahwa mikrokontroler sistem mengelola atau bekerja dengan baik karena memberikan hasil 100% untuk setiap permintaan. D
REQ-040 Verifikasi bahwa rangkaian kunci melakukan apa yang seharusnya dilakukan. Itu mengambil 3 input dan mengeluarkan 8 pin A
REQ-050 Verifikasi bahwa SMS telah dikirim dan diterima oleh GSM D

Hasil

Karena semua pengujian dilakukan dengan hasil yang memuaskan. Karena tidak ada hasil khusus yang harus didokumentasikan. Karena sistem bekerja dengan sensor kelembaban dan DHT11 (suhu dan kelembaban) yang mengambil pembacaan berdasarkan suhu dan kelembaban ruangan saat ini. Pembacaan dari sensor kelembaban dalam rangkaian juga tergantung pada tingkat kelembaban saat ini untuk tanaman. Selain itu, hasil keseluruhan yang keluar dari rangkaian dalam hal fungsionalitas baik untuk motivasi.

Posting Terkait: Pemrograman PWM Arduino dan fungsi-fungsinya di Arduino

Kode perangkat lunak akhir dan lengkap untuk Sistem Penyiraman Tanaman & Irigasi Otomatis

Catatan: Kode lainnya yang terkait dengan proyek dapat ditemukan dalam file pdf seperti Contoh Kode untuk menguji Katup Solenoid, Kode untuk menguji Sensor Sistem, Kode Uji Modem GSM, Kode Koneksi Jaringan GSM, Kode Mengirim Peringatan SMS GSM, Kode Menerima SMS GSM,

Kode Proyek Penyiraman Tanaman Otomatis Akhir

#include <dht.h> #define dht_dpin A0 dht DHT; //———————– #include <LiquidCrystal.h> LiquidCrystal lcd (8, 9, 10, 11, 12, 13); //———————————- int plantPotMoisture[3] = {A1, A2, A3}; //——————— #include <GSM.h> #define PINNUMBER “” GSM gsmAccess; // include a ‘true’ parameter for debug enabled GSM_SMS sms; char remoteNumber[] = “0899506304”; String moistureMessage = “Moisture is Low on sensor: “; String SMS_Alert = “Sending SMS!”; String humidityMsg = “Humidity is High. Open All Solenoids”; String tempMsg = “Temperature is too HIGH!..Open ALl Solenoids “; String messageBuffer = “”; char senderNumber[20]; String stringOne = “Opens1”; String stringTwo = “Opens2”; String stringThree = “Opens3”; String stringFour = “OpenAll”; //————— #define solenoidData 5 #define solenoidClockster 4 #define solenoidLatch 6 //————— const int master = 0; const int slave1 = 1; const int slave2 = 2; const int slave3 = 3; boolean takeReadings = true; int serialSolenoidOutput = 0; void setup() { pinMode(solenoidData, OUTPUT); pinMode(solenoidClockster, OUTPUT); pinMode(solenoidLatch, OUTPUT); digitalWrite(solenoidLatch, HIGH); digitalWrite(solenoidLatch, LOW); shiftOut(solenoidData, solenoidClockster, MSBFIRST, 0); digitalWrite(solenoidLatch, HIGH); //————————- Serial.begin(9600); lcd.begin (16, 2); lcd.clear(); lcd.setCursor(0, 0); lcd.print(“Wait Until”); lcd.setCursor(0, 1); lcd.print(“GSM Initialized!”); boolean notConnected = true; while (notConnected) { if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { Serial.println(“Not connected”); delay(1000); } } } void loop() { if (takeReadings) { moistureSensor(); TempAndHumidity (); if (DHT.humidity > 50 || DHT.temperature > 25 && takeReadings ) { takeReadings = false; if (DHT.humidity > 50) { sendSMS(humidityMsg); } else if (DHT.temperature > 25) { sendSMS(tempMsg); } while (!takeReadings) recieveSMS(); } if (plantPotMoisture[0] > 30 || plantPotMoisture[1] > 30 || plantPotMoisture[2] > 30 && takeReadings) { takeReadings = false; if (plantPotMoisture[0] > 30) { sendSMS(moistureMessage + “1”); } else if (plantPotMoisture[1] > 30) { sendSMS(moistureMessage + “2”); } else { sendSMS(moistureMessage + “3”); } while (!takeReadings) recieveSMS(); } } } void moistureSensor() { for (int i = 0 ; i < 3; i++) { lcd.clear(); plantPotMoisture[i] = analogRead(i); plantPotMoisture[i] = map(plantPotMoisture[i], 550, 0, 0, 100); Serial.print(“Mositure” + i ); lcd.print(“Mositure” + i); Serial.print(plantPotMoisture[i]); lcd.print(plantPotMoisture[i]); Serial.println(“%”); lcd.print(“%”); delay(1000); } } void TempAndHumidity () { DHT.read11(dht_dpin); lcd.setCursor(0, 0); lcd.print(“Humidity=”); Serial.print(“Current humidity = “); Serial.print(DHT.humidity); lcd.print(DHT.humidity); lcd.print(“%”); Serial.print(“%”); Serial.print(“temperature = “); Serial.print(DHT.temperature); Serial.println(“C”); lcd.setCursor(0, 1); lcd.print(“temp=”); lcd.print(DHT.temperature); lcd.print(“C “); delay(1000); lcd.clear(); } void sendSMS(String messageToSend) { Serial.print(“Sending a message to mobile number: “); Serial.println(remoteNumber); Serial.println(“SENDING”); lcd.print(SMS_Alert); Serial.println(); Serial.println(“Message:”); Serial.println(messageToSend); sms.beginSMS(remoteNumber); sms.print(messageToSend); sms.endSMS(); Serial.println(“\nCOMPLETE!\n”); lcd.clear(); lcd.print(“Completed!!!”); } void recieveSMS() { char c; if (sms.available()) { lcd.clear(); lcd.print(“Message received from:”); delay(800); lcd.clear(); sms.remoteNumber(senderNumber, 20); lcd.print(senderNumber); while (c = sms.read()) { Serial.println(c); messageBuffer += c; } Serial.println(messageBuffer); if (messageBuffer == stringOne) { toggleSolenoid1(); takeReadings = true; } else if (messageBuffer == stringTwo) { toggleSolenoid2(); takeReadings = true; } else if (messageBuffer == stringThree) { toggleSolenoid3(); takeReadings = true; } else if (messageBuffer == stringFour) { toggleAll(); takeReadings = true; } else { takeReadings = true; } messageBuffer = “”; Serial.println(“\nEND OF MESSAGE”); // Delete message from modem memory sms.flush(); Serial.println(“MESSAGE DELETED”); } delay(1000); } void toggleSolenoid1() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave1, HIGH); delay(1000); solenoidWrite(slave1, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void toggleSolenoid2() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave2, HIGH); delay(1000); solenoidWrite(slave2, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void toggleSolenoid3() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave3, HIGH); delay(1000); solenoidWrite(slave3, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void toggleAll() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave1, HIGH); delay(1000); solenoidWrite(slave2, HIGH); delay(1000); solenoidWrite(slave3, HIGH); delay(1000); solenoidWrite(slave1, LOW); delay(1000); solenoidWrite(slave2, LOW); delay(1000); solenoidWrite(slave3, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void solenoidWrite(int pin, bool state) { if ( pin >= 0 && pin < 8) { if (state) serialSolenoidOutput |= (1 << pin); else serialSolenoidOutput &= ~(1 << pin); } digitalWrite(solenoidLatch, LOW); shiftOut(solenoidData, solenoidClockster, MSBFIRST, serialSolenoidOutput); digitalWrite(solenoidLatch, HIGH); }

Laporan Proyek Lengkap Sistem Penyiraman Tanaman Otomatis (PDF) Unduhan Gratis

Automated Plant Watering System PDF 4.18MB 77 Di Sini

Posting Terkait: Cara Merancang PCB (Langkah demi Langkah & Tampilan Pikto)

Tentang Penulis

-Jurusan Teknik Sekolah Informatika & Teknik Institut Teknologi, Blanchardstown Dublin 15


Teknologi Industri

  1. Mode Kegagalan Umum dalam Sistem Listrik Teruji
  2. Sistem Pintu Otomatis Berbasis Sensor PIR: Rangkaian, Kerja & Aplikasi
  3. SERENA: Sistem Alarm Kustom Arduino Mega 2560 dengan Layar Sentuh TFT LCD
  4. Sistem Penyiraman Otomatis Tanaman Berbasis Arduino
  5. Sistem Penyiraman Tanaman Rumah Pintar Ditenagai oleh Arduino Nano
  6. Sistem Penyiraman Otomatis Cerdas Berbasis Arduino
  7. Keberhasilan Migrasi Sistem Kontrol: Strategi Pakar untuk Transisi yang Mulus
  8. Pelanggaran Kode Listrik Teratas yang Harus Dihindari untuk Keselamatan Rumah
  9. Panduan Komprehensif Sistem Transmisi Otomatis
  10. Sistem Pelumasan Otomatis: Cara Kerja dan Mengapa Penting