ภาพรวมของโปรเจกต์
จุดประสงค์หลักเลยนะน้องๆ คือพี่อยากให้พวกเราเข้าใจหลักการของ PWM ว่ามันคืออะไรและทำงานยังไงกันแน่
เห็นน้องๆ หลายคนชอบมึนตึ้บเวลาเจอเรื่อง PWM พี่เลยจัดให้! สร้าง Arduino Shield ขึ้นมาซะเลย โดยใช้แค่ Arduino PWM outputs กับโค้ดง่ายๆ มาสาธิตให้ดูผ่าน Oscilloscope รับรองว่าเห็นภาพ PWM ทำงานแบบกระจ่างแน่นอน

ไอ้เจ้า Shield ตัวนี้จริงๆ ไม่ต้องมีก็ได้นะ ถ้าใครถนัดสายลุยก็จัดลง Breadboard ได้เลยง่ายๆ แต่ถ้าอยากได้งานเนี๊ยบๆ ไว้ใช้ยาวๆ หล่อเท่ พี่แนะนำให้ทำเป็น Shield ไปเลยดีกว่า
วงจรนี้ยังเทพอีก! เอาไว้โชว์การชาร์จและการคายประจุของ Capacitor ผ่าน Oscilloscope ได้ด้วยนะเออ

หรือจะเอาไว้โชว์ว่าค่า Duty cycle มันมีผลกับค่าเฉลี่ย (mean value) ยังไง ก็จัดไป:

โปรเจกต์นี้ยังช่วยให้น้องๆ ได้ทำความคุ้นเคยกับความสามารถของบอร์ด Arduino มากขึ้นด้วย เราจะได้ลองเล่นทั้ง Analog input, Digital outputs และ PWM outputs ครบเครื่องเลยล่ะ


วิธีใช้งาน (อ่านด้วยนะวัยรุ่น):
โปรเจกต์นี้มีโหมดการทำงาน 2 โหมด:
- โหมด PWM (เลือกโดยการเซ็ต Pin D4 = logic 1)
ในโหมดนี้ เราจะใช้ Pin 10 และ 11 ในการสร้างสัญญาณ PWM สองชุดที่ทำงานตรงข้ามกัน (complimentary) เพื่อคุม LED 2 ดวง (แดงกับเขียว) โดยค่า Duty cycle จะเปลี่ยนไปตามค่า Analog ที่อ่านได้จาก Analog Input A0 ซึ่งเราคุมผ่าน Potentiometer นั่นเอง พอเราปรับ Duty cycle ปุ๊บ ค่าเฉลี่ยแสงก็จะเปลี่ยน ทำให้ความสว่างของ LED เปลี่ยนตาม (ดวงนึงสว่างขึ้น อีกดวงจะหรี่ลง... อย่างหล่อ!)
ที่ Pin 5 และ 6 ก็จะมีสัญญาณ PWM แบบตรงข้ามกันเหมือนกัน แต่ค่า Duty cycle จะเปลี่ยนไปเรื่อยๆ ตามจังหวะคลื่น Sine (sinusoidal) ถ้าเราต่อ RC filter เข้าไปนะ น้องจะเห็นคลื่น Sine โผล่มาในจอ Oscilloscope เลยล่ะ

- โหมดสร้างพัลส์ (เลือกโดยการเซ็ต Pin D4 = logic 0)
โหมดนี้จัดไปวัยรุ่น! ที่ Pin D0 และ D1 จะมีพัลส์ที่มี Duty cycle 10% และ 90% ส่วนที่ Pin 13 จะมีคลื่นสี่เหลี่ยม (Rectangular wave) ความถี่ 500Hz ที่ Duty cycle 50%

ส่วนที่ Pin 5 และ 6 จะเป็นคลื่นสี่เหลี่ยมแบบตรงข้ามกัน วิ่งเข้าเครือข่าย RC เราสามารถจิ้มดูที่ขั้วของ Capacitor เพื่อดูเส้นกราฟการชาร์จและการคายประจุได้แบบชัดแจ๋ว

รายละเอียดทางเทคนิคเพิ่มเติม (อ่านซะจะได้ไม่งง)
การดูสัญญาณแบบสายความรู้ (Educational Signal Visualization)
บอร์ดสาธิตตัวนี้ช่วยให้เห็นภาพ Pulse Width Modulation (PWM) ซึ่งเป็นหัวใจสำคัญของการควบคุมแบบดิจิทัลสมัยใหม่เลยนะน้อง
- Hardware Duty-Cycle Mapping: มี LED และขา Analog Output (PWM) โดยเฉพาะ แค่หมุน Potentiometer น้องก็จะเห็นเลยว่า Duty cycle (สัดส่วนเวลาที่ "ติด" ต่อเวลาที่ "ดับ") มันส่งผลกับความสว่างของ LED ยังไง
- Oscilloscope Interface: พี่เตรียมจุด Test-point ไว้ให้จิ้ม Oscilloscope ด้วย จะได้เห็นคลื่นสี่เหลี่ยมมันหดมันขยายตามมือเราแบบ Real-time เชื่อมโยงความรู้จากโค้ดในคอมออกมาเป็นไฟฟ้าจริงๆ
พื้นฐานการคุมมอเตอร์ (Motor Control Foundation)
- จำลองโหลด DC: (เวอร์ชันแอดวานซ์) มีมอเตอร์ DC ตัวเล็กๆ ให้ลองด้วย น้องจะได้เห็นว่าสัญญาณ PWM ชุดเดียวกันเนี่ยแหละ ไม่ได้คุมได้แค่แสงสว่างนะ แต่มันคุมความเร็วรอบของฮาร์ดแวร์ได้ด้วย จะเอาไปต่อยอดทำพัดลมหรือหุ่นยนต์ก็สบายมาก! สู้ๆ นะน้อง!