palang pintu kereta api otomatis dg atmega8

Post on 06-Dec-2015

64 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

tugas

TRANSCRIPT

Palang Pintu Kereta Api Otomatis dg ATmega8

Sistem Palang Pintu Kereta Api Otomatis

Prinsip dasarnya sederhana. Kita pasang 4 sensor untuk mendeteksi kereta yang lewat. dapat memakai Infrared + Phototransistor. Pada contoh simulasi ini nanti kita pakai LDR, karena yang paling mudah disimulasikan .

Sensor 1 dan Sensor 2 untuk mendeteksi kereta dari arah kiri. Sensor 3 dan 4 dari arah kanan. Sensor 1 dan 2 juga dipakai untuk mendeteksi benda/objek yang lewat, apakah kereta api atau yang lain. Kan bisa jadi hewan ya, semacam kerbau atau sapi numpang lewat, ngenai sensor, bisa2 palang pintu nutup otomatis deh…

Untuk membedakannya maka perlu tahu kecepatan benda-nya. Cara-nya ? ya tinggal hitung saja waktu antara objek mengenai sensor 1 dan sensor 2. Jarak Sensor 1 dan 2 kan kita buat 1 m. Jadi kecepatannya V=S/t . S adalah jarak sensor 1 dan 2 (1 m) sedangkan t adalah waktu tempuh dari sensor 1 ke sensor 2 yang dihitung oleh timer mikrokontroler.Rangkaian untuk simulasinya memakai LDR sebagai sensor, motor DC untuk membuka – menutup pintu.

Skematik Sistem Palang Pintu KA Otomatis

Programnya kita buat dengan BASCOM-AVR :

$regfile = “m8def.dat”$crystal = 1000000Dim F As ByteConfig Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2Config Lcdpin = Pin , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5Config Lcd = 16 * 2Cursor OffClsLcd “Palang Pintu KA”LowerlineLcd “Otomatis”Wait 1Config Timer1 = Timer , Prescale = 1On Timer1 OverEnable InterruptsEnable Ovf1Stop Timer1

Portd = &HFFDdrd = &HFFDdrc = &H0Portc = &HFF

Do   ‘=== kereta dari arah kiri   If Pinc.0 = 0 Then      F = 0      Start Timer1      Do         If F = 1 Then Exit Do      Loop Until Pinc.1 = 0      Stop Timer1      If F = 0 And Timer1 < 60000 Then         Cls         Lcd “Kereta Dari”         Lowerline         Lcd “Arah Kiri”         Gosub Tutup          ‘— tunggu tutup         Bitwait Pinc.3 , Reset         Bitwait Pinc.3 , Set         Gosub Buka         End If   End If   ‘=== kereta dari arah kanan   If Pinc.3 = 0 Then      F = 0      Start Timer1      Do         If F = 1 Then Exit Do      Loop Until Pinc.2 = 0      Stop Timer1      If F = 0 And Timer1 < 60000 Then         Cls         Lcd “Kereta Dari”         Lowerline         Lcd “Arah Kanan”         Gosub Tutup         ‘— tunggu tutup         Bitwait Pinc.0 , Reset         Bitwait Pinc.0 , Set         Gosub Buka         End If

   End IfLoopEndBuka: Portd.0 = 1 Portd.1 = 0 Portd.2 = 1 Wait 5 Portd.2 = 0Return

Tutup: Portd.0 = 0 Portd.1 = 1 Portd.2 = 1 Wait 5 Portd.2 = 0Return

Over:Stop Timer1ClsLcd “Bukan KAI !!!”F = 1Return

Kita asumsikan kecepatan kereta api minimal 60 km/jam, sehingga dari perhitungan timer, nilai maksimalnya adalah 60.000.  Osilatornya 1 Mhz ya untuk mikronya.

Silakan dicoba dengan asumsi kereta datang dari sebelah kiri. Matikan lampu pada LDR1 kemudian LDR2. lakukan dengan cepat (sekan – akan kereta datang memotong sensor 1 dan 2). Scera otomatis motor DC akan berputar ke kiri (menutup). Selanjutnya matikan LDR 3 kemudian LDR 4. Berarti kereta sudah sampai pada sebelah palang pintu. Hidupkan lagi LDR 1, 2, 3 dan terakhir LDR 4, artinya kereta sudah lewat. Perhatikan motor DC berputar kanan (buka)

top related