ระบบคิวอัตโนมัติ จะประกอบด้วยส่วนหลักๆ ดังนี้

> Computer โปรแกรมคิว

> Ticket Printer หรือ ตู้กดบัตรคิว ไว้สำหรับออกบัตรคิว

> Keypad หรือ แป้นกดเรียกคิว ไว้สำหรับกดเรียกคิวประจำช่อง

> LED Summary Board ไว้สำหรับแสดงผลสรุปหมายเลขคิวทั้งหมด

> Counter Display Board ไว้สำหรับแสดงหมายเลขคิวของแต่ละช่องบริการสำหรับธุรกิจและการให้บริการนั้น ระบบคิว ถือว่ามีความสำคัญอย่างมากที่จะช่วยอำนวยความสะดวกให้การจัดการกับปัญหาการให้บริการ

การทำงาน Keypad

ส่วนประกอบแป้นกดเรียกคิวลูกค้า หรือ Keypad

มีขนาดเล็กพอๆ กับเครื่องคิดเลขขนาดพกพา ไม่เปลืองพื้นที่บนโต๊ะทำงานเช่นกัน มาพร้อม หน้าจอแสดงผลขนาด 2 บรรทัด เพื่อแจ้งข้อมูล = หมายเลขที่กำลังให้บริการขณะนั้น, Calling = หมายเลขที่กำลังเรียกมารับบริการ, Wt = จำนวนคิวที่รอรับบริการ, Hold = จำนวนคิวที่เก็บ รอเรียก และออกแบบให้ใช้งานง่ายกับฟังก์ชั่นพื้น ฐานดังนี้ กดปุ่ม Next ในการเรียกลูกค้าหมายเลข ถัดไป, กดปุ่ม Recall สำหรับเรียกลูกค้าหมายเลข เดิมซํ้าอีก, กดปุ่ม Cancel สำหรับยกเลิกคิวที่เรียก แล้วไม่เข้ามารับบริการ และปุ่ม Pause สำหรับ การพักให้บริการ ส่วนการใช้งานในระดับที่สูงขึ้น ก็สามารถทำได้เช่นกัน โดยมีปุ่ม Hold ให้ใช้งาน สำหรับเก็บหมายเลขคิวที่เรียกแล้วไม่เข้ามารับ บริการ, กดปุ่ม Call HD ในการเรียกหมายเลขคิว ที่เก็บไว้ให้เข้ามารับบริการอีกครั้ง และกดปุ่ม NEXT เรียกคิวล่วงหน้า ในขณะที่ไม่มีลูกค้าเข้าคิว รอรับบริการ  นอกจากนั้นแล้วผู้ใช้ยังสามารถ เรียกดูจำนวนคิว หรือลูกค้าที่เข้ามารับบริการได้ หรือเรียกว่า Print Report โดยการกด 0 และ NEXT จากนั้นกดปุ่ม TRANSC รีพอร์ตก็จะถูก พิมพ์ออกมา (ข้อมูลจะถูกรีเซ็ทตั้งค่าใหม่เวลา 24.00 ของทุกวัน)

การทำงาน Keypad

การทำงาน Keypad แบบ 4×4 ปุ่ม

แป้นปุ่มกดหรือ Keypad เป็นอุปกรณ์สำหรับรับอินพุตจากผู้ใช้ มีลักษณะเป็นปุ่มกดหลายปุ่ม ถูกจัดเรียงกันในลักษณะเป็นอาร์เรย์ แบ่งเป็นแถวแนวนอน (Rows) และแถวแนวตั้ง (Columns) เช่น 3×4 (= 12 ปุ่ม) หรือ 4×4 (= 16 ปุ่ม) เป็นต้น แต่ละปุ่มก็จะมีสัญลักษณ์เขียนกำกับไว้ เช่น ตัวเลข 0-9, #, * เป็นต้น โดยปรกติ ถ้าต่อปุ่มกดแยกจำนวน 16 ตัว จะต้องใช้ขาสัญญาณทั้งหมด 16 ขา แต่ถ้าใช้การจัดเรียงแบบ 4×4 จะใช้ขาสัญญาณเพียง 8 ขา แต่ต้องมีเทคนิคในการตรวจดูว่า ปุ่มกดใดถูกกดบ้างในขณะนั้น วิธีการนี้เรียกว่า การสแกนปุ่มกด (key scan)

การใช้งาน 4×4 Keypad ร่วมกับบอร์ด Arduino เพื่อคอยตรวจดูว่า (การสแกนปุ่มกด) ผู้ใช้ได้กดปุ่มใดบ้าง อุปกรณ์ที่ใช้เป็น 4×4 Keypad มีสายเชื่อมต่อและคอนเนกเตอร์จำนวน 8 ขา แบบตัวเมีย (Female) ถ้าต้องการเสียบขาลงบนเบรดบอร์ด ก็สามารถใช้ Pin Header ตัวผู้ เป็นตัวเชื่อมต่อได้ ขาทั้ง 8 นั้น ถ้ามองจากด้านหน้า (Front View) และนับจากซ้ายไปขวา จะเป็นขาหมายเลข 1-8 ตามลำดับ โดยที่ขา 1-4 จะเป็นขาสำหรับแถวแนวนอน (Rows) และขา 5-8 จะเป็นขาแนวตั้ง (Columns) ในการใช้งานร่วมกับบอร์ด Arduino จะต้องต่อตัวต้านทานแบบ Pull-up เช่น 1k ถึง 10k โอห์ม (เฉพาะ)ที่ขาแนวตั้งแต่ละขาด้วย รวมทั้งหมด 4 ตัว

การทำงาน Keypad

พฤติกรรมการทำงานของโค้ดตัวอย่าง

ในการตรวจสอบดูว่ามีการกดปุ่มใดบ้างในแต่ละเวลา จะเลือกใช้ไลบรารี่ที่มีชื่อว่า Keypad ของ Arduino ซึ่งทำให้สะดวกในการใช้งาน ในการต่อวงจร จะต้องต่อขา ROWS (ขาหมายเลข 1-4 นับจากซ้ายไปขวา) ของอุปกรณ์ 4×4 keypad ไปยังขา D2, D3, D4, D5 ตามลำดับ และขา COLUMNS (ขาหมายเลข 5-8 นับจากซ้ายไปขวา) ของอุปกรณ์ 4×4 keypad ไปยังขา D8, D9, D10, D11 ตามลำดับ เมื่อมีการกดปุ่มแต่ละครั้ง ค่าหรือตัวอักษรที่ตรงกับปุ่มกดนั้น จะถูกส่งผ่าน Serial (ใช้ค่า Baudrate 115200) ไปแสดงผลในหน้าต่างของ Serial Monitor และมีเสียง “beep” สั้นๆ (ถ้าต่อเอาต์พุตไปยัง Buzzer)