นี้ หรี่ LED เป็น PWM ตาม Arduino Uno (Pulse Width Modulation) วงจรพัฒนาเพื่อให้ได้แรงดันไฟฟ้าตัวแปรมากกว่าแรงดันคงที่ วิธีการของ PWM มีคำอธิบายด้านล่าง ก่อนที่เราจะเริ่มสร้างวงจร LED Dimmer 1 วัตต์อันดับแรกให้พิจารณาวงจรง่ายๆดังแสดงในรูปด้านล่าง
ตอนนี้ถ้าสวิตช์ในรูปปิดอย่างต่อเนื่องในช่วงเวลาหนึ่งหลอดไฟจะเปิดอย่างต่อเนื่องในช่วงเวลานั้น หากสวิตช์ปิดเป็นเวลา 8ms และเปิดเป็นเวลา 2ms ในรอบ 10ms หลอดไฟจะเปิดเฉพาะในเวลา 8ms เท่านั้น ตอนนี้เทอร์มินัลเฉลี่ยตลอดช่วงเวลา 10ms = เปิดเวลา / (เวลาเปิดเครื่อง + เวลาปิดเครื่อง) เรียกว่า รอบการทำงาน และเท่ากับ 80% (8 / (8 + 2)) แรงดันขาออกจะเท่ากับ 80% ของแรงดันแบตเตอรี่
ในกรณีที่สองสวิตช์จะปิดเป็นเวลา 5ms และเปิดเป็นเวลา 5ms ในช่วงเวลา 10ms ดังนั้นแรงดันไฟฟ้าขั้วเฉลี่ยที่เอาต์พุตจะเท่ากับ 50% ของแรงดันแบตเตอรี่ บอกว่าแรงดันไฟฟ้าของแบตเตอรี่เป็น 5V หรือไม่และรอบการทำงานเท่ากับ 50% ดังนั้นแรงดันไฟฟ้าขั้วเฉลี่ยจะเท่ากับ 2.5V
ในกรณีที่สามรอบการทำงานเท่ากับ 20% และแรงดันไฟฟ้าขั้วเฉลี่ยเท่ากับ 20% ของแรงดันแบตเตอรี่
ตอนนี้เทคนิคนี้ใช้กับ LED Dimmer นี้อย่างไร? มีการอธิบายไว้ในส่วนถัดไปของบทช่วยสอนนี้
ดังแสดงในรูป Arduino UNO มีช่องสัญญาณ 6PWM ดังนั้นเราจึงสามารถรับ PWM (แรงดันไฟฟ้าผันแปร) ที่หมุดหกตัวใดก็ได้ ในบทนี้เราจะใช้ PIN3 เป็นเอาต์พุต PWM
ส่วนประกอบที่จำเป็น
ฮาร์ดแวร์: ARDUINO UNO, แหล่งจ่ายไฟ (5v), ตัวเก็บประจุ 100uF, LED, ปุ่ม (สองชิ้น), ตัวต้านทาน10KΩ (สองชิ้น)
ซอฟต์แวร์: arduino IDE
แผนภาพวงจรและคำอธิบาย
วงจรเชื่อมต่อกับเขียงหั่นขนมตามแผนภาพวงจร อย่างไรก็ตามสิ่งที่ต้องใส่ใจในระหว่างการเชื่อมต่อขั้ว LED แม้ว่าปุ่มจะแสดงเอฟเฟกต์การตีกลับในกรณีนี้ แต่ก็ไม่ได้ทำให้เกิดข้อผิดพลาดมากมายดังนั้นเราไม่จำเป็นต้องกังวลในครั้งนี้
PWM จาก UNO นั้นค่อนข้างง่าย ในขณะที่การตั้งค่าตัวควบคุม ATMEGA สำหรับสัญญาณ PWM ไม่ใช่เรื่องง่ายเราต้องกำหนดการลงทะเบียนและการตั้งค่าจำนวนมากเพื่อให้ได้สัญญาณที่ถูกต้องอย่างไรก็ตามใน ARDUINO เราไม่จำเป็นต้องจัดการกับสิ่งเหล่านั้นทั้งหมด
ตามค่าเริ่มต้นไฟล์ส่วนหัวและรีจิสเตอร์ทั้งหมดจะถูกกำหนดไว้ล่วงหน้าโดย ARDUINO IDE เราเพียงแค่ต้องเรียกมันว่ามันจะมีเอาต์พุต PWM ที่พินที่เหมาะสม
ตอนนี้เพื่อรับเอาต์พุต PWM ที่พินที่เหมาะสมเราต้องทำงานสองอย่าง
|
ก่อนอื่นเราต้องเลือกพินเอาต์พุต PWM จากหกพินหลังจากนั้นเราต้องตั้งค่าพินนั้นเป็นเอาต์พุต
ต่อไปเราต้องเปิดใช้งานคุณสมบัติ PWM ของ UNO โดยเรียกใช้ฟังก์ชัน“ analogWrite (pin, value)” ที่นี่ 'พิน' แสดงหมายเลขพินที่เราต้องการเอาต์พุต PWM ที่เราใส่ไว้เป็น '3' ดังนั้นที่ PIN3 เราจะได้รับเอาต์พุต PWM ค่าคือรอบการทำงานของการเปิดเครื่องระหว่าง 0 (ปิดตลอดเวลา) ถึง 255 (เปิดตลอดเวลา) เราจะเพิ่มและลดจำนวนนี้ด้วยการกดปุ่ม
การใช้หมุด PWM ใน Arduino Uno อธิบายไว้ในรหัส C ที่ระบุด้านล่าง