Pemrograman Perangkat Lunak Pada Arduino

3.6 Pemrograman Perangkat Lunak Pada Arduino

Berikut adalah diagram alir dari program alat yang telah dirancang: Inisialisasi Pin yang Digunakan Data Serial “1” Mulai Cek data serial port Data Serial “2” Data Serial “3” Data Serial “4” Data Serial “5” Data Serial “6” Data Serial “7” Data Serial “8” Tidak Tidak Tidak Tidak Tidak Tidak Tidak Motor 1 Kamera 1 Searah jarum jam Motor 1 Kamera 1 Berlawanan arah jarum jam Motor 2 Kamera 1 Berlawan Arah Jarum Jam Motor 2 Kamera 1 Searah Jarum Jam Motor 1 Kamera 2 Serah jarum jam Motor 2 Kamera 2 Berlawanan Arah Jarum Jam Motor 1 Kamera 2 Berlawanan jarum jam Motor 2 Kamera 2 Searah Jarum Jam Ya Ya Ya Ya Ya Ya Ya Ya Tidak Gambar 3.6 diagram alir perangkat lunak pada mikrokontroler Universitas Sumatera Utara Program dimulai dengan inisialisasi pin-pin yang digunakan serta untuk mendeklarasikan komunikasi serial yang digunakan. Selanjutnya program akan mengecek apakah ada data dari komunikasi serial. Jika ada data serial, maka mikrokontroler akan memeriksa data tersebut. Jika data dari serial berupa karakter “1” maka mikrokontroler akan mengeluarkan logika yang akan menggerakan motor 1 pada kamera 1 untuk bergerak naik searah jarum jam clock wise. Jika data serial berupa karakter “2” maka mikrokontroler akan memberikan logika yang akan menggerakan motor 1 pada kamera 1 bergerak turun berlawanan arah jarum jam counter clock wise. Jika data serial berupa karakter “3”, maka mikrokontroler akan mengeluarkan logika yang akan menggerakkan motor 2 pada kamera 1 untuk berputar kearah kiri berlawanan arah jarum jam counter clock wise. Jika data serial berupa karakter “4”, maka mikrokontroler akan mengeluarkan logika yang akan menggerakan motor 2 pada kamera 1 untuk berputar ke kanan searah jarum jamclockwise. Jika data serial berupa karakter “5”, maka mikrokontroler akan memberikan logika yang akan menggerakan motor 1 pada kamera 2 untuk bergerak naik searah jarum jamclock wise. Jika data serial berupa karakter “6”, maka mikrokontroler akan memberikan logika yang akan menggerakan motor 2 pada kamera 2 berputar kearah kiri berlawanan arah jarum jam counter clock wise. Jika data serial berupa karakter “7”, maka mikrokontroler akan memberikan logika yang akan menggerakan motor 1 pada kamera 2 bergerak Universitas Sumatera Utara turun berlawanan arah jarum jamcounter clock wise. Jika data serial berupa karakter “8”, maka mikrokontroler akan mengeluarkan logika yang akan menggerakkan motor 2 pada kamera 2 berputar kekanan searah jarum jamclock wise. Berikut ini adalah listing program pada mikrokontroler ATMega328: int pwmab=10; int pwmcd=5; int motas1=12; int motas2=11; int motbwh1=9; int motbwh2=8; int motasa=7; int motasb=6; int motbwha=4; int motbwhb=3; void setup{ pinModepwmab, OUTPUT; pinModepwmcd, OUTPUT; pinModemotas1, OUTPUT; pinModemotas2, OUTPUT; pinModemotbwh1, OUTPUT; pinModemotbwh2, OUTPUT; pinModemotasa, OUTPUT; pinModemotasb, OUTPUT; pinModemotbwha, OUTPUT; pinModemotbwhb, OUTPUT; Serial.begin9600; Universitas Sumatera Utara } void loop{ if Serial.available0{ int serial = Serial.read; switchserial{ case 1: atasnaek1; delay20; stopmot1; stopmot2; break; case 2: atastrn1; delay20; stopmot1; stopmot2; break; case 3: kiribwh1; delay20; stopmot1; stopmot2; break; case 4: kananbwh1; delay20; stopmot1; stopmot2; Universitas Sumatera Utara break; case 5: atasnaek2; delay20; stopmot1; stopmot2; break; case 6: kiribwh2; delay20; stopmot1; stopmot2; break; case 7: atastrn2; delay20; stopmot1; stopmot2; break; case 8: kananbwh2; delay20; stopmot1; stopmot2; break; default: stopmot1; stopmot2; Universitas Sumatera Utara break; } } } void kiribwh1{ digitalWritemotbwh1, HIGH; digitalWritemotbwh2, LOW; analogWritepwmab, 70; } void kananbwh1{ digitalWritemotbwh1, LOW; digitalWritemotbwh2, HIGH; analogWritepwmab, 70; } void stopmot1{ digitalWritemotbwh1, HIGH; digitalWritemotbwh2, HIGH; digitalWritemotas1, HIGH; digitalWritemotas2, HIGH; } void kiribwh2{ digitalWritemotbwha, LOW; digitalWritemotbwhb, HIGH; analogWritepwmcd, 70; } void kananbwh2{ digitalWritemotbwha, HIGH; digitalWritemotbwhb, LOW; Universitas Sumatera Utara analogWritepwmcd, 70; } void stopmot2{ digitalWritemotbwha, HIGH; digitalWritemotbwhb, HIGH; digitalWritemotasa, HIGH; digitalWritemotasb, HIGH; } void atastrn1{ digitalWritemotas1, HIGH; digitalWritemotas2, LOW; analogWritepwmab, 70; } void atasnaek1{ digitalWritemotas1, LOW; digitalWritemotas2, HIGH; analogWritepwmab, 70; } void atastrn2{ digitalWritemotasa, LOW; digitalWritemotasb, HIGH; analogWritepwmcd, 70; } void atasnaek2{ digitalWritemotasa, HIGH; digitalWritemotasb, LOW; analogWritepwmcd, 70; } Universitas Sumatera Utara

BAB IV PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay PSA