หมายเหตุ: บทช่วยสอนนี้อาจล้าสมัย โปรดไปที่ นี่ เพื่อดูเวอร์ชันที่อัปเดตกว่า
บทนำ
ด้วยโปรเจกต์นี้ คุณจะสามารถสร้างเครื่องทำฝนเงิน (MAKE IT RAIN) แบบตบมือที่สนุกสนานได้ ในการเปิดใช้งานเครื่อง เพียงแค่ปรบมือ แล้วเครื่องก็จะเริ่มทำงาน! สเก็ตช์ใช้ ArduinoSound library ใหม่ เพื่อเชื่อมต่อกับ I2S digital microphone DC motor และ standard servo motor ถูกใช้เพื่อดันเงินออก เราใช้เครื่อง laser cutter เพื่อทำชิ้นส่วน MDF สำหรับกล่อง ยางรัดและกาวร้อนเล็กน้อย และเครื่องของคุณก็จะพร้อมใช้งาน ตรวจสอบวิดีโอด้านล่างเพื่อดูการทำงาน!

ฮาร์ดแวร์
ในการรันสเก็ตช์ของเครื่อง Make-it-Rain เราใช้บอร์ด Arduino MKRZero ขนาดเล็กของบอร์ดจะช่วยให้เราซ่อนบอร์ดไว้ในกล่องได้ เพื่อตรวจจับการปรบมือ เราใช้ ICS43432 I2S digital microphone ในการเปิด DC motor เราใช้ N-Channel MOSFET, diode และ 2.2Kohm pull down resistor ในการจ่าย 5V PWM signal ให้กับ servo motor เราใช้ N-Channel MOSFET และ 2.2Kohm pull up resistor คุณจะต้องมี small breadboard และ jumper wire บางส่วนเพื่อทำการเชื่อมต่อ เพื่อป้องกันสัญญาณรบกวนจาก DC motor ที่อาจรบกวน servo เราใช้ 0.1uF และ 100uF capacitor
คุณสามารถจ่ายไฟให้กับทุกอย่างจากคอมพิวเตอร์ของคุณผ่าน USB หรือหากต้องการทำให้พกพาได้ คุณสามารถใช้ LiPo battery กับ MKRZero และ external battery เพื่อจ่ายไฟเสริมให้กับ motor

การเชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์
I2S DAC ที่ใช้ในตัวอย่างนี้ต้องการเพียง 3 สายสำหรับ I2S bus (รวมถึงแหล่งจ่ายไฟ) การเชื่อมต่อสำหรับ I2S บน Arduino MKRZero มีดังนี้:
- SD (Serial Data) บน pin A6
- SCK (Serial Clock) บน pin 2
- FS (Frame or Word Select) บน pin 3;
ทำตามแผนภาพเพื่อสร้างวงจรของคุณ โปรดทราบว่า เพื่อให้แผนภาพชัดเจนยิ่งขึ้น เราใช้ full size breadboard ซึ่งจะไม่พอดีกับในกล่อง ให้ใช้ medium size breadboard แทน
การอัปโหลดโค้ด
โอเค ตอนนี้คุณควรมีอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดเข้าที่แล้ว ถึงเวลาอัปโหลด sketch ไปยังบอร์ด MKRZero สำหรับโปรเจกต์นี้ คุณจะต้องใช้ AudioSound library ใหม่ ตรวจสอบให้แน่ใจว่าคุณมีอยู่ใน libraries->ArduinoSound library นี้จะช่วยให้เราสามารถถอดรหัส I2S message จาก digital microphone ได้ ตอนนี้คุณต้องดาวน์โหลด sketch สำหรับเครื่อง Make-it-Rain แบบตบมือ และวางไว้ใน sketchbook folder คุณสามารถหาสเก็ตช์ได้ในส่วนท้ายของบทเรียนนี้ เปิด Arduino IDE ของคุณและใช้ Boards Manager เพื่อติดตั้งบอร์ด MKRZero เมื่อติดตั้งเสร็จสิ้น คุณควรจะสามารถเลือกบอร์ด MKRZero ได้จากเมนู Tools->Board ตอนนี้เชื่อมต่อ MKRZero เข้ากับคอมพิวเตอร์ของคุณโดยใช้ USB cable ใน IDE ไปที่ File->Sketchbook->MKRZero_MakeItRainMachine แล้วเปิด sketch จากนั้นคอมไพล์และอัปโหลดไปยังบอร์ด
การประกอบกล่อง Make-it-Rain
ในการประกอบกล่อง Make It Rain:
หมายเหตุ: คุณจะต้องปรับชิ้นส่วนให้เข้ากับส่วนประกอบเฉพาะของคุณ ใช้ hot glue เพื่อยึดชิ้นส่วนที่หลวม
- ตัดชิ้นส่วนด้วย laser cutter จาก MDF หนา 4 มม.
- นำ rubber band สอดเข้าไปในซี่ล้อตามที่แสดงในภาพ
- ติดตั้งล้อเข้ากับ DC motor gear
- นำ lifting arm และติดกาวที่ round gear holder
- ติดตั้ง lifting arm เข้ากับ micro servo
- วาง DC motor และ micro servo ลงในตัวยึดตามตำแหน่ง
- ประกอบฐานกล่องและฝาปิดเข้ากับ DC motor arms
- ตัด card stock ชิ้นเล็กๆ แล้วแปะทับช่อง lifting arm ดังที่แสดงในภาพ
- ประกอบ electronics และเชื่อมต่อ motors
- อัปโหลด code
- วางธนบัตรลงในกล่อง Make It Rain แล้วทดสอบ!


รายละเอียดทางเทคนิคเพิ่มเติม
ระบบอัตโนมัติอะคูสติกสุดฮา
เครื่อง Make-It-Rain เป็น "เครื่องจ่ายเงิน" แบบอินเทอร์แอคทีฟที่โยนธนบัตรหรือเหรียญขึ้นไปในอากาศเมื่อใดก็ตามที่ตรวจจับการปรบมือของมนุษย์
- การวิเคราะห์ Acoustic Signature: ใช้ high-sensitivity microphone module Arduino จะประเมิน envelope ของ analog signal; หากตรวจพบ sharp peak ที่มี 10ms rise-time (ซึ่งเป็นลักษณะเฉพาะของการปรบมือ) ก็จะสั่งให้ motor ทำงาน
- ระบบขับเคลื่อนเสียดทานความเร็วสูง: ควบคุม high-RPM DC motor ที่เชื่อมต่อกับ rubber "Dispense Wheel" firmware จะส่ง pulse ไปยัง motor เป็นเวลา 200ms ต่อการปรบมือหนึ่งครั้ง เพื่อดีดธนบัตรหนึ่งใบด้วยความเร็วสูงขึ้นไปในอากาศ
โหมดการโต้ตอบ
- ตรวจสอบแล้วด้วย Arduino Web Editor: state-machine ของโปรเจกต์ได้รับการปรับปรุงใน cloud editor ทำให้สามารถปรับ "Clap Sensitivity" ได้อย่างง่ายดาย เพื่อกรองเสียงเพลงประกอบหรือเสียงพูดออกไป