การขัดจังหวะด้วยแสงความเร็วสูง: เครื่องคัดแยกเหรียญ
หากคุณหยอดเหรียญลงในช่องพลาสติก เหรียญจะเคลื่อนที่เร็วอย่างไม่น่าเชื่อ เครื่องตรวจจับเหรียญและเครื่องนับจำนวนเงิน นี้ละทิ้งสวิตช์เชิงกล (ซึ่งอาจทำงานผิดพลาดหรือติดขัด) โดยสิ้นเชิง และพึ่งพา IR Obstacle Avoidance Transceivers ที่ทำหน้าที่เป็นสายตรวจจับที่มองไม่เห็น คณิตศาสตร์ของ Arduino จะต้องติดตามว่าสายตรวจจับเฉพาะเส้นใดในชุดประกอบแนวตั้งขาดออก โดยเพิ่มจำนวนเงินเฉพาะลงในเมทริกซ์ที่สะสมไว้ ซึ่งจะแสดงผลแบบไดนามิกออกไปยังจอแสดงผล I2C LCD ขนาดใหญ่!

การหยอดเหรียญผ่านโฟโตไดโอดหลายชุด (ระบบ "ประตู")
เขาวงกตที่พิมพ์ด้วย 3D หรือทำจากกระดาษแข็งจะบังคับเหรียญ quarters, dimes และ nickels ให้แยกออกเป็นช่องแนวตั้งที่แตกต่างกันโดยสิ้นเชิง โดยอิงจากขนาดเส้นผ่านศูนย์กลางทางกายภาพของเหรียญ!
- Arduino ไม่ได้คัดแยก แรงโน้มถ่วงและรูปทรง 3D คือสิ่งที่คัดแยก!
Shaft 1 (Quarters)มีIR_Sensor_AShaft 2 (Nickels)มีIR_Sensor_B- การกระทำแบบ
Falling: เมื่อเหรียญ quarter ตกลงผ่าน Shaft 1 มันจะปิดกั้นแสง IR ทางกายภาพเป็นเวลาเสี้ยววินาที(ขา 5V จะลดลงเป็น LOW)
การกำจัดปัญหาการลงทะเบียนเหรียญหลายครั้งซ้อนกัน
เนื่องจากเหรียญหมุนขณะตกลงมา อาจทำให้โฟโตไดโอดที่ไวต่อแสงทำงานโดยไม่ตั้งใจถึงสามครั้งในการตกเพียง 20 มิลลิวินาที ทำให้เหรียญ $0.25 หนึ่งเหรียญกลายเป็น $0.75 ไปโดยปริยาย!
- กับดักในการทำงาน: คุณต้องใช้ algorithm
Lockout Cooldownที่มี Logic ซับซ้อน!
if (digitalRead(QuarterIRPin) == LOW && (millis() - lastQuarterTime > 200)) {
// มันจะลงทะเบียนก็ต่อเมื่อเหรียญ quarter สุดท้ายผ่านไปแล้วอย่างน้อย 200 มิลลิวินาที!
totalBank += 0.25;
lastQuarterTime = millis(); // สำคัญอย่างยิ่ง! รีเซ็ตตัวล็อกเวลาทางกายภาพ!
lcd.setCursor(0, 0);
lcd.print("Total Bank: $");
lcd.print(totalBank); // แสดงผลการคำนวณจำนวนเต็มใหม่แบบไดนามิก!
}
- ด้วยการใช้
if-statementsแบบต่อเนื่องที่แมปเฉพาะกับประตู IR sensor 3 ตัวที่แยกจากกัน ทำให้ Uno ทำงานเป็นกลไกการคัดแยกที่ไร้ที่ติและรวดเร็วอย่างไม่น่าเชื่อเหมือนในคาสิโน!
สถาปัตยกรรมฮาร์ดแวร์ทางการเงิน
- Arduino Uno/Nano (ความเร็วในการประมวลผลมาตรฐานเพียงพออย่างสมบูรณ์)
- TCRT5000 หรือ IR Obstacle Avoidance Modules ทั่วไปสามตัว (จัดวางตำแหน่งให้ตรงกันข้ามกับรางเหรียญที่ตกลงมาอย่างเคร่งครัด)
- จอแสดงผล I2C ขนาด 16x2 มาตรฐาน (สำหรับแสดงผลข้อมูลทางการเงินแบบเรียลไทม์)
- กลไกการคัดแยกเหรียญที่ผลิตด้วย CNC หรือพิมพ์ด้วย 3D อย่างแม่นยำ (โค้ด Uno จะไม่มีประโยชน์โดยสิ้นเชิง หากกลไกการเลื่อนไม่สามารถปรับขนาดเหรียญได้อย่างถูกต้องตามโครงสร้าง ก่อนที่เหรียญจะถึงจุดตรวจจับด้วยแสง!)