Laporan M4



DAFTAR ISI


    1. Pendahuluan   [Kembali] 

      Dalam kehidupan sehari-hari, menjemur pakaian merupakan salah satu aktivitas rumah tangga yang tak terhindarkan. Di negara-negara dengan iklim tropis seperti Indonesia, proses menjemur pakaian sering kali bergantung pada cuaca. Cuaca yang tidak menentu, seperti hujan tiba-tiba. sering kali menjadi kendala dalam menjemur pakaian secara manual. Hal ini dapat menyebabkan pakaian yang dijemur tidak kering dengan sempurna akibat cuaca yang berubah secara tiba tiba

         Selain itu, aktivitas menjemur pakaian secara manual juga membutuhkan waktu dan tenaga. Bagi sebagian orang, terutama mereka yang memiliki kesibukan tinggi atau tinggal di apartemen dengan ruang terbatas, menjemur pakaian bisa menjadi tantangan tersendiri. Dengan perkembangan teknologi yang semakin pesat, kebutuhan akan solusi praktis dan efisien dalam menjemur pakaian semakin meningkat.

         Jemuran otomatis hadir sebagai inovasi untuk menjawab permasalahan tersebut. Dengan menggunakan teknologi canggih, jemuran otomatis dirancang untuk dapat menjemur pakaian secara efisien tanpa tergantung pada kondisi cuaca. Sistem jemuran otomatis ini biasanya dilengkapi dengan sensor DHT, PIR, LDR, TOUCH, & RAIN dengan mekanisme otomatis yang dapat menjemur dan mengangkat pakaian secara otomatis.

    Penggunaan jemuran otomatis tidak hanya memberikan kemudahan bagi pengguna, tetapi juga berpotensi meningkatkan efisiensi energi dan waktu. Misalnya, dengan adanya sensor hujan, atap akan otomatis tertutup untuk melindungi pakaian agar tidak terkena hujan. Hal ini sangat membantu orang-orang yang aktivitasnya cenderung banyak di luar rumah dan tidak sempat pulang hanya untuk mengangkat jemuran saat hujan turun. Maka dari itu dibutuhkannya inovasi jemuran berbasis teknologi untuk mengatasi permasalahan ini.

    2. Tujuan   [Kembali]

Tujuan rancangan inovasi cerdas jemuran diantaranya:

1)  Memberikan kemudahan bagi pengguna dalam pengontrolan penjemuran dan pengangkatan jemuran tanpa harus memantau jemuran sepanjang hari

2)    Memberikan solusi praktis dan efisien bagi orang-orang yang memiliki kesibukan tinggi

3)    Memaksimalkan penggunaan ruangan terbatas sebagai jemuran


3. Alat dan Bahan   [Kembali]

  1.     Adaptor 12V 2 A

 


Spesifikasi:

Output DC-12V MURNI 2A

Adaptor DC 12Vol 2 AMP:

Input Voltage : AC 100-240V

Input Voltage Frequency : 50/60Hz

Output Voltage : DC 12V +/-5%

Total Output Current : 2Amp

Rippie&Noise:<100mv

Efficiency:>85%

 

2.     Breadboard Power Supply

 


Spesifikasi:

- Untuk breadboard MB102

- Tegangan 5V, 3.3V

- Tegangan Input : 6.5-12V (DC) atau USB power

- Tegangan Output : 3.3V, 5V switchable

- Arus Maximum: Two way independent control

- Bisa di switch 0V, 3.3V, 5V

- On-board Two sets of 3.3V, 5V DC output internal leads

 

3.     Breadboard

 


Spesifikasi:
- Solderless Breadboard 830 titik, terdiri dari 630 titik terminal dan 200 titik distribusi
- Setiap titik diidentifikasi dengan huruf dan angka untuk memudahkan pemakaian
- Re-usable, bisa dipakai berulang-ulang
- Low static, body plastik
- Bisa dimasuki kabel berukuran 20-29AWG 
- Size: 165mm (L) x 55mm (W)

 

4.     Resistor 100 ohm

 


Spesifikasi:
- Resistance : 100 Ohm
- Power Rating : 250 mW (1/4 W)
- Tolerance : 0.1 %
- Temperature Coefficient : 15 PPM / C
- Voltage Rating : 250 V
- Operating Temperature Range : - 55 C to + 155 C
- Length : 7.1 mm
- Diameter : 2.3 mm

 

5.     Arduino


 

Spesifikasi
- Microcontroller : ATmega328P
- Operating Voltage : 5V
- Input Voltage (recommended) : 7-12V
- Input Voltage (limit) : 6-20V
- Digital I/O Pins : 14 (of which 6 provide PWM output)
- PWM Digital I/O Pins : 6
- Analog Input Pins : 6
- DC Current per I/O Pin : 20 mA
- DC Current for 3.3V Pin 50 mA
- Flash Memory : 32 KB (ATmega328P) of which 0.5 KB used by bootloader
- SRAM : 2 KB (ATmega328P)
- EEPROM : 1KB (ATmega328P)
- Clock Speed : 16 MHz
- Length : 68.6 mm
- Width : 53.4 mm

 

6.     Touch Sensor

 


Spesifikasi

Konsumsi daya rendah

Catu daya untuk 2 ~ 5.5V DC

Dapat menggantikan sentuhan tombol tradisional

Empat lubang pemosisian sekrup M2 untuk pemasangan yang mudah

Output Pin Sink Current (VCC = 3V, VOL = 0.6V): 8 mA

Arus pull-up pin keluaran (VCC = 3V, VOH = 2.4V): 4 mA



7.     DHT11

 


Spesifikasi DHT11:
- Humidity measuring range: 20% -95% (0 degrees -> 50 degrees) Humidity measurement error: + -5%
- Temperature measurement range: 0 degrees -> 50 degrees temperature measurement error: + -2
degrees
- Operating voltage 3.3V-5V

- Operating current 0.3mA
- Output Type Digital Output
- with fixed bolt hole for easy installation
- small plates PCB size: 3.2cm* 1.4cm

 

8.     PIR Sensor

 



Spesifikasi:

- Product Type: HC--SR501 Body Sensor Module
- Operating voltage range: DC 4.5-20V

- Operating current: 0.125mA
- Level output: High 3.3 V /Low 0V
- Trigger: L can not be repeated trigger/H can be repeated trigger(Default repeated trigger)
- Delay time: 5-300S(adjustable) the range is (second to tens of second)
- Block time: 2.5S(default)Can be made a range(to tens of seconds
- Board Dimensions: 32mm*24mm
- Angle Sensor: Operation Temp: -15-+70 degrees
- Lens size sensor: Diameter:23mm(Default)

 

9.   RainDrops Sensor Module


 

Specification:

- Small board PCB size: 3.2cm x 1.4cm

- Operating voltage: 3.3V-5V

- Voltage: 5V

- Tegangan kerja 3.3V - 5V

- Driving ability over 15mA


10.  LDR Sensor Module


 

Spesifikasi:

- Tegangan kerja 3.3V - 5V

- Arus kerja 3.5nA
- Output digital berupa 0 dan 1
- Dengan lobang baut untuk instalasi
- Ukuran 3cm x 1.6cm
- Dilengkapi indikator power (merah) dan indikator deteksi (hijau)
- Menggunakan pembanding LM393 comparator yang stabil

11.  LCD I2C


Spesifikasi:
- LCD Karakter 1602 dengan I2C modul untuk Arduino
- Jenis LCM: Karakter

- Working Current 1,5 mA
- Menampilkan 2 baris X 16-karakter.
- Tegangan: 5V DC.
- Dimensi modul: 80mm x 35mm x 11mm.
- luas area: 64.5mm x 16mm
- Fitur IIC / I2C 4 kabel

12.  Motor Servo



Spesifikasi:
- Weight: 9g
- Servo 180 derajat
- Dimension: 22mm x 11.5mm x 22.5mm
- Stall torque: 1.8kg/cm(4.8v)
- Gear type: POM gear set
- Operating speed: 0.1sec/60degree(4.8v)
- Operating voltage: 4.8v

- Arus kerja 2,5 kg: 250mA
- Temperature range: 0_ 55
- Dead band width: 1us
- Power Supply: Through External Adapter
- servo wire length: 25 cm

 

13.  LED White



            Spesifikasi:

- Colour : White
- Size : 5mm
- Lens Colour : Clear white
- Forward Current : 20mA
- Max Power Dissipation : 80mw Max Continuous
- Operation Temperature : -40 ~ 85C
- Storage Temperature : -40 ~ 100C
- Pin length : 29.5mm

 

14.  Jumper 



 

Spesifikasi:
- Panjang : 15cm
- Tipe : Male to Male/Male To Female/ Female To Female
- Pitch : 2.54mm pin header


 4. Dasar Teori  [Kembali]
 

1)    Arduino Uno

 


Arduino merupakan rangkaian elektronik open source yang di dalamnya terdapat komponen utama, yaitu sebuah chip mikrokontroler dengan jenis AVR. Mikrokontroler adalah chip atau IC (integrated circuit) yang bisa diprogram menggunakan komputer. Tujuan memberikan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input dan kemudian menghasilkan output sesuai yang diinginkan. Mikrokontroler bertugas sebagai “otak‟ yang mengendalikan input, proses dan output sebuah rangkaian elektronik. 



ATMega328P mempunyai kaki standar 28 pin yang mempunyai fungsi yang berbeda- beda baik sebagai port atau pun sebagai fungsi yang lain. Konfigurasi 18 pin tersebut antara lain:

1.     VCC merupakan pin yang berfungsi sebagai masukan catu daya.

2.     GND merupakan pin Ground.

3.     Port B (PB0 – PB7) merupakan pin masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.

4.     Port C (PC0 – PC6) merupakan pin masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.

5.     Port D (PD0 – PD7) merupakan pin masukan/keluaran dua arah (full duplex) dan masing-masing port memiliki fungsi khusus.

6.     RESET merupakan pin yang digunakan untuk mengatur atau menjalankan ulang program awal yang sudah dimasukkan ke mikrokontroler.

7.     XTAL1 dan XTAL2, merupakan pin masukan external clock.

8.     AVCC merupakan pin masukan tegangan ADC (Analog-Digital Converter).

9.     AREF merupakan pin masukan referensi tegangan ADC.

 

2)    Komunikasi UART

            UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.

 


Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.

 

3)    Resistor

Resistor merupakan komponen elektronika dasar yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian.Sesuai dengan namanya, resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Resistor memiliki simbol seperti gambar dibawah ini :

 


Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan Hukum OHM :

 


 

Dimana V adalah tegangan,  I adalah kuat arus, dan R adalah Hambatan.

Di dalam resistor, terdapat ketentuan untuk membaca nilai resistor yang diwakili dengan kode warna dengan ketentuan di bawah ini :

 


 


Sebagian besar resistor yang kita lihat memiliki empat pita berwarna. Oleh karena itu ada cara membacanya seperti ketentuan dibawah ini:

1.     Dua pita pertama dan kedua menentukan nilai dari resistansi

2.     Pita ketiga menentukan faktor pengali, yang akan memberikan nilai resistansi.

3.     Dan terakhir, pita keempat menentukan nilai toleransi.

Rumus Resistor:

Seri: Rtotal = R1 + R2 + R3 + … + Rn

Dimana:

Rtotal = Total Nilai Resistor

R1 = Resistor ke-1

R2 = Resistor ke-2

R3 = Resistor ke-3

Rn = Resistor ke-n

 

Paralel: 1/Rtotal = 1/R1 + 1/R2 + 1/R3 + …+ 1/Rn

Dimana:

Rtotal = Total Nilai Resistor

R1 = Resistor ke-1

R2 = Resistor ke-2

R3 = Resistor ke-3

Rn = Resistor ke-n

 

4)    LED (Light Emitting Diode)


Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya.


LED merupakan keluarga dari Dioda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda.

LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).



LED atau Light Emitting Diode yang memancarkan cahaya ketika dialiri tegangan maju ini juga dapat digolongkan sebagai Transduser yang dapat mengubah energi listrik menjadi energi cahaya.



Rumus untuk Menentukan Besaran Resistansi dari Sebuah Resistor 


Resistor (ohm) = (Tegangan Input - Tegangan LED) / Arus LED

Dimana :

Nilai resistansi dari resistor adalah R (ohm)

Tegangan input adalah Vs (volt)

Tegangan LED adalah VL (volt)

Arus maju LED adalah I (ampere)

 

5)    Touch Sensor

Touch sensor adalah sensor yang mendeteksi sentuhan fisik pada permukaannya. Ketika permukaan sensor disentuh, ada perubahan dalam arus atau tegangan yang dihasilkan, yang kemudian diinterpretasikan sebagai input. Ini sering digunakan dalam aplikasi seperti layar sentuh atau tombol sentuh.


Pada saat disentuh oleh jari, sensor akan mendeteksi aliran arus listrik pada tubuh manusia karena tubuh manusia dapat mengalirkan listrik. Data akan berlogika 1 (HIGH) saat disentuh oleh jari dan akan berlogika 0 (LOW) saat tidak disentuh.

Di sini kami menggunakannya untuk menurunkan jemuran agar lebih rendah



6)    Sensor DHT11

    Sensor DHT11 adalah sensor suhu dan kelembaban. Ini menggunakan sensor semikonduktor untuk mengukur suhu dan kelembaban udara sekitarnya. Sensor ini mengubah nilai suhu dan kelembaban menjadi sinyal digital yang kemudian dapat dibaca oleh mikrokontroler atau perangkat lainnya.



DHT11 merupakan sebuah sensor kelembaban dan suhu, komponen ini mempunyai output sinyal digital yang dikalibrasi dengan sensor kelembaban dan suhu yang kompleks, sinyal transmisi jarak pada ruangan hingga 20 meter. Sensor ini dapat mengukur data kelembaban beserta suhu, kemudian data yang diperoleh, secara otomatis setiap 2 detil sekali sensor ini akan mengirimkan sinyal data ke pinout data pada sensor tersebut. 

Disini kami menggunakannya untuk mengecek suhu dan kelembapan luar ruangan



Respon suhu: Grafik respon suhu umumnya berupa garis linier yang mengikuti perubahan suhu actual.

Respon kelembaban: Grafik respon kelembaban umumnya berupa garis eksponensial yang mengikuti perubahan kelembaban aktual.

 

7)    Sensor PIR



PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari IR LED dan fototransistor. PIR tidak memancarkan apapun seperti IR LED. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia Sensor PIR mendeteksi perubahan suhu yang disebabkan oleh gerakan benda-benda di sekitarnya. Ketika benda bergerak, perbedaan suhu diidentifikasi oleh sensor dan menghasilkan keluaran listrik.



Sensor PIR ini bekerja dengan menangkap energi panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dengan suhu benda diatas nol mutlak. Seperti tubuh manusia yang memiliki suhu tubuh kira-kira 32 derajat celcius, yang merupakan suhu panas yang khas yang terdapat pada lingkungan. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium nitrat dan litium tantalate menghasilkan arus listrik. Mengapa bisa menghasilkan arus listrik? Karena pancaran sinar inframerah pasif ini membawa energi panas. Prosesnya hampir sama seperti arus listrik yangterbentuk ketika sinar matahari mengenai solar cell. Ini sering digunakan dalam sistem keamanan atau otomatisasi rumah untuk mendeteksi gerakan manusia atau hewan, Disini kami menggunakannya Mendeteksi manusia diruangan untuk menghidupkan lampu

Grafik Respon Pir terhadap suhu

 


Grafik sensor pir terhadap jarak, kecepatan,arah objek:

 


 

8)    Sensor Rain:


Sensor Rain mendeteksi keberadaan air, seperti hujan atau embun. Ada beberapa jenis sensor hujan, tetapi umumnya mereka menggunakan konduktivitas air untuk mendeteksi kelembaban. Ketika air menyentuh permukaan sensor, itu mengubah resistansi listriknya, yang kemudian dapat diukur.

Berikut ini adalah gambar grafik respon sensitifiras sensor rain

 


9)    Sensor LDR (Light Dependent Resistor)



Sensor LDR mengubah resistansi berdasarkan intensitas cahaya yang diterimanya. Semakin terang cahaya, semakin rendah resistansinya, dan sebaliknya. Ini memungkinkan sensor untuk mendeteksi perubahan cahaya di sekitarnya. Umumnya digunakan dalam aplikasi seperti kontrol lampu otomatis atau perangkat pengatur kecerahan layar. Dsini kami menggunakannya untuk mendeteksi cahaya matahari.

Grafik respon penurunan daya disipasi sensor LDR:



 

Grafik respon resistansi LDR:

 


 

Grafik respon sensor:

 


 

10) LCD (Liquid Crystal Display)

LCD adalah layar yang menggunakan kristal cair untuk menampilkan informasi. Ini terdiri dari banyak piksel yang masing-masing dapat dikendalikan untuk menampilkan teks atau grafik. Biasanya, informasi ditampilkan dengan mengatur kecerahan atau kegelapan piksel menggunakan tegangan listrik.

Pinout LCD 16x2 ditunjukkan di bawah ini.

·       Pin1 (Ground / Source Pin): Ini adalah pin tampilan GND, digunakan untuk menghubungkan terminal GND unit mikrokontroler atau sumber daya.

·       Pin2 (VCC / Source Pin): Ini adalah pin catu tegangan pada layar, digunakan untuk menghubungkan pin catu daya dari sumber listrik.

·       Pin3 (V0 / VEE / Control Pin): Pin ini mengatur perbedaan tampilan, yang digunakan untuk menghubungkan POT yang dapat diubah yang dapat memasok 0 hingga 5V.

·       Pin4 (Register Select / Control Pin): Pin ini berganti-ganti antara perintah atau data register, digunakan untuk menghubungkan pin unit mikrokontroler dan mendapatkan 0 atau 1 (0 = mode data, dan 1 = mode perintah).

·       Pin5 (Pin Baca / Tulis / Kontrol): Pin ini mengaktifkan tampilan di antara operasi baca atau tulis, dan terhubung ke pin unit mikrokontroler untuk mendapatkan 0 atau 1 (0 = Operasi Tulis, dan 1 = Operasi Baca).

·       Pin 6 (Mengaktifkan / Mengontrol Pin): Pin ini harus dipegang tinggi untuk menjalankan proses Baca / Tulis, dan terhubung ke unit mikrokontroler & terus-menerus dipegang tinggi.

·       Pin 7-14 (Pin Data): Pin ini digunakan untuk mengirim data ke layar. Pin ini terhubung dalam mode dua-kawat seperti mode 4-kawat dan mode 8-kawat. Dalam mode 4-kawat, hanya empat pin yang terhubung ke unit mikrokontroler seperti 0 hingga 3, sedangkan dalam mode 8-kawat, 8-pin terhubung ke unit mikrokontroler seperti 0 hingga 7.

·       Pin15 (+ve pin LED): Pin ini terhubung ke +5V

·       Pin 16 (-ve pin LED): Pin ini terhubung ke GND.



Layar LCD 16 x 2 ini memiliki 16 Kolom dan 2 Baris . Baris ke-1 dari modul ini memiliki total 16 kolom 0 hingga 15 dan posisi baris pertama adalah 0. Juga, baris ke-2 memiliki total 16 kolom 0 hingga 15 dan posisi baris kedua adalah posisi 1. Jadi jumlah total kolom adalah 16 x 2 = 32. Ini berarti modul LCD 16 x 2 dapat menampilkan 32 karakter secara bersamaan

 


11) Motor Servo



Motor servo adalah jenis motor listrik yang dirancang untuk memberikan output yang presisi dalam menyelesaikan pergerakan tertentu. Motor ini dilengkapi dengan kontroler yang memungkinkan presisi tinggi dalam mengatur posisi atau sudut rotor. Prinsip kerja motor servo didasarkan pada umpan balik atau feedback yang terus-menerus dari posisi rotor.



Prinsip kerja motor servo:

1.     Umpan Balik (Feedback): Motor servo menggunakan sensor umpan balik, seperti potensiometer, enkoder, atau resolver, untuk terus memonitor posisi atau sudut rotor.

2.     Kontroler:

-     Kontroler servo menerima sinyal perintah untuk mencapai posisi tertentu

-   Kontroler membandingkan posisi aktual (yang diberikan oleh sensor umpan balik) dengan posisi yang diminta.

3.     Error Signal:

-    Jika terdapat perbedaan antara posisi aktual dan yang diminta, tercipta sinyal kesalahan (error signal).

4.     Sinyal Penggerak (Drive Signal):

-        Kontroler menghasilkan sinyal penggerak yang disesuaikan berdasarkan error signal.

-       Sinyal penggerak mengontrol daya yang disuplai ke motor untuk mengoreksi perbedaan posisi.

5.     Pergerakan Presisi:

-        Motor servo merespons dengan mengubah posisi rotor untuk mengurangi error posisi.

-        Proses ini berlanjut sampai posisi yang diminta tercapai.

 


Motor servo memiliki respon sudut terhadap sinyal kontrol. Grafik responnya umumnya berupa garis linier yang mengikuti nilai sudut yang diberikan.

 

    5. Prosedur   [Kembali]

    a. Prosedur  [Kembali]

    Prosedur percobaan:

    1.     Siapkan komponen yang dibutuhkan 

    2.     Susun rangkaian sebagaimana yang dibutuhkan 

    3.     Inputkan codingan Arduino 

    4.     Jalankan rangkaian 

    5.  Lakukan koreksi jika terjadi error, jika tidak terjadi error maka rangkaian berhasil dan selesai.


    b. Hardware  [Kembali]

    Hardware

    Diagram Blok

    c. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

            Rangkaian proteus :


      Prinsip Kerja

      Rangkaian ini menggunakan dua buah Arduino yang terhubung melalui komunikasi UART. Arduino 1 terhubung dengan LCD dan lima sensor diantara sensor PIR, touch, DHT11, LDR, dan rain. Pada Arduino 1 ini LCD berfungsi sebagai output untuk menampilkan suhu dan kelembaban dari inputan sensor DHT11. Sensor lainnya juga berfungsi sebagai input. Sedangkan Arduino 2 terhubung dengan dua motor servo yang akan membukakan atap dan mengangkat jemuran serta terhubung dengan LED yang akan menerangi rooftop. Komunikasi UART akan mengirimkan data inputan dari Arduino 1 ke Arduino 2 melalui pin TX dan RX yang mana pin TX Arduino 1 dihubungkan ke pin RX Arduino 2, begitu sebaliknya.

      Sensor LDR mendeteksi intensitas cahaya diatas atap untuk mengetahui malam atau siang. Pembacaan output LDR akan diubah menjadi rentang tegangan 0-5V. Ketika tegangan output LDR lebih dari 4 V maka Arduino 1 akan membaca kondisi ini sebagai malam, sedangkan ketika tegangan output LDR kurang dari 4 V maka Arduino 1 akan membaca kondisi ini sebagai siang. Ketika tegangan LDR > 4 V (malam) maka Arduino 1 akan mengirimkan pesan “B” melalui komunikasi UART ke Arduino 2. Kemudian Arduino 2 akan menerima pesan “B”, maka Arduino akan menurunkan jemuran dengan cara menggerakan servo jemuran ke derajat 0 dan Arduino akan menutup atap dengan cara menggerakan servo atap ke derajat 0. Setelah itu, Arduino 1 akan mengecek apakah sensor PIR aktif atau tidak.

      Sensor PIR berfungsi untuk mendeteksi keberadaan orang di rooftop. Ketika orang terdeteksi maka sensor PIR akan berlogika HIGH, namun sesuai dengan program Arduino, LED baru dinyalakan jika sensor LDR mendeteksi malam (yaitu tegangan output LDR > 4). Meskipun pada siang hari sensor PIR aktif maka LED tidak akan hidup. Jadi ketika tegangan output LDR lebih dari 4 V dan sensor PIR berlogika high, maka Arduino akan mengirimkan pesan “C” melalui komunikasi UART ke Arduino 2. Kemudian Arduino 2 akan menerima pesan “C”, maka Arduino akan memberi logika HIGH ke pin A2 yang terhubung ke LED sehingga LED menyala. Sedangkan PIR tidak mendeteksi keberadaan orang lagi atau PIR berlogika LOW, maka Arduino 1 akan mengirimkan pesan “D” melalui komunikasi UART ke Arduino 2. Kemudian Arduino 2 akan menerima pesan “D”, maka Arduino akan memberi logika LOW ke pin A2 yang terhubung ke LED sehingga LED mati.

      Namun, ketika tegangan LDR <= 4 V (siang) maka Arduino 1 akan mengirimkan pesan “A” melalui komunikasi UART ke Arduino 2. Kemudian Arduino 2 akan menerima pesan “A”, maka Arduino akan membuka atap dengan cara menggerakan servo atap ke derajat 90 dan Arduino akan menaikkan jemuran dengan cara menggerakan servo jemuran ke derajat 180. Kemudian, Arduino 1 akan mengecek apakah sensor Touch berlogika HIGH atau LOW.

      Sensor Touch ini berfungsi untuk menurunkan jemuran ketika membutuhkannya. Ketika sensor touch disentuh maka sensor touch akan berlogika HIGH selama disentuh dan ketika sentuhannya dilepas maka sensor touch akan berlogika LOW. Arduino 1 akan memproses perintah menurunkan jemuran ketika LDR dalam kondisi mendeteksi  siang (tegangan LDR <= 4 V) dan sensor touch aktif, maka Arduino 1 tidak akan memproses input sensor touch ketika malam hari (karena jemurannya udah turun jadi tidak perlu diturunkan ketika malam hari). Ketika tegangan output LDR <= 4 V dan sensor touch berlogika high, maka Arduino 1 akan mengirimkan pesan “B” melalui komunikasi UART ke Arduino 2. Kemudian Arduino 2 akan menerima pesan “B”, maka Arduino akan menurunkan jemuran dengan cara menggerakan servo jemuran ke derajat 0 dan Arduino akan menutup atap dengan cara menggerakan servo atap ke derajat 0.

      Sensor Rain berfungsi untuk mendeteksi adanya hujan di atas atap. Sensor ini terhubung ke Arduino 1 dan bekerja dengan menggunakan interrupt untuk mendeteksi tetesan air hujan. Saat hujan terdeteksi, interrupt akan aktif dan mengatur flag rainDetected menjadi true. maka Arduino 1 akan mengirimkan pesan “B” melalui komunikasi UART ke Arduino 2. Kemudian Arduino 2 akan menerima pesan “B”, maka Arduino akan menurunkan jemuran dengan cara menggerakan servo jemuran ke derajat 0 dan Arduino akan menutup atap dengan cara menggerakan servo atap ke derajat 0.

      Sensor DHT11 berfungsi untuk membaca suhu dan kelembaban diatas atap. Arduino akan menerima input sensor DHT11 dan Arduino akan membaca inputan menggunakan library dht. Pembacaan suhu dan kelembaban ini kemudian di tampilkan di LCD dimana baris pertama LCD akan menampikan suhu dan baris kedua akan menampikan kelembaban.


    d. Flowchart 
    [Kembali]

            A.    Flowchart Arduino 1








 

B.    Flowchart Arduino 2





 

Listing Program:

A.    Arduino 1

#include <DHT.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

// Define sensor pins
#define Touch 4
#define PIR 3
#define Rain 2
#define LDR A1
#define DHTPIN A0
#define DHTTYPE DHT11

// Initialize DHT sensor
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  lcd.begin(16, 2);
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);

  pinMode(Touch, INPUT);
  pinMode(PIR, INPUT);
  pinMode(Rain, INPUT);
  pinMode(LDR, INPUT);

  dht.begin();
}
  void loop() {
    // Sensor DHT11
    float t = dht.readTemperature();
    float h = dht.readHumidity();

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Suhu: ");
    lcd.print(t);
    Serial.println(t);
    lcd.setCursor(0, 1);
    lcd.print("Kelembaban: ");
    lcd.print(h);

    Serial.println(h);
    delay(100);

    // Sensor LDR
    int Malam = analogRead(LDR);
    float voltageLDR = Malam * (5.0 / 1023.0);

    if (voltageLDR > 4) {  // Malam
      Serial.write('B');
      // Sensor PIR
      delay(1000);
      if (digitalRead(PIR) == HIGH) {
        Serial.write('C');
        Serial.println("PIR aktif");
      } else {
        Serial.write('D');
        Serial.println("PIR tidak aktif");
      }
      delay(1000);
      Serial.println("Malam");
    } else {  // Siang
      // Sensor Touch
      delay(1000);
      if (digitalRead(Touch) == HIGH || digitalRead(Rain) == LOW) {
        Serial.write('B');
        Serial.println("Touch atau rain Aktif");
      } else {
        Serial.write('A');
        Serial.println("Siang");
      }
    }

    Serial.println(voltageLDR);
    delay(100);  // Add a small delay to avoid spamming the serial communication
  }

 

B.    Slave

 

#include <Servo.h>

 

const int LED = A2;

Servo motorAtap;

Servo motorJemuran;

 

void setup() {

  Serial.begin(9600);

 

  pinMode(LED, OUTPUT);

  motorAtap.attach(A1);

  motorJemuran.attach(A0);

}

 

void loop() {

  if (Serial.available()) {

    char input = Serial.read();

    switch (input) {

      case 'A'://Buka

        motorAtap.write(90);

        delay(2000);

        motorJemuran.write(180);

        break;

      case 'B'://Tutup

        motorJemuran.write(0);

        delay(2000);

        motorAtap.write(0);

        break;

      case 'C': //Terang

        digitalWrite(LED, HIGH);

        break;

      case 'D'://Mati

        digitalWrite(LED, LOW);

        break;

    }

    delay(100);

  }

}


        e. Video Demo  [Kembali]

        f. Download File  [Kembali]
























Tidak ada komentar:

Posting Komentar