![Arduino Mega 2560 2560 LDR Light Intensity Control: 8 ขั้นตอน Arduino Mega 2560 2560 LDR Light Intensity Control: 8 ขั้นตอน](https://img.gwsigeps.com/img/circuits/arduino-mega-2560-based-ldr-light-intensity-control-8.jpg)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: LDR
- ขั้นตอนที่ 2: ADC (ตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอล)
- ขั้นตอนที่ 3: PWM (การปรับความกว้างพัลส์)
- ขั้นตอนที่ 4: ส่วนประกอบที่จำเป็น
- ขั้นตอนที่ 5: การเชื่อมต่อ / วงจร
- ขั้นตอนที่ 6: การเขียนโปรแกรม
- ขั้นตอนที่ 7: การทดสอบ Breadboard
- ขั้นตอนที่ 8: รุ่นสุดท้ายและรุ่นสมบูรณ์
พวกคุณส่วนใหญ่รู้เกี่ยวกับ Arduino และการตั้งโปรแกรมแล้ว แต่คนที่ไม่ทราบเกี่ยวกับพื้นฐานของมันควรอ่านคำแนะนำนี้ก่อน
มีทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ Arduino ฉันใช้ Mega 2560 ในการสอนนี้เพราะมันเป็นเหมือนรุ่นที่ใช้บ่อยที่สุดที่พบ
ตอนนี้เกี่ยวกับชื่อนี้ฉันควรจะบอกคุณว่าเราจะใช้เซ็นเซอร์วัดแสงหรือ LDR ที่นี่และ Arduino จะควบคุมการเปลี่ยนแปลงค่าอนาล็อกของเซ็นเซอร์ ในฐานะที่เป็นเอาท์พุทเราจะได้รับ PWM สำหรับการเปลี่ยนแปลงความเข้มของหลอดไฟ LED / แสง
วัสดุ:
ขั้นตอนที่ 1: LDR
มันหมายถึง "ตัวต้านทานแสงขึ้นอยู่กับ" เป็นตัวต้านทานชนิดหนึ่งที่มีค่าเปลี่ยนแปลงตามความเข้มหรือปริมาณแสงที่ตกลงมา เมื่อปริมาณแสงที่ตกลงมาเพิ่มความต้านทานก็จะลดลงและจะไปทางอื่น
เราได้สร้างวงจรเพื่อแจกตรรกะ 1 หรือ 0 สำหรับบอร์ด Arduino ของเรา วงจรสามารถกลับด้านเพื่อเปลี่ยนลอจิก
ขั้นตอนที่ 2: ADC (ตัวแปลงสัญญาณอนาล็อกเป็นดิจิตอล)
ไมโครคอนโทรลเลอร์หรืออุปกรณ์ปฏิบัติการดิจิตอลไม่สามารถทำงานกับแรงดันไฟฟ้าอะนาล็อกได้โดยตรง เราต้องแปลงแอนะล็อกเป็นค่าดิจิตอลและสำหรับการที่เราใช้ ADC Arduino มี adc ในตัวดังนั้นเราแค่ต้องเสียบสายจัมเปอร์สำหรับเชื่อมต่อ
ใช้ในค่าอนาล็อก (ในกรณีนี้แรงดันไฟฟ้าข้าม LDR) และแปลงเป็นดิจิตอล 10 บิต เนื่องจากเรามี 10 บิตเอาต์พุตของ ADC อยู่ในช่วงตั้งแต่ 0-1023 (เช่น 1024 ค่า 2 ^ 10) แรงดันไฟฟ้าระหว่าง 0 - 5V ทุกค่าจะถูกแมปกับค่าระหว่าง 0-1023 ทำไมถึง 1023 เหตุผลคือความละเอียดของ ADC ของเรา ที่นี่เราเป็นตัวแทนของทุกค่าด้วยการรวมกันของ 10 บิต เมื่อจำนวนบิตที่ใช้แทนค่าเพิ่มขึ้นค่าเอาต์พุตจึงมีความแม่นยำมากขึ้น
การแทนค่าบิต
0 – 1.25 00
1.25-2.5 01
2.5-3.75 10
3.75-5 11
ขั้นตอนที่ 3: PWM (การปรับความกว้างพัลส์)
การปรับความกว้างของพัลส์เป็นเทคนิคที่ความกว้างของพัลส์สามารถเปลี่ยนแปลงได้ตามสัญญาณข้อความ ในกรณีนี้ไฟ LED จะเชื่อมต่อกับขาออก PWM ของบอร์ด Arduino และใช้ฟังก์ชั่น analogWrite () เราทำให้ความกว้างของพัลส์บนพินเปลี่ยนแปลง การเปลี่ยนแปลงความกว้างของพัลส์สามารถเห็นได้ว่าเป็นการเปลี่ยนแปลงแรงดันไฟฟ้าเฉลี่ยบนพิน ดังนั้นแม้ว่าเราจะเปลี่ยนระยะเวลาที่ไฟ LED เปิดหรือปิดเท่านั้นเนื่องจากการคงอยู่ของการมองเห็นมันก็เหมือนกับว่าเรากำลังเปลี่ยนแปลงแรงดันไฟฟ้าข้ามหลอดไฟ LED ซึ่งทำให้จางและสว่างขึ้น
ขั้นตอนที่ 4: ส่วนประกอบที่จำเป็น
ตอนนี้ส่วนประกอบที่จำเป็นสำหรับโครงการนี้ ฉันสัญญาว่าสิ่งเหล่านี้ราคาถูกและง่ายมาก (นอกเหนือจากบอร์ด Arduino เอง: p)
- Arduino Mega 2560 Board
- LED (ฉันใช้สีขาวและสีแดง)
- LDR หรือ Photo Diode (ฉันใช้ LDR เพราะมันราคาถูกและหาได้ง่าย)
- โพเทนชิโอมิเตอร์ 10 K
- ตัวต้านทาน 220 โอห์ม
- Bread Board หรือ Perf Board (ฉันใช้ทั้งสองอย่างในการทดสอบ)
- สายจัมเปอร์
ขั้นตอนที่ 5: การเชื่อมต่อ / วงจร
การเชื่อมต่อมีดังนี้:
- เชื่อมต่อตัวต้านทานปลายด้านหนึ่ง (ฉันมี 1k หนึ่งตัว … คุณสามารถใช้ค่าอื่น ๆ ได้ถ้าคุณต้องการ.. แค่ให้แน่ใจว่ามันไม่สูงหรือต่ำเกินไป) กับขา 5V ของบอร์ด Arduino เชื่อมต่อปลายอีกด้านของตัวต้านทานเข้ากับปลายด้านหนึ่งของ LDR ปลายอีกด้านของ LDR ควรเชื่อมต่อกับกราวด์ (GND)
- ใช้สายจากจุดแยกของตัวต้านทาน & LDR ที่เชื่อมต่อก่อนหน้านี้และเชื่อมต่อกับ Analog Input 5 บนบอร์ด arduino
- จากนั้นนำลวดจากหมุด PWM ใด ๆ บนบอร์ดของคุณและเชื่อมต่อเข้ากับขั้วบวกของ LED เชื่อมต่อแคโทดของ LED กับปลายด้านหนึ่งของตัวต้านทานกับอีกปลายหนึ่งที่เชื่อมต่อกับ GND
ขั้นตอนที่ 6: การเขียนโปรแกรม
ไฟล์ที่ทำในซอฟต์แวร์ของ arduino จะถูกแนบมาหากคุณต้องการความช่วยเหลือ
ขั้นตอนที่ 7: การทดสอบ Breadboard
ฉันทดสอบวงจรบน Breadboard และพบว่ามีการปรับที่เหมาะสมโดยการเคลื่อนโพเทนชิออมิเตอร์เล็กน้อย หลังจากที่ฉันพอใจฉันทำวิดีโอที่แนบมาด้านล่าง ตอนนี้ถึงเวลาที่จะสร้างแผงวงจรที่เชื่อถือได้และมีเสถียรภาพมากขึ้น
ขั้นตอนที่ 8: รุ่นสุดท้ายและรุ่นสมบูรณ์
ดังนั้นฉันจึงทำการบัดกรีบอร์ดที่แข็งขึ้นเพื่อการทดลองขั้นสุดท้าย ฉันใช้ไฟ LED สีแดงที่นี่เพราะมันแสดงความสว่างและความสว่างได้ดีกว่าแสงคริสตัล
ฉันหวังว่าคุณจะสนุกกับการอ่านคำแนะนำเท่าที่ฉันสนุกกับการทำมัน !!!: D