3.6 Pemrograman Perangkat Lunak pada PC
Berikut adalah gambar diagram alir pemrogram pada PC:
Inisialisasi Serial Port
Mulai
Tombol S Ditekan
Tombol w Ditekan
Tombol A Ditekan
Tombol D Ditekan
Serial port = “1”
Serial port = “2”
Serial port = “3”
Serial port = “4” Tidak
Tidak
Tidak
Tidak Ya
Ya
Ya Ya
Gambar 3.6 diagram alir program pada PC
Universitas Sumatera Utara
Program pada gambar 3.6 dimulai dengan inisialisasi port komunikasi serial. Untuk menggerakkan motor-motor pada kamera 1 kita bisa menggunakan tombol tanda
panah up, left, right, dan down pada keyboard PC. Berikut adalah listing program pada PC :
Public tanda As Integer Private Sub Command1_Click
Dim port As Integer port = Text1.Text
MSComm1.CommPort = port MSComm1.DTREnable = True
MSComm1.RTSEnable = True MSComm1.PortOpen = True
Command1.Enabled = False Text1.Locked = True
End Sub Private Sub Command2_Click
End End Sub
Private Sub Form_KeyDownKeyCode As Integer, Shift As Integer Select Case KeyCode
Case vbKeyUp MSComm1.Output = 1
Case vbKeyDown MSComm1.Output = 2
Case vbKeyLeft
Universitas Sumatera Utara
MSComm1.Output = 3 Case vbKeyRight
MSComm1.Output = 4 End Select
End Sub
Universitas Sumatera Utara
3.7 Pemrograman Perangkat Lunak Pada Arduino
Berikut adalah diagram alir dari program alat yang dibuat:
Inisialisasi Pin yang Digunakan
Data Serial “1”
Mulai
Cek data serial port
Data Serial “2”
Data Serial “3”
Data Serial “4”
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
Ya Ya
Ya Ya
Gambar 3.7 diagram alir perangkat lunak pada mikrokontroler
Universitas Sumatera Utara
Program dimulai pada gambar 3.7 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. Berikut ini adalah listing program pada mikrokontroler:
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{
Universitas Sumatera Utara
pinModepwmab, OUTPUT; pinModepwmcd, OUTPUT;
pinModemotas1, OUTPUT; pinModemotas2, OUTPUT;
pinModemotbwh1, OUTPUT; pinModemotbwh2, OUTPUT;
pinModemotasa, OUTPUT; pinModemotasb, OUTPUT;
pinModemotbwha, OUTPUT; pinModemotbwhb, OUTPUT;
Serial.begin9600; }
void loop{ if Serial.available0{
int serial = Serial.read; switchserial{
case 1: atasnaek1;
delay20; stopmot1;
stopmot2; break;
case 2: atastrn1;
delay20; stopmot1;
stopmot2; break;
Universitas Sumatera Utara
case 3: kiribwh1;
delay20; stopmot1;
stopmot2; break;
case 4: kananbwh1;
delay20; stopmot1;
stopmot2; break;
default: stopmot1;
stopmot2; break;
} }
} void kiribwh1{
digitalWritemotbwh1, HIGH; digitalWritemotbwh2, LOW;
analogWritepwmab, 70; }
void kananbwh1{ digitalWritemotbwh1, LOW;
digitalWritemotbwh2, HIGH; analogWritepwmab, 70;
Universitas Sumatera Utara
} void stopmot1{
digitalWritemotbwh1, HIGH; digitalWritemotbwh2, HIGH;
digitalWritemotas1, HIGH; digitalWritemotas2, HIGH;
} void kiribwh2{
digitalWritemotbwha, LOW; digitalWritemotbwhb, HIGH;
analogWritepwmcd, 70; }
void kananbwh2{ digitalWritemotbwha, HIGH;
digitalWritemotbwhb, LOW; analogWritepwmcd, 70;
} void stopmot2{
digitalWritemotbwha, HIGH; digitalWritemotbwhb, HIGH;
digitalWritemotasa, HIGH; digitalWritemotasb, HIGH;
}
Universitas Sumatera Utara
BAB IV PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay PSA