Diagram Alir Program Utama

Tabel 3.1 Deklarasi Pin Arduino Mega 2560

3.3. Perancangan Perangkat Lunak

Diagram alir utama sistem Flight Controller pada sistem quadcopter menggunakan sensor IMU Inertial Measurement Unit berbasis Mikrokontroller ATMEGA 2560 dapat dilihat pada Gambar 3.2. Sedangkan untuk pendeklarasian pin pin pada Arduino Mega 2560 dapat dilihat pada table 3.1

3.3.1. Diagram Alir Program Utama

Pada diagram alir Gambar 3.6, saat kontroler on, program akan memulai proses awal yaitu inisialisasi. Pada tahap ini, program akan memproses deklarasi, pengaturan sensor gyro, kalibrasi sensor gyro, pengaturan Receiver, kalibrasi ESC, ataupun perhitungan level baterai. Pada proses pengambilan keputusan untuk siap terbang, Receiver akan mengirimkan data. Jika data Receiver nilai throttle = 0 pwm dan yaw = 0 pwm, maka status Flight Controller menjadi Siap Terbang. Jika data Receiver nilai throttle ≠ 0 pwm atau yaw ≠ 0 pwm, maka program terus akan mengulang sampai nilai throttle = 0 pwm dan yaw = 0 pwm. Setelah itu proses persiapan akan memberikan output pada ESC 10 pwm untuk menandakan motor berputar dan siap untuk diterbangkan. Nomor Pin Arduino Tipe Keterangan A0 Analog Input Pin pembacaan level baterai 50 Komunikasi SPI 51 Komunikasi SPI 52 Komunikasi SPI 53 Komunikasi SPI D10 Komunikasi SPI SDA20 Komunikasi Input SDA IMU Sensor GY-80 SCL21 Komunikasi Input SCL IMU Sensor GY-80 PWM4 Output PWM Output ke ESC 1 PWM5 Output PWM Output ke ESC 2 PWM6 Output PWM Output ke ESC 3 PWM7 Output PWM Output ke ESC 4 Selanjutnya program akan menunggu apakah Receiver mengirimkan data throttle. Jika Receiver sudah mengirimkan data nilai throttle, maka program akan memulai proses subrutin Terbang. Pada subrutin terbang, program akan memproses beberapa data antara lain, pembacaan sensor gyro, pembacaan sensor barometer, perhitungan PID, dan pemberian nilai output pada ESC. Selama wahana terbang, data ketinggian akan terus dibaca sampai mencapat batas ketinggian yang di tetapkan, misal 20 meter. Jika wahana melewati batas ketinggian yang ditetapkan, program akan mengurangi output ESC yang akan berpengaruh terhadap kecepatan motor, sehingga wahana tidak akan lebih tinggi dari batas ketinggian 20 meter. Jika nilai output untuk ESC 1050 artinya setiap kecepatan motor berada pada kondisi terendah, dengan kata lain wahana berada pada tanah. Pada tahap ini program akan meminta klarifikasi apakah wahana akan diterbangkan lagi atau berhenti dengan cara memberikan output pada ESC = 1000 yang artinya motor berhenti. Jika mendarat maka Receiver akan memberikan nilai throttle = 0 pwm dan yaw = 255 pwm untuk membuat perintah yang akan memberikan nilai output pada ESC = 1000 yang artinya motor berhenti dan proses selesai. Jika tidak maka program akan menunggu apakah Receiver mengirimkan data throttle dan wahana melakukan penerbangan lagi. 1 2 3 4 depan kanan belakang kiri Gambar 3.5 Konfigurasi ESC pada wahana Gambar 3.5 memperlihatkan konfigurasi ESC pada wahana. Adapun batas batas output pwm 0 sampai 255 untuk tiap kondisi terbang pada ESC dapat dilihat pada Tabel 3.2. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 3.2 Batas batas output pwm untuk setiap kondisi terbang Kondisi ESC 1 ESC 2 ESC 3 ESC 4 Maju Tetap Tetap +30 +30 Mundur +30 +30 Tetap Tetap Kiri Tetap +30 +30 Tetap Kanan +30 Tetap Tetap +30 Berputar CW +10 Tetap +10 Tetap Berputar CCW Tetap +10 Tetp +10 Gambar 3.6 Diagram Alir Subrutin Menghitung Sensor Gambar 3.7 Diagram Alir Utama Flight Controller pada sistem quadcopter menggunakan sensor IMU berbasis Mikrokontroller ATMEGA 2560

3.3.2. Diagram Alir Subrutin Terbang