BAB III METODE PENELITIAN
3.4 Pengujian dan pengambilan data
Setelah pembuatan hardware dan program telah selesai, tahap selanjutnya ialah dengan melakukan pengujian sensor dan pengambilan data dari sistem. Data yang diambil merupakan tegangan, arus dan daya yang dihasilkan dari panel surya.
Pengambilan data dilakukan selama 7 hari yaitu pada tanggal 4,5,18,19,23,25, dan 26 bulan April 2020. Seluruh data yang didapat akan dibandingkan dan analisa untuk mendapatkan kesimpulan penelitian ini.
BAB IV
PENGUJIAN DAN ANALISA 4.1 Kalibrasi dan pengujian sensor
Kalibrasi dan pengujian sensor sangat perlu dilakukan untuk mendapatkan nilai yg akurat dan menentukan nilai deviasi pada sensor. Nilai yang didapat dari kalibrasi akan digunakan dalam pemrograman agar sistem dapat berjalan dengan semestinya. Penelitian ini melakukan kalibrasi pada sensor cahaya dan tegangan.
4.1.1 Kalibrasi dan pengujian sensor cahaya
Kalibrasi sensor cahaya bertujuan untuk mendapatkan nilai dari masing masing sensor cahaya. Masing masing nilai sensor cahaya akan dibandingkan nilai deviasinya. Nilai deviasi ini akan digunakan sebagai nilai toleransi sensor cahaya pada program arduino. Kalibrasi sensor cahaya dilakukan dengan melihat nilai sensor dalam keadaan seluruh sensor cahaya yg digunakan diarahkan ke cahaya matahari secara bersamaan. Hasil kalibrasi sensor cahaya dapat dilihat pada Gambar 4.1 dibawah.
Gambar 4. 1 Hasil kalibrasi sensor cahaya
4.1.2 Kalibrasi dan pengujian sensor tegangan
Kalibrasi sensor tegangan bertujuan untuk mendapatkan nilai tegangan dari panel surya dengan akurat. Kalibrasi ini membandingkan nilai keluaran dari panel surya yang terbaca oleh sensor tegangan dengan alat ukur tegangan Multimeter Digital. Hasil kalibrasi sensor cahaya dapat dilihat pada Gambar 4.2 dibawah ini.
Gambar 4. 2 Hasil kalibrasi sensor tegangan
Saat melakukan kalibrasi terdapat nilai error antara Tegangan yang dibaca oleh sensor tegangan dan multitester digital sebesar 0,01 Volt.
4.2 Pengujian panel surya dengan neural network
Pengujian dilakukan selama 7 hari yaitu pada tanggal 4,5,18,19,23,25, dan 26 bulan April 2020. Pada pengukuran arus diberikan beban resistor sebesar 330k Ohm. Hasil pengujian hari pertama dapat dilihat pada Tabel 4.1 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari pertama adalah 0.011761 Watt.
Tabel 4. 1 Hasil pengujian hari pertama panel surya dengan neural network yang dihasilkan pada pengujian hari kedua adalah 0,011992 Watt.
Tabel 4. 2 Hasil pengujian hari kedua panel surya dengan neural network
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Hasil pengujian hari ketiga dapat dilihat pada Tabel 4.3 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari ketiga adalah 0,011903 Watt.
Tabel 4. 3 Hasil pengujian hari ketiga panel surya dengan neural network
Hasil pengujian hari keempat dapat dilihat pada Tabel 4.4 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari keempat adalah 0,011187 Watt.
Tabel 4. 4 Hasil pengujian hari keempat panel surya dengan neural network
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Hasil pengujian hari kelima dapat dilihat pada Tabel 4.5 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari kelima adalah 0,011989 Watt.
Tabel 4. 5 Hasil pengujian hari kelima panel surya dengan neural network
Hasil pengujian hari keenam dapat dilihat pada Tabel 4.6 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari keenam adalah 0,011505 Watt.
Tabel 4. 6 Hasil pengujian hari keenam panel surya dengan neural network
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Hasil pengujian hari ketujuh dapat dilihat pada Tabel 4.7 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari ketujuh adalah 0,011238 Watt.
Tabel 4. 7 Hasil pengujian hari ketujuh panel surya dengan neural network pengujian, daya rata-rata terbesar terjadi pada pengujian hari kedua yaitu 0,011992 Watt. Sedangkan daya rata-rata terendah terjadi pada pengujian hari keempat yaitu 0,011187 Watt. Tegangan rata-rata terbesar terjadi pada hari kedua 12,0033 Volt. Tegangan rata-rata terendah terjadi pada hari keempat 11,4775 Volt. Arus rata-rata terbesar terjadi pada hari kelima 0.98917 mA. Arus rata-rata terendah terjadi pada hari keempat 0,94917 mA.
Besar kecilnya nilai yang dihasilkan tergantung oleh cuaca saat melakukan pengujian. Cuaca yang dapat terjadi yaitu cerah, berawan, dan mendung.
4.3 Pengujian panel surya dengan fuzzy logic
Pengujian dilakukan selama 7 hari yaitu pada tanggal 4,5,18,19,23,25, dan 26 bulan April 2020. Pada pengukuran arus diberikan beban resistor sebesar 330k Ohm. Hasil pengujian hari pertama dapat dilihat pada Tabel 4.8 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari pertama adalah 0.011814 Watt.
Tabel 4. 8 Hasil pengujian hari pertama panel surya dengan fuzzy logic yang dihasilkan pada pengujian hari kedua adalah 0.012076 Watt.
Tabel 4. 9 Hasil pengujian hari kedua panel surya dengan fuzzy logic
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Hasil pengujian hari ketiga dapat dilihat pada Tabel 4.10 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari ketiga adalah 0.011935 Watt.
Tabel 4. 10 Hasil pengujian hari ketiga panel surya dengan fuzzy logic
Jam Tegangan (Volt) Arus (mA) Daya (Watt) daya yang dihasilkan pada pengujian hari keempat adalah 0.011164 Watt.
Tabel 4. 11 Hasil pengujian hari keempat panel surya dengan fuzzy logic
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Hasil pengujian hari kelima dapat dilihat pada Tabel 4.12 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari kelima adalah 0.020055 Watt.
Tabel 4. 12 Hasil pengujian hari kelima panel surya dengan fuzzy logic
Jam Tegangan (Volt) Arus (mA) Daya (Watt) daya yang dihasilkan pada pengujian hari keenam adalah 0.011514 Watt.
Tabel 4. 13 Hasil pengujian hari keenam panel surya dengan fuzzy logic
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Hasil pengujian hari ketujuh dapat dilihat pada Tabel 4.14 dibawah. Rata-rata daya yang dihasilkan pada pengujian hari ketujuh adalah 0.011272 Watt.
Tabel 4. 14 Hasil pengujian hari ketujuh panel surya dengan fuzzy logic
Jam Tegangan (Volt) Arus (mA) Daya (Watt)
Dari data yang didapat pada sistem fuzzy logic selama 7 hari pengujian, daya rata-rata terbesar terjadi pada pengujian hari kedua yaitu 0,012076 Watt.
Sedangkan daya rata-rata terendah pada pengujian hari keempat yaitu 0,011164 Watt. Tegangan rata-rata terbesar terjadi pada hari kedua 12,01416 Volt.
Tegangan rata-rata terendah terjadi pada hari keempat 11,49 Volt. Arus rata-rata terbesar terjadi pada hari kelima 0.995 mA. Arus rata-rata terendah terjadi pada hari keempat 0,94583 mA.
4.4 Analisa hasil pengujian sistem
Perbandingan Hasil pengujian pada hari pertama dapat dilihat pada Tabel 4.15 dibawah. Keluaran sistem dengan neural network tidak terlalu berbeda dengan fuzzy logic. Namun kedua sistem memiliki keluaran lebih baik dari sistem statis. Keluaran naik dari pukul 07.00 hingga 09.00. Kemudian berfluktuasi
hingga pukul 14.00 dan menurun di sore hari hingga pukul 18.00 (Gambar 4.3, Gambar 4.4, dan Gambar 4.5).
Tabel 4. 15 Perbandingan hasil pengujian pada hari pertama
Jam Neural Network Fuzzy Logic Statis
V mA p V mA p V mA p
Peningkatan daya pada pegujian hari pertama sebesar 12,04%.
Gambar 4. 3 Grafik perbandingan tegangan pengujian hari pertama
8
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 4 Grafik perbandingan arus pengujian hari pertama
Gambar 4. 5 Grafik perbandingan daya pengujian hari pertama
Perbandingan hasil pengujian pada hari kedua dapat dilihat pada Tabel 4.16.
Grafik perbandingan tegangan, arus, dan daya hasil pengujian hari kedua dapat dilihat pada Gambar 4.6, Gambar 4.7, dan Gambar 4.8. Fungsi pelacakan nilai maksimum tampak sangat berpengaruh di pagi hari, dimana perbedaan keluaran tegangan sistem tracking dan statis sangat mencolok mencapai 1,08 volt.
0.6
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
Tabel 4. 16 Perbandingan Hasil Pengujian Pada Hari Kedua
Jam Neural Network Fuzzy Logic Statis
V mA p V mA p V mA P hari. Peningkatan daya pada pegujian hari kedua sebesar 11,95%.
Gambar 4. 6 Grafik perbandingan tegangan pengujian hari kedua
8
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 7 Grafik perbandingan arus pengujian hari kedua
Gambar 4. 8 Grafik perbandingan daya pengujian hari kedua
Perbandingan hasil pengujian pada hari ketiga dapat dilihat pada Tabel 4.17.
Grafik perbandingan tegangan, arus, dan daya hasil pengujian hari ketiga dapat dilihat pada Gambar 4.9, Gambar 4.10, dan Gambar 4.11.
0.6 0.7 0.8 0.9 1 1.1 1.2
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
Neural Network Fuzzy Logic Statis
0.004 0.006 0.008 0.01 0.012 0.014 0.016
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
Tabel 4. 17 Perbandingan Hasil Pengujian Pada Hari Ketiga
Jam Neural Network Fuzzy Logic Statis
V mA P V mA p V mA p
Peningkatan daya pada pegujian hari ketiga sebesar 12,65%.
Gambar 4. 9 Grafik perbandingan tegangan pengujian hari ketiga
8
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 10 Grafik perbandingan arus pengujian hari ketiga
Gambar 4. 11 Grafik perbandingan daya pengujian hari ketiga
Perbandingan hasil pengujian pada hari keempat dapat dilihat pada Tabel 4.18. Grafik perbandingan tegangan, arus, dan daya hasil pengujian hari keempat dapat dilihat pada Gambar 4.12, Gambar 4.13, dan Gambar 4.14.
0.6 0.7 0.8 0.9 1 1.1 1.2
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
Neural Network Fuzzy Logic Statis
0.004 0.006 0.008 0.01 0.012 0.014 0.016
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
Tabel 4. 18 Perbandingan Hasil Pengujian Pada Hari Keempat
Jam Neural Network Fuzzy Logic Statis
V mA p V mA p V mA p
Peningkatan daya pada pegujian hari keempat sebesar 9,38%.
Gambar 4. 12 Grafik perbandingan tegangan pengujian hari keempat
7
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 13 Grafik perbandingan arus pengujian hari keempat
Gambar 4. 14 Grafik perbandingan daya pengujian hari keempat
Perbandingan hasil pengujian pada hari kelima dapat dilihat pada Tabel 4.19.
Grafik perbandingan tegangan, arus, dan daya hasil pengujian hari kelima dapat dilihat pada Gambar 4.15, Gambar 4.16, dan Gambar 4.17.
0.6 0.7 0.8 0.9 1 1.1 1.2
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
Neural Network Fuzzy Logic Statis
0.004 0.006 0.008 0.01 0.012 0.014 0.016
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
Tabel 4. 19 Perbandingan Hasil Pengujian Pada Hari Kelima
Jam Neural Network Fuzzy Logic Statis
V mA p V mA p V mA P
Peningkatan daya pada pegujian hari kelima sebesar 11,77%.
Gambar 4. 15 Grafik perbandingan tegangan pengujian hari kelima
8
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 16 Grafik perbandingan arus pengujian hari kelima
Gambar 4. 17 Grafik perbandingan daya pengujian hari kelima
Perbandingan hasil pengujian pada hari keenam dapat dilihat pada Tabel 4.20.
Grafik perbandingan tegangan, arus, dan daya hasil pengujian hari keenam dapat dilihat pada Gambar 4.18, Gambar 4.19, dan Gambar 4.20.
0.6 0.7 0.8 0.9 1 1.1 1.2
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
Neural Network Fuzzy Logic Statis
0.004 0.006 0.008 0.01 0.012 0.014 0.016
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
Tabel 4. 20 Perbandingan Hasil Pengujian Pada Hari Keenam
Jam Neural Network Fuzzy Logic Statis
V mA p V mA p V mA P
Peningkatan daya pada pegujian hari keenam sebesar 14,75%.
Gambar 4. 18 Grafik perbandingan tegangan pengujian hari keenam
8
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 19 Grafik perbandingan arus pengujian hari keenam
Gambar 4. 20 Grafik perbandingan daya pengujian hari keenam
Perbandingan hasil pengujian pada hari kelima dapat dilihat pada Tabel 4.20.
Grafik perbandingan tegangan, arus, dan daya hasil pengujian hari ketiga dapat dilihat pada Gambar 4.18, Gambar 4.19, dan Gambar 4.20.
0.6 0.7 0.8 0.9 1 1.1 1.2
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
Neural Network Fuzzy Logic Statis
0.004 0.006 0.008 0.01 0.012 0.014 0.016
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
Tabel 4. 21 Perbandingan Hasil Pengujian Pada Hari Ketujuh
Jam Neural Network Fuzzy Logic Statis
V mA p V mA p V mA P
Peningkatan daya pada pegujian hari ketujuh sebesar 12,7%.
Gambar 4. 21 Grafik perbandingan tegangan pengujian hari ketujuh
8
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Tegangan (Volt)
Neural Network Fuzzy Logic Statis
Gambar 4. 22 Grafik perbandingan arus pengujian hari ketujuh
Gambar 4. 23 Grafik perbandingan daya pengujian hari ketujuh
Dari perbandingan di atas, rata-rata daya yang dihasilkan tracking panel surya dengan fuzzy logic lebih besar daripada tracking panel surya dengan neural
0.6 0.7 0.8 0.9 1 1.1 1.2
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Arus (mA)
Neural Network Fuzzy Logic Statis
0.004 0.006 0.008 0.01 0.012 0.014 0.016
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00
Daya (Watt)
Neural Network Fuzzy Logic Statis
network. Namun pada percobaan hari keempat, daya rata-rata yang dihasilkan dengan metode neural network lebih besar 0,26% terhadap fuzzy logic.
Dengan menggunakan metode tracking dapat meningkatkan daya yang diterima oleh panel surya. Peningkatan terbesar pada penelitian ini hari keenam sebesar 14,75% terhadap panel surya statis.
Selain itu dilakukan analisis terhadap kecepatan pergerakan motor servo pada kedua sistem. Setiap motor servo diatur ke posisi 90 derajat dan dihitung kecepatan pergerakannya menuju sudut yang sudah ditentukan. Waktu yang dibutuhkan untuk servo bergerak ke sudut tertentu dapat dilihat pada Tabel 4.22 di bawah ini.
Tabel 4. 22 Waktu pergerakan motor servo
Waktu (detik) Sudut
Neural Network Fuzzy Logic Vertikal Horizontal
0,102 10,881 0 0
0,134 10,993 0 90
0,100 11,237 0 180
0,136 7,274 90 0
0,137 7,343 90 180
0,101 12,110 180 0
0,134 11,323 180 90
0,100 11,317 180 180
Dari tabel di atas dapat dilihat pergerakan lebih cepat menggunakan metode neural netwok dibandingkan fuzzy logic. Neural network melakukan tracking lebih cepat dibandingkan fuzzy logic dengan rata-rata kecepatan gerak berkisar 10 detik lebih cepat.
BAB V
KESIMPULAN DAN SARAN 5.1 Kesimpulan
Dari hasil pengujian dan implementasi yang telah dilakukan pada bab sebelumnya, maka dapat diperoleh kesimpulan sebagai berikut:
1. Penelitian ini berhasil merealisasikan sistem tracking panel surya dengan menggunakan algoritma backpropagation dan fuzzy logic untuk memperoleh keluaran maksimal.
2. Metode neural network membuat sistem tracking yang dirancang memiliki pergerakan yang lebih cepat dari pada metode fuzzy logic.
Pergerakan motor servo pada sistem neural network lebih cepat sekitar 10 detik dibandingkan fuzzy logic.
3. Dari hasil pengujian rata-rata tegangan perhari yang dihasilkan lebih besar ketika menggunakan metode fuzzy Logic daripada menggunakan metode neural network. Hal ini disebabkan pada sistem tracking dengan neural network menyebabkan motor servo berputar lebih cepat dan posisi panel surya kurang sempurna ke arah datangnya sinar matahari.
Ketidaksempurnaan posisi kemungkinan disebabkan ketidakstabilan sistem mekanik.
4. Dibandingkan dengan sistem tanpa tracking atau sistem statis, terjadi peningkatan daya sampai 14.75% saat metode tracking diterapkan.
5.2 Saran
Beberapa saran yang dapat diberikan sehubungan dengan pelaksanaan Skripsi ini adalah sebagai berikut:
1. Untuk perancangan selanjutnya diharapkan tidak ada nilai error pada pembacaan sensor tegangan untuk mendapatkan posisi optimal. Error pada penelitian ini adalah 0.01 V.
2. Penelitian selanjutnya dapat menggunakan motor yang lebih besar untuk mengendalikan panel dengan kapasitas lebih tinggi.
3. Sistem mekanik harus dirancang sebaik mungkin, agar keunggulan kecepatan neural network menghasilkan posisi mekanik yang lebih tepat.
DAFTAR PUSTAKA
[1] Hasyim Asyari, Jatmiko, Angga, “Intensitas cahaya matahari terhadap daya keluaran panel surya, Simposium Nasional RAPI XI FT UMS, ISSN:1412-9612, 2012.
[2] I. B. K. S. Negara, I. W. A. Wijaya, dan A. A. G. M. Pemayun, “Analisis perbandingan output daya listrik panel surya sistem tracking dengan panel surya reflector,” E-Journal Spektrum, vol. 3, No.1, Jun 2016.
[3] Laurene Fausett, “Fundamental of neural network architecture, algorithm and applications”, 1994.
[4] Sudrajat, “Dasar-dasar fuzzy logic”. Bandung, Universitas padjadjaran, modul kuliah, 2008
[5] Subandi, S. Hani, “Pembangkit listrik energi matahari sebagai penggerak pompa air dengan menggunakan solar sel,” Jurnal Teknologi Technoscientia vol. 7, no. 2, 2015.
[6] Solar Panel 12V 1.5W [online]. Available: https://cb-electronics.com/products/solar-panel-12v.
[7] Masykur SJ, “Pengukuran besaran listrik”. Medan : USUpress, hlm 42, Agustus 2016.
[8] T. F. Prasetya, “Rancang bangun penjejak matahari dual axis menggunakan sensor LDR serta pengaruh suhu dan kelembaban terhadap optimalisasi penyerapan tenaga surya”, Universitas Sumatera Utara, Skripsi, Jan 2017.
[9] H. Salim, “Pembuatan modul pengubah sinyal analog menjadi sinyal digital (analog to digital converter) untuk praktikum laboratorium dasar telekomunikasi,” 2010.
[10] “Kushagra. 16x2 lcd module datasheet [online]. available:
https://www.engineersgarage.com/electronic-components/16x2-lcd-module-datasheet.”.
[11] Junaidi, Yuliyan Dwi Prabowo, “Project sistem kendali elektronik berbasis arduino”. Bandar Lampung: Anugrah Utama Raharja, 2018
[12] A. D. Pratama, “komtroler lengan robot menggunakan motor servo dan motor stepper dengan masukan 3 axis,” Universitas Sanata Dharma Yogyakarta, Skripsi, 2017.
[13] J. J. Siang, “Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan Matlab”. Yogyakarta: ANDI Yogyakarta, 2004.
[14] M. F. Rahmansyah, “Prototipe robot line follower pengantar makanan berbasis mikrokontroler atmega32 menggunakan algoritma fuzzy”, Universitas Sumatera Utara, Skripsi, Des 2014.
[15] A. Zakariah, J. J. Jamian, M. A. Md Yunus, “Dual-Axis solar tracking system based on fuzzy logic control and light dependent resistors as feedback path elements”, IEEE, 2015.
[16] K.Resi, “Pembuatan penggerak panel surya untuk mengikuti gerak matahari dengan menggunakan logika fuzzy”, Jurnal ITB, Vol 5 (1), 2013.
[17] Y. Away, Suriadi, A. Rahman, T. R. A. Isma, dan M. Firdaus, “Penerapan logika fuzzy pada sun tracker dual axis berbasis sensor tetrahedron geometri”, Seminar Nasional dan Expo Teknik Elektro, hal. 74-80, 2017 [18] C. C. Lee. “Fuzzy logic in control systems: fuzzy logic controller-part I”,
IEEE, vol. 20, no 2 April.1990
LAMPIRAN
LiquidCrystal lcd(12, 11, 9, 8, 7, 6);
Servo servo1;
Servo servo2;
/*****************************************************************
*
Network Configuration - customized per network
******************************************************************
/
const int PatternCount = 8;
const int InputNodes = 4;
const int HiddenNodes = 3;
const int OutputNodes = 2;
const float LearningRate = 0.3;
const float Momentum = 0.9;
const float InitialWeightMax = 0.5;
const float Success = 0.003;
float Input[PatternCount][InputNodes] = {
const float Target[PatternCount][OutputNodes] = { { 1, 0.5 },
/*****************************************************************
randomSeed(analogRead(A5)); //Collect a random ADC sample for Randomization.
ReportEvery1000 = 1;
for ( p = 0 ; p < PatternCount ; p++ ) { RandomizedIndex[p] = p ;
}
Serial.println("do train_nn"); // do training neural net - only takes seconds
train_nn();
delay(5000);}
void loop() {
unsigned long currentMillis = millis();
drive_nn();
}
void drive_nn() {
Serial.println("Running NN Drive Test");
while (1) {
Serial.print("sensor1=");
Serial.print(val1);
Serial.print(" sensor2= ");
Serial.println(val2);
Serial.print("sensor11=");
Serial.print(val3);
InputToOutput(TestInput[0], TestInput[1], TestInput[2], TestInput[3]);
//INPUT to ANN to obtain OUTPUT int nnOutput1 = Output[0] * 100;
Serial.println(nnOutput2);
servo2.write(nnOutput2);
Compute hidden layer activations
Compute output layer activations and calculate errors
******************************************************************
/
for ( i = 0 ; i < OutputNodes ; i++ ) {
Accum = OutputWeights[HiddenNodes][i] ;
void InputToOutput(float In1, float In2, float In3, float In4) { float TestInput[] = {0, 0, 0, 0};
Compute hidden layer activations
******************************************************************
/
for ( i = 0 ; i < HiddenNodes ; i++ ) { Accum = HiddenWeights[InputNodes][i] ; for ( j = 0 ; j < InputNodes ; j++ ) {
Compute output layer activations and calculate errors
******************************************************************
/
for ( i = 0 ; i < OutputNodes ; i++ ) {
Accum = OutputWeights[HiddenNodes][i] ; for ( j = 0 ; j < HiddenNodes ; j++ ) {
Accum += Hidden[j] * OutputWeights[j][i] ;}
Output[i] = 1.0 / (1.0 + exp(-Accum)) ;}
#ifdef DEBUG
Serial.print (" Output ");
for ( i = 0 ; i < OutputNodes ; i++ ) { Serial.print (Output[i], 5);
Serial.println ("o= ");
}
#endif
Initialize HiddenWeights and ChangeHiddenWeights
Initialize OutputWeights and ChangeOutputWeights
for ( TrainingCycle = 1 ; TrainingCycle < 2147483647 ; TrainingCycle++) {
/*****************************************************************
*
Randomize order of training patterns
******************************************************************
/
for ( p = 0 ; p < PatternCount ; p++) { q = random(PatternCount);
r = RandomizedIndex[p] ;
Cycle through each training pattern in the randomized order
Compute output layer activations and calculate errors
Accum += OutputWeights[i][j] * OutputDelta[j] ;}
ChangeHiddenWeights[InputNodes][i] = LearningRate * HiddenDelta[i] + Momentum * ChangeHiddenWeights[InputNodes][i] ;
HiddenWeights[InputNodes][i] += ChangeHiddenWeights[InputNodes][i] ; for ( j = 0 ; j < InputNodes ; j++ ) {
ChangeOutputWeights[HiddenNodes][i] = LearningRate * OutputDelta[i] + Momentum * ChangeOutputWeights[HiddenNodes][i] ;
Every 100 cycles send data to terminal for display and draws the graph on OLED
******************************************************************
/
ReportEvery1000 = ReportEvery1000 - 1;
if (ReportEvery1000 == 0) {
ReportEvery1000 = 99;}
If error rate is less than pre-determined threshold then end
int baca = analogRead(tegangan_input);
float tegangan = baca * (5.0 / 1024.0) * 4.6;
Serial.print("tegangan = "); // shows the voltage measured Serial.print(tegangan,3); //3 digits after decimal point
Serial.println(" volt"); //3 digits after decimal point lcd.clear();
PROGRAM FUZZY LOGIC
#include <Servo.h>
#include <LiquidCrystal.h>
#define tegangan_input A5
LiquidCrystal lcd(12, 11, 9, 8, 7, 6);
Servo horizontal;
int bawah = (analogRead(A3)/tol);
int atas = (analogRead(A2)/tol);
int kanan = (analogRead(A1)/tol);
int kiri = (analogRead(A0)/tol);
Serial.print("\nkanan=");
Serial.print(kanan);
Serial.print(" kiri=");
Serial.print(kiri);
Serial.print(" atas=");
int baca = analogRead(tegangan_input);
float tegangan = baca * (5.0 / 1024.0) * 4.6;
Serial.print("\ntegangan = ");
Serial.println(tegangan,3);
Serial.print("A5 = ");
Serial.print(baca);
Serial.println(" ");
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" TEGANGAN : ");
lcd.setCursor(6,1);
lcd.print(tegangan);
delay(200);
}