palang pintu kereta api otomatis dg atmega8
DESCRIPTION
tugasTRANSCRIPT
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)