Sistem Antrian dengan Mikrokontroler AVR

Mesin antrian atau sistem antrian yang akan kita buat hampir mirip dengan yang terpasang di perkantoran, tentu saja yang mempunyai loket. Bank, penjualan tiket KA, ruang pendaftaran rumah sakit misalnya. Nah pada aplikasi mikrokontroler AVR kali ini kita akan membuatnya dengan fitur yang sederhana dulu. Cukup tampilan angka, belum memakai suara. Jadi tampilan nomor antrian dan nomor loket.

Master Mikrokontroler

Siapkan mikrokontroler ATmega16, bisa juga pakai ATmega8535 atau ATmega32, Enam digit seven segment.
Rangkaian seperti pada gambar.

Untuk nomor loket dibuat 2 digit, ini fleksibel ya, boleh 3 digit hingga loket ke 999 (banyak banget..?) atau cukup 1 digit, yang mampu menangani loket 1 s/d 9.
Nomor antrian demikian juga, boleh anda buat 3 digit atau jumlah digit yang lain.
Programnya kita buat saja dengan BASCOM-AVR.
$regfile = “m16def.dat”
$crystal = 1000000
Config Portb = Output
Config Porta = Output
Config Portd = Input
Portd = &HFF
Dim I As Byte , J As Byte , Tem1 As Integer , Tem2 As Integer
Dim Rib As Integer , Rat As Integer , Pul As Integer , Sat As Integer
Dim Antrian As Word , Loket As Byte , Pul_loket As Integer , Sat_loket As Integer
Dim No_loket As Byte
Loket = 0
Antrian = 0
99 proyek arduino
Do
   If Pind.0 = 0 Then
      Loket = 1
      Incr Antrian
      Waitms 100
   Elseif Pind.1 = 0 Then
      Loket = 2
      Incr Antrian
      Waitms 100
   Elseif Pind.2 = 0 Then
      Loket = 3
      Incr Antrian
      Waitms 100
   End If

 Rib = Antrian / 1000
 Tem1 = Antrian Mod 1000
 Rat = Antrian / 100
 Tem2 = Antrian Mod 100
 Pul = Antrian / 10
 Sat = Antrian Mod 10
 Pul_loket = Loket / 10
 Sat_loket = Loket Mod 10

      Portb = &B000001
      Porta = Lookup(pul_loket , Angka)
      Waitms 5
      Portb = &B000010
      Porta = Lookup(sat_loket , Angka)
      Waitms 5
      Portb = &B000100
      Porta = Lookup(rib , Angka)
      Waitms 5
      Portb = &B001000
      Porta = Lookup(rat , Angka)
      Waitms 5
      Portb = &B010000
      Porta = Lookup(pul , Angka)
      Waitms 5
      Portb = &B100000
      Porta = Lookup(sat , Angka)
      Waitms 5
Loop
End
Angka:
   Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90

Tombol dipakai untuk memanggil nomor antrian. Ketika tombol di loket 1 ditekan maka nomor antrian akan bertambah 1 dan tampilan nomor loket berupa angka ‘1’. Demikian juga jika tombol 3 ditekan, nomor antrian akan bertambah dan tampilan nomor loket menjadi ‘3’.

Selamat mencoba…..

Aplikasi Mikrokontroler

This entry was posted in Mikrokontroler AVR. Bookmark the permalink.

35 Responses to Sistem Antrian dengan Mikrokontroler AVR

  1. zulkarnain says:

    mas seven segmen untuk realnya, gimana menghubungkannya.trimakasih.

  2. sicangklong says:

    mas mau nanya sistem antriannya pada hitungan lebih dari 99 tampilan angkanya ga jelas,kira kira kekeliruannya dimana ya mas,mohon bantuannya
    terimakasih mas

  3. Alvin says:

    makisah ya inform nya, membantu banget 😀

  4. lekgun says:

    klo cristal di pergunakan 16mhz mas gimana apa eksekusi program nya berubah juga?

  5. sicangklong says:

    mas kalau akses tombolnya dikendalikan dari pc kira kira source codenya bagaimana

  6. sicangklong says:

    mas kalo boleh saya minta gambaran source codenya menggunakan delphi7 dan mohon dikirim ke email sicangklong@yahoo.co.id-makasih mas

  7. liya says:

    mas, codingnya pas tak coba kog tampilannya jadi acak ya?

  8. liya says:

    sekarang tampilannya 00 0000 tapi waktu pushbuttonnya di tekan angkanya nggk mau berubah?

  9. nana says:

    mas, saya coba buat dengan rangkaian aslinya… hasilnya hanya kedip kedip doang, itu solusinya gimana ya mas…?

  10. ARMAN says:

    MAS KALAU ANTRANNYA DITAMBAH PAKAI SUARA GIMANA CARANYA

  11. ARMAN says:

    BISA DIJELASKAN MAS CARA PENYAMBUNGAN ISD DENGAN NO ANTRIAN NYA

    • admin says:

      Harus ndesain dulu mas, tapi yang jelas tergantung tipe ISD nya juga, ada beberaa jenis seperti ISD 2560. Cek datasheet-nya disitu sudah ada cara nyambung + mrogramnya.

  12. sarah says:

    mas mau sedikit koreksi yah

    Rib = Antrian / 1000
    Tem1 = Antrian Mod 1000
    Rat = Antrian / 100
    Tem2 = Antrian Mod 100
    Pul = Antrian / 10
    Sat = Antrian Mod 10
    Pul_loket = Loket / 10
    Sat_loket = Loket Mod 10

    harusnya jadi

    Rib = Antrian / 1000
    Tem1 = Antrian Mod 1000
    Rat = Tem1 / 100
    Tem2 = Antrian Mod 100
    Pul = Tem2 / 10
    Sat = Antrian Mod 10
    Pul_loket = Loket / 10
    Sat_loket = Loket Mod 10

    kalo ga gitu, nanti setelah 99, maka angkanya jadi aneh mas. mohon maaf sebelumnya, makasih

  13. ARMAN says:

    mas kalau pakai atmega 8535 bisa ngak

  14. budi says:

    Ijin Memcoba ya Boss, makasi banyak

  15. Akhmad Zaend says:

    Mas.. gimana cara nyisipin suaranya, jdi pas tombol Nomer antri di takan muncul suara bacanya ..???

    • admin says:

      Wah lumayan rumit mas, tapi jawaban ringkasnya gini : pertama siapkan device untuk merekam dan mengeluarkan suaranya, biasanya pakai ISD, tipe ISD juga banyak, cara komunikasi macem2 yang tentu akan menentukan cara memprogramnya. Nah kalau ISD dah ready selanjutnya siapkan rekamannya untuk suara yang akan dimunculkan, kalau sudah kemudian addressing/pengalamatan yang fungsinya ketika di programnya nanti akan memudahkan untuk dipanggil berdasarkan alamat suara tersebut.

  16. boy says:

    Mas, kalo rangkaian kita tambah buzzer bisa tidak ?
    Lalu codingnya yg dirubah dimana ?
    Maklum , masih belajar ..

    • admin says:

      Bisa saja, misal di PORTC.3, maka untuk menhidupkan buzzer : PORTC.3=1 dan untuk mematikan buzzer : PORTC.3 =0, tentu sebelumnya PORTC.3 diset dulu sebagai output (DDRC.3=1)

  17. rendi says:

    mas minta coding nya yg sudah jadi kalau boleh

  18. yahya says:

    codingnya ko error ya??? ane lagi butuh buat tugas 🙁

Leave a Reply