Membuat Mesin Antrian Berbicara Dengan Tampilan Seven Segment (Arduino + DFPlayer Mini)


Mesin antrian, tau kan? mesin yang biasanya dipakai untuk memanggil para pengunjung satu persatu untuk mendatangi operator atau teller biasanya di bank. Kalau biasanya saya sering lihat di Jogja mesin antrian yang dipakai ada yang berupa angka seven segment besar, ada yang pakai TV sebagai display nya, dan ada juga mesin antrian yang bisa nyebutin langsung urutan nomor antrian dengan cara berbicara.
Nah tentunya masing masing dari jenis mesin antrian tersebut memiliki kelebihan nya masing masing. Kalau saya lihat seperti mesin antrian yang menggunakan tv atau monitor sebagai display itu biasanya yang merancang hanya perlu membuat aplikasi desktop client dan server agar dapat difungsikan untuk memanggil pengunjung di setiap operator atau teller. kalau yang versi bisa bicara nya itu keren lagi, kelihatannya lebih hidup karena biasanya yang ngomong selalu suara cewek aja hehehe.
Nah kalau kamu yang mungkin pernah dapet proyek disuruh membuat sebuah mesin antrian, atau mungkin sekarang kamu lagi bingung mau bikin tugas akhir apa mungkin pada artikel ini kamu bisa ambil referensi sebagai salah satu cadangan tugas akhir kamu atau referensi proyek kamu di lapangan.
Disini saya mencoba membuat sebuah mesin antrian yang dapat berbicara seperti mesin antrian yang umumnya dipasang di kantor kantor, rumah sakit ataupun bank. Namun mesin antrian yang dibuat disini masihlah sangat sederhana karena hanya terdiri dari beberapa komponen dasar saja seperti:

  1. Arduino Uno
  2. DFPlayer Mini
  3. Speaker
  4. Seven Segment

Tentunya walau terlihat sederhana saya menambahkan beberapa pesan didalam nya biar seru aja ye dikit hehehe.

dalam pembuatan mesin antrian tentunya ada proses count up atau penghitungan naik, dan count down atau penghitungan mundur bila diperlukan. Bilangan angka yang ditambah dan dikurangi tersebut pastinya akan digunakan sebagai referensi si mikrokontroller akan menyebutkan bilangan tersebut menjadi kata kata, dengan demikian kita perlu membuatkan proses konversi angka menjadi angka terbilang atau tersebut dengan memanggil file file suara sesuai dengan hasil pembagian bilangan ribuan, ratusan dan satuan tersebut.
Nah dibawah ini adalah contoh programnya.



================================== SOURCE CODE ==================================
#include "softwareserial.h"
#include "dfplayer_mini_mp3,h"
SoftwareSerial mySerial(0, 1); // RX, TX
#include "wire"
#define LATCH 6
#define CLK 5
#define DATA 4

//bilangan HEX Array
byte digit[10]= {0x7E, 0x18, 0xEC, 0xBC, 0x9A, 0xB6, 0xF6, 0x1C, 0xFE, 0xBE};//Digit Normal
byte dot[10]= {0xFD, 0x31, 0xDB, 0x7B, 0x37, 0x6F, 0xEF, 0x39, 0xFF, 0x7F};//Dot Normal
int Button1 = A1;
int Button2 = A0;
int angka = 000;
int satuan,puluhan,ratusan;

void setup(){
  pinMode(LATCH, OUTPUT);
  pinMode(CLK, OUTPUT);
  pinMode(DATA, OUTPUT);
  Serial.begin (9600);
  mySerial.begin (9600);
  mp3_set_serial (mySerial);  //set softwareSerial for DFPlayer-mini mp3 module 
  delay(1);  //wait 1ms for mp3 module to set volume
  mp3_set_volume (27);
  pinMode(Button1, INPUT_PULLUP);
  pinMode(Button2, INPUT_PULLUP);
}

void loop() {
  
  if (digitalRead(Button1) == LOW) {
    delay(200);
    mp3_next ();
    angka++;
    if (angka > 999) {
     angka = 000;
    }}
 
  if (digitalRead(Button2) == LOW) {
    delay(200);
    mp3_prev ();
    angka--;
    if (angka < 000) {
     angka = 999;
    }}
    
 Tampil();   
}

void Tampil(){
     satuan      = angka % 10/1;
     puluhan     = angka % 100/10;
     ratusan     = angka % 1000/100;
  {
  digitalWrite(LATCH, LOW);
  shiftOut(DATA, CLK, MSBFIRST, digit[satuan]);
  shiftOut(DATA, CLK, MSBFIRST, digit[puluhan]);
  shiftOut(DATA, CLK, MSBFIRST, digit[ratusan]);
  digitalWrite(LATCH, HIGH);
}}




Untuk lebih jelasnya kamu bisa menyaksikan video demo mesin antrian sederhana tersebut dibawah ini. selamat menyaksikan.

Video Demo 


No comments

Dicky B_Mz. Powered by Blogger.