Perancangan Prototipe Hasil Implementasi Alat

2. TCCR1B = 0b00000001 Bit 4:3 dilakukan untuk menentukan mode operasi TimerCounter 1 yaitu phase correct PWM. Bit 2:0 merupakan bit pengatur prescaler clock yang masuk ke dalam register TCNT1. Clock osilator yang digunakan sama dengan clock CPU yaitu 12Mhz. Gambar 3.8. Rangkaian driver L298 Untuk menentukan frekuensi phase correct PWM dapat diperoleh menggunakan persamaan 2.4 sehingga diperoleh nilai sebagai berikut : Nilai frekuensi yang diperoleh adalah 23,529 KHz, nilai frekuensi selalu berbanding terbalik dengan waktu, sehingga dapat diperoleh lebar pulsa untuk satu siklus dengan perhitungan sebagai berikut : 3.1 3.3.5 Keypad Keypad yang digunakan dengan matriks 4x4. Keypad berfungsi sebagai masukan pada mikrokontroler untuk mengatur pada jam-jam tertentu tirai akan dibuka dan ditutup. Port yang digunakan pada mikrokontroler untuk keypad adalah port A.0 sampai port A.7. Port A.0, port A.1, port A.2, dan port A.3 atau port baris digunakan sebagai input , sedangkan port A.4, port A.5, port A.6, dan port A.7 atau port kolom digunakan sebagai output . Gambar 3.9. Rangkaian keypad 4x4 Pengaturan tombol pada keypad adalah sebagai berikut: Tabel 3.2. Penggunaan tombol pada keypad Tombol Fungsi 1 Angka 1 2 Angka 2 3 Angka 3 4 Angka 4 5 Angka 5 6 Angka 6 7 Angka 7 8 Angka 8 9 Angka 9 Angka 0 Tombol geser kiri ← Tombol geser kanan → A Enter B Menu C Buka otomatis D Tutup otomatis

3.4 Perancangan Perangkat Lunak

3.4.1 Diagram Alir Sistem

Diagram alir utama ditunjukkan pada gambar 3.10. Program utama menunjukkan proses kerja secara keseluruhan. Program dimulai dengan melakukan inisialisasi terhadap port - port mikrokontroler yang digunakan untuk proses pengendalian alat. START Inisialisasi port mikro STOP Pengaturan RTC Proses Pilih menu Menu = otomatis Menu = manual Otomatis Manual YA TIDAK YA TIDAK While 1 YA TIDAK Ada data di EEPROM TIDAK YA Gambar 3.10. Diagram alir sistem Pengaturan RTC dilakukan untuk mengatur waktu yang sedang berjalan dan diatur berdasarkan waktu setempat GMT +7. Setelah mengatur RTC, kemudian memilih menu yang akan digunakan yaitu menu otomatis atau menu manual. Mode yang telah dipilih akan tersimpan pada EEPROM sehingga pada saat catu daya utama mati maka mode yang dipilih tetap tersimpan. Saat catu daya utama hidup lagi maka sistem akan melanjutkan ke proses sehingga tirai dapat terbuka atau tertutup. Jika data bernilai benar maka program akan terus melanjutkan eksekusi ke program pilih menu. Jika data bernilai salah maka program tidak akan dilanjutkan stop .

3.4.2 Diagram Alir Pengaturan RTC

Pengaturan waktu RTC menjadi awal dalam proses menjalankan waktu berdasarkan GMT +7 yaitu mengikuti aturan waktu yang berlaku. Pengaturan RTC yang dimaksud adalah mengatur waktu yaitu tanggal, bulan, tahun, hari, jam, menit, dan detik. LCD dirancang untuk tanggal, bulan, tahun, hari, jam, menit, dan detik. Data yang telah diatur kemudian disimpan di RTC. MULAI Tampilan hari Tampilan Tanggal - bulan - tahun Atur Tanggal - bulan - tahun Atur Jam : menit : detik Tampilan Jam : menit : detik BERHENTI Simpan data di RTC Gambar 3.11. Diagram alir pengaturan RTC

3.4.3 Diagram Alir Subrutin Menu

Diagram alir subrutin menu dibagi dalam 2 menu. Subrutin ini dipakai untuk mengatur waktu tirai terbuka dan tertutup. Setelah RTC diatur oleh mikrokontroler, selanjutnya memilih menu yang akan dipakai. Terdapat 2 menu yang tersedia, yaitu menu manual dan menu otomatis. Menu manual adalah menu yang dapat diatur waktu tirai untuk terbuka maupun tertutup sesuai keinginan pengguna sedangkan menu otomatis adalah menu yang sudah berisi data waktu dan pengguna hanya bisa memilih dari mode yang sudah tersedia. Gambar 3.12. menunjukkan proses menggunakan menu manual. Pada menu ini, pengguna mengatur waktu buka dan tutup tirai. Waktu buka tirai harus lebih kecil daripada waktu tutup tirai. Jika waktu tutup kurang dari waktu buka maka akan terjadi kesalahan error . Data yang dapat dimasukkan oleh pengguna dibatasi maksimal 3 pasang waktu buka - tutup tirai. Data-data pengaturan buka-tutup tirai disimpan pada EEPROM. MULAI Masukkan waktu BUKA BERHENTI Masukkan waktu TUTUP Data lama dipakai ? TIDAK Inisialisasi YA TIDAK Simpan DATA YA i = i + 1 YA i = 3 TIDAK Buka [i] Tutup [i] Lagi ? ERROR YA TIDAK Gambar 3.12. Diagram Alir Menu Manual Pengguna yang menggunakan menu otomatis memilih mode yang tersedia, dari mode 1 sampai mode 7, dengan menekan tombol pada keypad . Mode yang telah dipilih oleh pengguna akan tersimpan di EEPROM. Diagram alir menu otomatis dapat dilihat pada gambar 3.13. MULAI Pilih mode BERHENTI Mode = 1 BUKA [1] = 05:00 TUTUP [1] = 07:00 BUKA [2] = 16:00 TUTUP [2] = 18:00 YA Mode = 2 BUKA [1] = 05:00 TUTUP [1] = 08:00 BUKA [2] = 16:00 TUTUP [2] = 18:00 YA TIDAK Mode = 3 BUKA [1] = 05:00 TUTUP [1] = 09:00 BUKA [2] = 16:00 TUTUP [2] = 18:00 YA TIDAK Mode = 4 BUKA [1] = 05:00 TUTUP [1] = 10:00 BUKA [2] = 16:00 TUTUP [2] = 18:00 YA TIDAK Mode = 5 YA Mode = 6 YA TIDAK BUKA [1] = 05:00 TUTUP [1] = 07:00 BUKA [2] = 13:00 TUTUP [2] = 18:00 BUKA [1] = 05:00 TUTUP [1] = 08:00 BUKA [2] = 14:00 TUTUP [2] = 18:00 BUKA [1] = 05:00 TUTUP [1] = 10:00 BUKA [2] = 15:00 TUTUP [2] = 18:00 TIDAK TIDAK Mode disimpan di EEPROM Mode = 7 Gambar 3.13. Diagram Alir Menu Otomatis

3.4.4 Diagram Alir Proses

Data yang telah disimpan dalam mikrokontroler kemudian diproses dengan membandingkan data pada RTC. Saat waktu RTC sama dengan atau lebih dari waktu buka tirai, maka motor akan on dan bergerak searah jarum jam. Tirai akan terus bergerak sampai menekan limit switch 1 sehingga motor akan off . Jika waktu RTC sama dengan atau lebih dari waktu tutup, maka motor akan on dan bergerak menutup tirai yang arahnya berkebalikan dengan arah jarum jam. Motor akan berhenti bergerak saat limit switch 2 tertekan tirai. Proses ini dapat bekerja lebih dari satu kali sesuai masukan yang diberikan pengguna. MULAI RTC = TUTUP [j] Motor ON CCW Limit 2 = ON Motor OFF YA YA Inisialisasi RTC = BUKA [j] Motor ON CW Limit 1 = ON Motor OFF YA TIDAK YA TIDAK TIDAK TIDAK TIDAK YA j = x BERHENTI j = j + 1 Gambar 3.14. Diagram alir proses 42 BAB IV HASIL PENGAMATAN DAN PEMBAHASAN Bab ini berisi mengenai hasil pengamatan pengaturan tirai berdasarkan waktu nyata dari prototipe ruangan. Hasil pengamatan berupa pengujian ketepatan waktu pada RTC, pergerakan motor DC sebagai penggerak tirai dan tingkat keberhasilan prototipe secara keseluruhan. Pada perancangan tugas akhir ini, mikrokontroler yang akan digunakan adalah ATmega8535 namun pada implementasi alat menggunakan mikrokontroler ATmega32. Hal ini dikarenakan memori flash ATmega8535 hanya memiliki memori flash sebesar 8K byte sehingga tidak cukup untuk menampung program yang digunakan yaitu sebesar 4296 kata 1 kata = 16 bit , maka 4296 kata = 68736 bit = 8592 byte diganti dengan mikrokontroler ATmega32 yang mempunyai memori lebih besar. a Compiler ATmega8535 b Compiler ATmega32 Gambar 4.2. Perbandingan compiler program

4.1. Hasil Implementasi Alat

Hasil akhir perancangan prototipe pengaturan tirai berdasarkan waktu nyata secara keseluruhan ditunjukkan pada gambar 4.2. a Ruangan Tampak Depan b Ruangan Tampak Dalam c Detail Bagian Kiri d Detail Bagian Kanan Gambar 4.2. Prototipe ruangan Keterangan gambar: 1. LCD 5. Motor DC 2. Keypad 6. Limit Switch 1 3. Saklar 7. Limit Switch 2 4. Tirai 8. Pulley Sistem dapat digunakan saat saklar dinyalakan. Pada LCD akan muncul perintah ‘Menu tekan B’. Jika menekan tombol B pada keypad maka terdapat 3 pilihan menu, yaitu menu otomatis, menu manual, dan set waktu. Jika pengguna tidak menekan tombol B akan muncul data waktu dan tanggal secara otomatis. Tombol A berfungsi untuk memilih menu yg diinginkan. Tombol ‘’ dan ‘’ berfungsi untuk menampilkan menu pada LCD dengan menggeser ke kanan atau kiri. Tombol C berfungsi untuk membuka tirai dan tombol D berfungsi untuk menutup tirai secara otomatis tanpa membandingkan waktu RTC dan data masukan dari pengguna. Rangkaian elektronika sebagai pendukung bekerjanya prototipe penelitian ini dapat dilihat pada gambar di bawah ini: Gambar 4.3. Rangkaian Mikrokontroler Gambar 4.4. Rangkaian Driver Gambar 4.5. Rangkaian RTC Gambar 4.6. LCD Gambar 4.7. Rangkaian Penyearah 6 Volt Gambar 4.8. Rangkaian Penyearah 12 Volt Gambar 4.9. Keypad 4x4 Rangkaian mikrokontroler pada gambar 4.3 berfungsi sebagai IO untuk mengolah data dari RTC DS1307 dan keypad . Keterangan gambar pada rangkaian mikrokontroler: 1. Output +5 volt 5. Port untuk downloader 2. GND 6. Port A.0 – A.7 3. Port D.0 – D.7 7. Port C.0 – C.7 4. Port B.0 – B.7 8. Input +12 volt Gambar 4.4. menunjukkan rangkaian driver menggunakan IC driver L298 yang berfungsi untuk mengendalikan kecepatan dan arah putar motor. Kecepatan saat waktu buka dan tutup tirai dibuat berbeda dengan fasilitas PWM yang disediakan mikrokontroler untuk mengendalikan pin enable dari IC driver L298. RTC sebagai pewaktu pada sistem dapat dilihat pada gambar 4.5. LCD berfungsi untuk menampilkan data-data yang diinginkan, antara lain memilih menu, kondisi motor DC, dan data waktu. Modul LCD dapat dilihat pada gambar 4.6. Penyearah 6 volt menggunakan IC LM7806 untuk menghasilkan tegangan 6 volt. Penyearah 6 volt berfungsi sebagai catu daya untuk motor DC yang dapat dilihat pada gambar 4.7. Penyearah 12 volt menggunakan IC LM7812 untuk menghasilkan tegangan 12 volt pada gambar 4.8. sebagai catu daya regulator mikrokontroler yang menggunakan IC LM7805. Keypad sebagai masukan untuk memilih menu dapat dilihat pada gambar 4.9.

4.2. Pengujian Keberhasilan Sistem

Keberhasilan sistem dilihat saat pengguna memasukkan waktu yang diatur yaitu pengaturan tanggal, hari dan waktu. Selanjutnya pengguna mengatur waktu buka dan tutup tirai sesuai keinginan. Sistem menyediakan 2 pilihan menu sehingga pengguna dapat memilih menu otomatis atau manual. Pada menu otomatis terdapat 2 kali waktu buka dan tutup tirai, yaitu pada pagi dan sore hari. Jika pengguna memilih menu otomatis, pengguna dapat memilih satu dari 7 mode yang disediakan. Tabel 4.1. menunjukkan hasil pengujian salah satu mode dari 7 mode pada menu otomatis. Jika pengguna memilih mode 1 maka data waktu buka dan tutup tirai akan tersimpan di EEPROM. Mode 1 memiliki data buka pertama tirai pukul 05.00 dan pukul 07.00 tirai tertutup, pukul 16.00 tirai terbuka kembali dan pukul 18.00 tirai akan menutup. Mikrokontroler mencocokkan data pada mode 1 dengan waktu RTC secara terus menerus. Jika waktu pada RTC dan data pada mode 1 sama, contohnya pada pukul 05.00 motor akan bergerak sesuai arah jarum jam cw maka tirai akan akan terbuka. Kondisi limit switch 1 ON ketika tertekan gerakan motor DC yang searah jarum jam cw dan kondisi limit switch 2 OFF. Kondisi limit switch ON menyebabkan motor DC berhenti berputar. Pada pukul 07.00 motor DC akan bergerak berlawanan arah jarum jam. Kondisi limit switch 1 OFF dan limit switch 2 ON setelah tertekan gerakan motor DC sehingga motor DC berhenti berputar. Tabel 4.2. menunjukkan kondisi limit switch sesuai arah pergerakan motor DC. Tabel 4.1. Hasil pengujian pergerakan motor pada menu otomatis Mode Waktu Pergerakan Motor DC Buka [1] Tutup [1] Buka [2] Tutup [2] Buka [1] Tutup [1] Buka [2] Tutup [2] 1 05.00 07.00 16.00 18.00 cw ccw cw ccw Tabel 4.2. Hasil pengujian limit switch pada menu otomatis Mode Waktu Kondisi Limit Switch Buka [1] Tutup [1] Buka [2] Tutup [2] Buka [1] Tutup [1] Buka [2] Tutup [2] 1 2 1 2 1 2 1 2 1 05.00 07.00 16.00 18.00 on off off on on off off on Pengujian menu manual berbeda dengan pengujian menu otomatis. Pada menu manual, pengguna dapat memasukkan waktu buka dan tutup tirai sesuai keinginan sesuai syarat masukan waktu buka dan tutup. Jadi dalam 1 hari pengguna dapat memasukkan data sampai 3 kali. Pada menu manual pengguna memasukkan waktu buka [1] dan waktu tutup [1] nilainya harus lebih besar dari waktu buka [1]. Jika pengguna memasukkan waktu sampai 3 kali maka nilai yang dimasukkan harus lebih besar dari nilai masukan sebelumnya. Setelah pengguna memasukkan waktu buka dan tutup selesai, sistem akan berjalan sesuai program yang telah dirancang. . Tabel 4.3. Hasil pengujian pergerakan motor pada menu manual Masukan Waktu Pergerakan Motor Buka [1] Tutup [1] Buka [2] Tutup [2] Buka [3] Tutup [3] Buka [1] Tutup [1] Buka [2] Tutup [2] Buka [3] Tutup [3] 3 09.00 09.30 12.00 12.30 17.00 17.30 cw ccw cw ccw cw ccw Tabel 4.4. Hasil pengujian limit switch pada menu manual Masukan Waktu Kondisi Limit Switch Buka [1] Tutup [1] Buka [2] Tutup[2] Buka [3] Tutup[3] Buka [1] Tutup [1] Buka [2] Tutup [2] Buka [3] Tutup [3] 1 2 1 2 1 2 1 2 1 2 1 2 3 09.00 09.30 12.00 12.30 17.00 17.30 on off off on on off off on on off off on Prinsip kerja dari menu manual sama dengan menu otomatis, yaitu pada saat nilai yang dimasukkan, data disimpan pada mikrokontroler. Saat data pada mikrokontroler dan waktu RTC sama, maka motor DC akan bergerak searah jarum jam untuk membuka tirai dan bergerak berlawanan dengan arah jarum jam untuk menutup tirai. Setelah tirai terbuka, kondisi limit switch 1 ON dan limit switch 2 OFF. Kondisi ON pada limit switch menyebabkan motor DC berhenti berputar.

4.3. Pengujian Rangkaian Penyearah

Pengujian rangkaian penyearah 6 volt dan 12 volt menggunakan multimeter dengan cara mengukur tegangan keluarannya. Hasil pengujian tegangan keluaran penyearah dapat dilihat pada Tabel 4.5. Tabel 4.5. Hasil pengujian tegangan keluaran penyearah Penyearah Tegangan Keluaran Volt 6 volt 6,03 12 volt 12,02 Hasil pengukuran tegangan keluaran rangkaian penyearah 6 volt dan 12 volt memiliki perbedaan dengan tegangan keluaran idealnya. Pada komponen IC LM7806 tegangan keluaran idealnya adalah 6 volt tetapi pada saat pengujian terukur 6,03 volt sedangkan IC LM7812 idealnya adalah 12 volt tetapi pada saat pengujian terukur 12,02 volt. Range tegangan keluaran IC LM7806 adalah 5,7 volt sampai 6,3 volt dan IC LM7812 antara 11,4 volt sampai 12,6 volt. Rangkaian penyearah bekerja dengan baik karena nilai tegangannya berada dalam range tegangan keluaran minimum dan maksimum.

4.4. Pengujian Rangkaian Penggerak

Pengujian rangkaian driver dilakukan dengan memberikan nilai duty cycle pada port D.4 yang berfungsi sebagai PWM pada mikrokontroler. Sumber tegangan untuk motor DC sebesar 6 volt. Pada perancangan ini nilai duty cycle yang dipakai adalah 80 untuk proses menutup tirai dan 100 untuk membuka tirai. Nilai duty cycle dibawah 60 tidak digunakan karena tidak mampu menggerakkan beban motor DC dan nilai duty cycle antara 60 sampai 70 mampu menggerakkan beban namun tidak berhasil menekan limit switch . Pengujian dilakukan dengan mencatat waktu yang ditempuh dengan jarak 13,5 cm. Hasil pengujian rangkaian driver ditunjukkan pada Tabel 4.6. Tabel 4.6. Hasil pengujian rangkaian driver Nilai duty cycle Percobaan ke- 1 2 3 4 5 80 3 detik 3 detik 3 detik 3 detik 3 detik 100 2 detik 2 detik 2 detik 2 detik 2 detik Berdasarkan percobaan yang dilakukan, diperoleh waktu yang ditempuh untuk duty cycle 80 adalah 3 detik dan duty cycle 100 adalah 2 detik.

4.5. Pengujian Rangkaian RTC

Pengujian RTC dilakukan dengan mengamati nilai keluaran frekuensi pada pin SQW kaki 7 menggunakan frequency counter dengan model GFC-8055G. Gambar 4.10. Frekuensi pada RTC Pengukuran nilai kristal pada RTC menggunakan frequency counter adalah 1 Hz. Sehingga nilai error -nya: Berdasarkan nilai error yang dikeluarkan frekuensi IC DS1307 menunjukkan bahwa pewaktuan yang digunakan tidak mempunyai kesalahan errror 0.

4.6. Pembahasan Perangkat Lunak

4.6.1. Program Sistem

Listing program sistem dapat dilihat pada Gambar 4.13. Program sistem dieksekusi pada saat pengguna menyalakan saklar. Listing program inisialisasi dapat dilihat pada Gambar 4.11. Program akan menampilkan data waktu dan tanggal yang telah di setting sebelumnya. Pada saat saklar aktif, mikrokontroler akan mengeksekusi program inisialisasi yaitu i2c_init dan rtc_init. Kemudian akan muncul tampilan pada LCD seperti yang ditunjukkan pada Gambar 4.12. Jika pengguna menekan tombol B maka akan muncul menu yang tersedia. Selanjutnya mikrokontroler mengecek jika ‘adakah=0’ atau tidak ada data waktu,data tanggal dan data Pilih_Menu maka pengguna harus memasukkan data tersebut. Setelah terpenuhi data waktu, data tanggal kemudian masuk ke program Pilih_Menu sehingga data ‘adakah=1’ dan nilainya terpenuhi. Mikrokontroler akan membaca data yang tersimpan di EEPROM. Gambar 4.11. Listing program inisialisasi Gambar 4.12. Tampilan awal Program sistem akan mengakses waktu dan tanggal dari RTC. Jika menekan tombol B maka akan mengeksekusi fungsi Pilih_Menu. Tombol C difungsikan untuk membuka tirai tanpa mengatur waktu buka dan tombol D untuk menutup tirai tanpa mengatur waktu tutup tirai. Waktu dan tanggal secara otomatis dibaca oleh mikrokontroler dengan variabel RTC. Program sistem mengeksekusi data waktu saat waktu buka sama dengan waktu sebenarnya sehingga motor akan otomatis membuka tirai. Saat waktu tutup sama dengan waktu yang sebenarnya maka motor akan kembali menutup tirai. Motor akan bergerak sesuai jumlah masukan waktu buka-tutup tirai. Proses membuka dan menutup tirai dilakukan sesuai masukan yang telah diatur sebelumnya. Gambar 4.13. Listing program sistem Fungsi s=sTemp adalah pada saat nilai s detik tidak sama dengan s sesudahnya maka nilai s akan disamakan. Program ini dimaksudkan untuk menghindari pengiriman data yang sama secara terus menerus pada LCD yang menimbulkan kedip dan tampilan yang tidak jelas. Tampilan data di LCD hanya akan berubah ketika terjadi perubahan nilai variabel s.