กลับไปหน้ารวมไฟล์
control-coin-acceptor-arduino-interrupts.md

Control Coin Acceptor with Arduino

Vending Telemetry: การเชื่อมต่อ Commercial Coin Acceptor

การแปลงสกุลเงินโลหะจริงให้เป็นเครดิตดิจิทัลจำเป็นต้องมีความแม่นยำด้านเวลาอย่างยิ่ง โปรเจกต์ Control Coin Acceptor นี้จะเชื่อมต่อกลไกรับเหรียญขนาดใหญ่สำหรับเครื่องอาร์เคด/ตู้หยอดเหรียญเชิงพาณิชย์ (เช่น CH-926) เข้ากับ Arduino โดยตรง! คุณไม่สามารถใช้ digitalRead() มาตรฐานใน loop() เพื่อตรวจจับเหรียญได้เลย เครื่องรับเหรียญจะส่งพัลส์ 20 มิลลิวินาทีที่เร็วมาก หาก Arduino กำลังยุ่งกับการอัปเดต LCD พัลส์นั้นก็จะถูกพลาดไป และเครื่องจะขโมยเงินของลูกค้าไปอย่างแท้จริง!

arcade_coin_acceptor_1772681534011.png

ความจำเป็นของ Hardware Interrupt (attachInterrupt)

เพื่อรับประกันการนับที่แม่นยำ 100% ระบบจะต้องใช้ Silicon Interrupts โดยเฉพาะ!

  1. สายสัญญาณของ Coin Acceptor ต่อตรงเข้ากับ Arduino Pin 2 หรือ Pin 3 (เป็น Pin เดียวบน Uno ที่สามารถรองรับ Hardware Interrupts ได้!)
  2. Interrupt Service Routine (ISR) จะหยุดการทำงานของคอร์หลักทั้งหมดทันทีในระดับนาโนวินาทีเมื่อเหรียญตกลงมา!
volatile int totalCredits = 0; // ต้องกำกับด้วย volatile! เพราะมีการเปลี่ยนแปลงโดยระบบ!

void setup() {
  // หากพัลส์จากกลไกรับเหรียญเปลี่ยนจาก 5V ลงไปที่ 0V:
  attachInterrupt(digitalPinToInterrupt(2), coinInsertedISR, FALLING); 
}

// ฟังก์ชันนี้จะทำงานทันทีในเบื้องหลัง โดยไม่สนดีเลย์ใดๆ ใน loop()!
void coinInsertedISR() {
  totalCredits++; // เก็บค่าสกุลเงิน!
}

อันตรายจากการลดระดับแรงดัน 12V เป็น 5V!

เครื่องรับเหรียญเชิงพาณิชย์ทำงานโดยใช้แหล่งจ่ายไฟ 12-Volt ขนาดใหญ่ระดับอุตสาหกรรม เพื่อจ่ายไฟให้กับ solenoids ป้องกันการติดขัดที่หนักหน่วงและ optical sorters ภายใน

  • สายสัญญาณจะส่งเอาต์พุตเป็นพัลส์ 12V ขนาดใหญ่!
  • สำคัญมาก: หากคุณต่อสัญญาณ 12V เข้ากับ Arduino Pin 2 โดยตรง คุณจะทำให้ ATmega328P ชิปไหม้ทันที!
  • คุณต้องสร้าง Voltage Divider (เช่น ตัวต้านทาน 10K และ 4.7K) หรือใช้ logic-level converter เพื่อลดพัลส์ 12V ลงให้เป็นสัญญาณ logic 5V ที่ปลอดภัย ก่อนที่มันจะไปถึง interrupt pin!

ฮาร์ดแวร์กลไกที่จำเป็น

  • Arduino Uno/Nano (สำหรับความสามารถด้าน hardware interrupt)
  • Multi-Coin Acceptor (CH-926 / JY-926) (ตั้งโปรแกรมไว้ให้จดจำน้ำหนัก, เส้นผ่านศูนย์กลาง และคุณสมบัติโลหะของเหรียญที่เฉพาะเจาะจงได้ในตัว)
  • Voltage Divider Components (ตัวต้านทาน 10K / 4.7K Ohm)
  • Massive 12V Power Adapter (จำเป็นในการขับเคลื่อน solenoids ของกลไกรับเหรียญ โดยแยกจาก 5V rail ที่ละเอียดอ่อนของ Arduino)
  • Relay Module (เพื่อจ่ายสินค้าหรือเปิดเกมเมื่อตัวแปร totalCredits ถึงเกณฑ์ที่กำหนด!)

ข้อมูล Frontmatter ดั้งเดิม

title: "Control Coin Acceptor with Arduino"
description: "Vending machine architecture! Harness extreme high-speed microsecond interrupts on an Arduino to explicitly count fast optical pulses firing from a commercial coin acceptor, securely transforming physical currency into precise digital credits."
category: "Commercial & Retail"
difficulty: "Intermediate"