Introduction: Arduino Based Electronic Queuing System
This is a Queuing System project requested by a clinic asistant which allows the doctor enter number from a keyboard and display it on a 32x16 LED panel.
This project uses two Arduino, the first Arduino functioned as a SENDER which included a PS2 keyboard and a mini LCD for number input. While the other Arduino is functioned as a RECEIVER which will trigger a "ding-dong" tone and display number on the 32x16 LED panel.
The SENDER uses a PS2 keyboard instead of USB keyboard, USB keyboard will cost higher since it require a USB host shield. You should get a Matrix keypad (please use google translate) in case the PS2 keyboard is not available in the market.
These two Arduino (SENDER & RECEIVER) is connected via a CAT5e network cable, the CAT5e cable provide power to the RECEIVER and also transfer data between two Arduino.
Step 1: What You Will Learn From This Project
- Built your own DIY Arduino without using the Arduino development board
- Using 8MHz internal oscillatior & eliminated the uses of 16 MHz crystal
- Serial communication between two Arduino
- Connect a PS2 keyboard for user input
- Control a Hitachi HD44780 compatible LCD
- Trigger a ding-dong reminder tone
- Driving a 32x16 Dot Matrix Display LED panel
- Monitor serial data while blink the Dot Matrix LED without delay
Step 2: Materials for SENDER
- ATMEGA328 microcontroller
- PS2 Keyboard
- 10K resistor
- 0.1uF capacitor
- 100uF capacitor
- Printed circuit board
- 1602 LCD screen
- 2.2K resistor or resistor 6.8 K
- 5V 2A power adapter
- RS232 serial port header (DB9 male and female each one)
- Some wire
Step 3: Materials for RECEIVER
- ATMEGA328
- Printed circuit board
- 10K resistor
- 0.1uF capacitor
- 100uF capacitor
- 32x16 Dot Matrix LED Display panel
- RS232 serial port header (DB9 male and female each one)
- 470 ohm resistors
- 8021-2 ding-dong doorbell IC
- 2W or 3W amplifier board + Mini SpeakerSome wire
Step 4: Arduino Software Libraries
You must have the following software libraries install on your computer:
Freetronics dot matrix display library: Driving Freetronics 512 pixels (32 × 16 layout) matrix LED display
https://github.com/freetronics/DMD
TimerOne Library: Use with Freetronics dot matrix display library to configure 16bits hardware timer
http://code.google.com/p/arduino-timerone/downloads/list
PS2 Keyboard Library: An Arduino library for PS2 keyboard
http://playground.arduino.cc/Main/PS2Keyboard
LCD Monitor Library: Arduino LiquidCrystal dirver based on the Hitachi HD44780
https://github.com/adafruit/LiquidCrystal
Step 5: Circuit Diagrams and Source Code Download
There are two folders (Queue_calling_system_Sender and Queue_calling_system_Receiver) inside the ZIP file, download and extract it to Arduino sketch folder. After that upload the Queue_calling_system_Sender.ino & Queue_calling_system_Receiver to the two Arduino.
Step 6: SENDER PCB Design
This is a homemade Arduino (DIY Arduino) , it uses the 8MHZ internal oscillator as the clock source and require very few components. Resistor R3 is used to control the contrast , its resistance can be varies from 2.2K ohms to 6.8K ohms, it is recommended to use an 10K adjustable resistor to test the contrast before selecting a resistor. I have 20 sets mini LCD screen, most of them can use the 2.2K ohm resistor for contrast control, however several of them have to use 6.8K ohm resistor.
R3, LED + and LED- is soldered directly to the PCB in order to reduce the wire connection beween the Arduino & mini LCD screen
Step 7: RECEIVER PCB Design
The RECEIVER also using an 8MHZ internal oscillator as the clock source, its design is very similar to SENDER with additional 470 ohm resistor and a 8021-2 ding-dong sound effect IC near to the pin 28 of ATMega328 .
The 8021-2 ding-dong sound effect IC is not able to drive a 3W speaker since its output signal is very weak, and therefore it must connected to a mini-amplifier. I will not talk much about 32x16 Dot Matrix Display panel, please visit here for more details.
Step 8: 8021-2 Ding-dong Sound Effect IC
The 8021-2 is a ding-dong sound effect generator IC produced by LSI CMOS technology. With built-in RC oscillator and digital envelope circuits, minimal external components are required.
15 Comments
2 years ago
how to make this counter three digit
4 years ago
Nice project I love it,I want to do this project but I don't want to use the 32by8 matrix display panel, please can you email me a readjusted code for the receiver side to use LCD 1602
4 years ago
Can I use any p10 16*32 led display for this project or freetronic display only?
Question 5 years ago
How add 3rd digits in p10 like 000
I make it its coool but I need 3 digits
6 years ago
HOW CAN I CONNECT A MATRIX KEYPAD
6 years ago
Where is the code?
Reply 6 years ago
http://ediy.com.my/Downloads/2015/Electronic_Queue_Display_System/Queue_calling_system.zip
7 years ago
Queue_calling_system_Sender:11: error: 'PS2Keyboard' does not name a type
Queue_calling_system_Sender.ino: In function 'void setup()':
Queue_calling_system_Sender:37: error: 'keyboard' was not declared in this scope
Queue_calling_system_Sender.ino: In function 'String getInput()':
Queue_calling_system_Sender:75: error: 'keyboard' was not declared in this scope
Queue_calling_system_Sender:78: error: 'PS2_ENTER' was not declared in this scope
Queue_calling_system_Sender:102: error: 'PS2_BACKSPACE' was not declared in this scope
where does the fault? //
Reply 7 years ago
You need to install PS2Keyboard library
7 years ago
i am trying to make that with electronic laser system . so will turned you younger or not ?????????????????? any help please
Reply 7 years ago
How can i help you
7 years ago
please call me at 626 766 2743
8 years ago
This is awesome! Nice idea, thanks for sharing :)
8 years ago on Introduction
Very nice Instructable. I like the way you have the two Arduinos talking communicating. Will you be posting And Instructable for the homemade Arduino?
Reply 8 years ago on Introduction
The homemade Arduino is based on YABBAS by serisman
http://ediy.com.my/index.php/projects/item/86-mini...
More homemade Arduino is available here:
http://ediy.com.my/index.php/blog/item/73-arduino-...