Translate

Membuat Alat Simulasi Perimetri ( Pendeteksi Kondisi Mata ) Menggunakan Motor Stepper dan Led

Membuat Alat Simulasi Perimetri ( Pendeteksi Kondisi Mata )  Menggunakan Motor Stepper dan Led


          Kali ini akan dibahas mengenai bagaimana cara membuat alat yang digunakan untuk mengecek kondisi mata, atau nama lainya perimetri, alat ini bisa mengecek kondisi mata apakah mata pasien nomal atau tidak. Komponen utama perimetri ini adalah motor stepper dan led, jadi prinsip kerjanya yaitu pasien akan melihat led yang akan menyala bergantian, jika pasien mulai melihat nyala led menyala maka harus menekan tombol, setelah tombol ditekan maka motor stepper akan aktif dan bergerak dengan sudut 15 derajat, step by step hingga 360 derajat. jika semua step pada motor sudah terpenuhi maka akan terlihat hasilnya. di contoh ini ada 7 step dengan led diwakili oleh upcounter pada LCD display. berikut program dan skemanya.



a. Minimum System




b. Motor Stepper + Driver L298





c. Program Bascom AVR

$regfile = "m16def.dat"
$crystal = 11059200

Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.2 , Db4 = Porta.3
Config Lcdpin = Pin , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6
Config Lcd = 16 * 2

Cls
Cursor Off

Dim A As Integer

Dim Simpansudut1 As Integer
Dim Simpan1 As Integer
Dim Simpansudut2 As Integer
Dim Simpan2 As Integer
Dim Simpansudut3 As Integer
Dim Simpan3 As Integer
Dim Simpansudut4 As Integer
Dim Simpan4 As Integer
Dim Simpansudut5 As Integer
Dim Simpan5 As Integer
Dim Simpansudut6 As Integer
Dim Simpan6 As Integer
Dim Simpansudut7 As Integer
Dim Simpan7 As Integer
Dim N As Integer
Dim Y As Integer
Dim C As Integer
Dim V As String * 20
N = 1
A = 0

Ddrb = &B11111111
Ddrd = &B11111111

'up
Ddrc.4 = 0
Set Portc.4

'enter
Ddrc.6 = 0
Set Portc.6

'interupsi
Ddrc.7 = 0
Set Portc.7


Upperline
Lcd "Selamat Datang"
Wait 3
Cls

Main:

N = 1
Simpansudut1 = 0
Simpan1 = 0
Simpansudut2 = 0
Simpan2 = 0
Simpansudut3 = 0
Simpan3 = 0
Simpansudut4 = 0
Simpan4 = 0
Simpansudut5 = 0
Simpan5 = 0
Simpansudut6 = 0
Simpan6 = 0
Simpansudut7 = 0
Simpan7 = 0

Cls
Do

Locate 1 , 4
Lcd "PILIH MATA"
Lowerline
Lcd "Kiri" ; "       " ; "Kanan"

If Pinc.4 = 0 Then
Waitms 200
Cls
Upperline
Lcd "Mata Kiri"
Wait 3
Goto Matakiri

Elseif Pinc.6 = 0 Then
Waitms 200
Cls
Upperline
Lcd "Mata Kanan"
Wait 3
Goto Matakanan

End If

Loop


Matakiri:

C = 1
Wait 1

Cls

Do

Locate 1 , 1
Lcd "LED ke " ; A
Locate 2 , 1
Lcd "Mata kiri" ; "  " ; N
Incr A

Waitms 500

If Pinc.7 = 0 And N = 1 Then
Waitms 200
Incr N
A = 0
Simpansudut1 = N
Simpan1 = A
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 2 Then
Waitms 200
Simpansudut2 = N
Simpan2 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 3 Then
Waitms 200
Simpansudut3 = N
Simpan3 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 4 Then
Waitms 200
Simpansudut4 = N
Simpan4 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 5 Then
Waitms 200
Simpansudut5 = N
Simpan5 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 6 Then
Waitms 200
Simpansudut6 = N
Simpan6 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 7 Then
Waitms 200
Simpansudut7 = N
Simpan7 = A
Incr N
Cls
Goto Gerak

End If

If A > 100 Then
Incr N
A = 0
Cls
Goto Gerak
End If

If N = 8 Then
Cls
Goto Hasil
End If

Loop


Matakanan:
C = 2
Wait 1

Cls

Do

Locate 1 , 1
Lcd "LED ke " ; A
Locate 2 , 1
Lcd "Mata kanan" ; "  " ; N
Incr A

Waitms 500

If Pinc.7 = 0 And N = 1 Then
Waitms 200
Incr N
A = 0
Simpansudut1 = N
Simpan1 = A
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 2 Then
Waitms 200
Simpansudut2 = N
Simpan2 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 3 Then
Waitms 200
Simpansudut3 = N
Simpan3 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 4 Then
Waitms 200
Simpansudut4 = N
Simpan4 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 5 Then
Waitms 200
Simpansudut5 = N
Simpan5 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 6 Then
Waitms 200
Simpansudut6 = N
Simpan6 = A
Incr N
Cls
Goto Gerak

Elseif Pinc.7 = 0 And N = 7 Then
Waitms 200
Simpansudut7 = N
Simpan7 = A
Incr N
Cls
Goto Gerak

End If

If A > 100 Then
Incr N
A = 0
Cls
Goto Gerak
End If

If N = 8 Then
Cls
Goto Hasil
End If

Loop


Gerak:
Y = 0
Do
Portb = &B00000001
Waitms 10
Portb = &B00000010
Waitms 10
Portb = &B00000100
Waitms 10
Portb = &B00001000
Waitms 10

Incr Y

Loop Until Y = 7
Y = 0
A = 0


If N = 8 Then
Goto Hasil
End If

If C = 1 Then
Goto Matakiri
Elseif C = 2 Then
Goto Matakanan
End If

Return


Hasil:
Cls

Do

If Simpan1 > 20 Or Simpan2 > 20 Or Simpan3 > 20 Or Simpan4 > 20 Or Simpan5 > 20 Or Simpan6 > 20 Or Simpan7 > 20 Then
V = "MATA TDK NORMAL"
Else
V = "MATA NORMAL"

End If

Locate 1 , 5
Lcd "Hasil"
Lowerline
Lcd V

Wait 10

Goto Main

Loop



d. Penggunaan Alat

              Pertama hubungkan alat dengan supply, dan pastikan push button sesuai di portnya dan juga LCD display terpasang pada port sesuai program, jika semua telah terpasang maka akan terlihat up counter pada LCD, tekan tombol interupsi, maka akan otomatis memutar stepper dan menyimpan data posisi lednya, jika ada posisi led lebih dari 20 maka mata dianggap tidak normal.








No comments:

Post a Comment