สารบัญ:

การควบคุมความสว่าง Arduino (พร้อมภาพเคลื่อนไหว): 7 ขั้นตอน
การควบคุมความสว่าง Arduino (พร้อมภาพเคลื่อนไหว): 7 ขั้นตอน

วีดีโอ: การควบคุมความสว่าง Arduino (พร้อมภาพเคลื่อนไหว): 7 ขั้นตอน

วีดีโอ: การควบคุมความสว่าง Arduino (พร้อมภาพเคลื่อนไหว): 7 ขั้นตอน
วีดีโอ: Arduino : การใช้งาน LDR เพื่อวัดค่าความสว่างเพื่อสั่งให้หลอด LED ทำงาน 2024, พฤศจิกายน
Anonim
Image
Image

ในช่วงไม่กี่ปีที่ผ่านมา ฉันได้สร้างเครื่องพินบอลสองเครื่อง (pinballdesign.com) และหัวหุ่นยนต์สองตัว (grahamasker.com) ซึ่งแต่ละเครื่องควบคุมโดย Arduinos การมีอาชีพเป็นวิศวกรเครื่องกล ฉันพอใจกับการออกแบบกลไก อย่างไรก็ตาม ฉันต้องดิ้นรนกับการเขียนโปรแกรม ฉันตัดสินใจสร้างแอนิเมชั่นเพื่อแสดงแนวคิดพื้นฐานบางอย่างของ Arduino ฉันคิดว่ามันจะช่วยให้ฉันและคนอื่นๆ เข้าใจพวกเขา รูปภาพมีค่าหนึ่งพันคำและแอนิเมชั่นสามารถเป็นพันรูปภาพได้!

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

หากคุณคุ้นเคยกับไฟ LED และโพเทนชิโอมิเตอร์ คุณสามารถข้ามส่วนที่ 1 และ 2 ได้

ขั้นตอนที่ 1: เกี่ยวกับไฟ LED

เกี่ยวกับไฟ LED
เกี่ยวกับไฟ LED

ภาพประกอบด้านซ้ายด้านบนแสดงสัญลักษณ์วงจรสำหรับไฟ LED และขั้วของขา LED กระแสจะไหลผ่าน LED ในทิศทางเดียวเท่านั้น ดังนั้นขั้วจึงมีความสำคัญ ขายาวเป็นบวก นอกจากนี้ยังมีด้านแบนที่หน้าแปลนซึ่งเป็นด้านลบ

แรงดันและกระแส

แรงดันไฟฟ้าที่ต้องการโดย LED มีตั้งแต่ประมาณ 2.2 โวลต์ถึง 3.2 โวลต์ขึ้นอยู่กับสี คะแนนปัจจุบันของพวกเขาโดยทั่วไปคือ 20mA เพื่อจำกัดกระแสไฟและป้องกันไม่ให้ LED ร้อนเกินไป จำเป็นต้องใช้ตัวต้านทานแบบอนุกรมกับ LED แต่ละตัว ฉันแนะนำประมาณ 300 โอห์ม

ภาพประกอบทางด้านขวาด้านบนแสดงวิธีการบัดกรีตัวต้านทานกับขาของ LED และหุ้มฉนวนด้วยปลอกหุ้มหดด้วยความร้อน

ขั้นตอนที่ 2: โพเทนชิโอมิเตอร์

โพเทนชิโอมิเตอร์
โพเทนชิโอมิเตอร์

ในแง่ Arduino โพเทนชิออมิเตอร์คือเซ็นเซอร์ “เซ็นเซอร์” หมายถึงอุปกรณ์ภายนอกใด ๆ ที่ Arduino สามารถตรวจจับได้เมื่อเชื่อมต่อกับพินอินพุต เราจะใช้โพเทนชิออมิเตอร์ที่เชื่อมต่อกับ Arduino เพื่อควบคุมความสว่างของ LED โพเทนชิออมิเตอร์บางครั้งเรียกว่าตัวแบ่งแรงดันไฟฟ้า ซึ่งฉันคิดว่าเป็นคำอธิบายที่ดีกว่า แผนภาพด้านซ้ายด้านบนแสดงถึงหลักการของตัวแบ่งแรงดันไฟฟ้า ในตัวอย่างนี้ ตัวต้านทานเชื่อมต่อกับกราวด์ที่ปลายด้านหนึ่งและยึดไว้โดยแหล่งพลังงานบางส่วนที่ 5v ที่ปลายอีกด้านหนึ่ง หากตัวเลื่อนถูกเลื่อนไปตามตัวต้านทาน มันจะอยู่ที่แรงดันไฟฟ้า 0v ที่ปลายด้านซ้ายมือ และ 5v ที่ปลายด้านขวา ในตำแหน่งอื่นจะเป็นค่าระหว่าง 0v ถึง 5v ครึ่งทางเช่นจะอยู่ที่ 2.5V หากเราปรับรูปร่างการจัดเรียงดังที่แสดงไว้ด้านบนขวา นี่หมายถึงการกระทำของโพเทนชิออมิเตอร์แบบหมุน

ขั้นตอนที่ 3: วงจร

วงจร
วงจร

ภาพประกอบด้านบนแสดงให้เห็นว่าเราจำเป็นต้องเชื่อมต่อโพเทนชิออมิเตอร์และ LED กับ Arduino อย่างไร

Ardunio จำเป็นต้องตรวจจับแรงดันไฟฟ้าที่โพเทนชิออมิเตอร์ป้อนเข้าไป แรงดันไฟฟ้าเปลี่ยนแปลงอย่างราบรื่นเมื่อโพเทนชิออมิเตอร์ถูกหมุน จึงเป็นสัญญาณอะนาล็อกและด้วยเหตุนี้จึงต้องเชื่อมต่อกับพินอินพุตแบบอะนาล็อกบน Arduino แรงดันไฟฟ้าที่ขานี้จะอ่านโดย Arduino ทุกครั้งที่โปรแกรมร้องขอผ่านฟังก์ชัน "analogRead"

Arduino มีพินเอาต์พุตดิจิตอลเท่านั้น อย่างไรก็ตาม หมุดเหล่านั้นที่มีเครื่องหมายตัวหนอน (~) อยู่ข้างๆ จะจำลองเอาต์พุตแบบอะนาล็อกที่เหมาะสมในการควบคุมความสว่างของไฟ LED กระบวนการนี้เรียกว่า Pulse Width Modulation (PWM) และอธิบายผ่านแอนิเมชั่นถัดไป ขั้นตอนที่ 4

ขั้นตอนที่ 4: PWM

PWM, การปรับความกว้างพัลส์

ดังที่ได้กล่าวไว้ก่อนหน้านี้ หมุดที่มีทิลดา "~" ด้านข้างคือหมุด PWM เนื่องจากพินเป็นแบบดิจิทัลจึงอยู่ที่ 0v หรือ 5v เท่านั้น อย่างไรก็ตามด้วย PWM สามารถใช้เพื่อหรี่ไฟ LED หรือควบคุมความเร็วของมอเตอร์ได้ พวกเขาทำได้โดยการจ่ายไฟ 5v ให้กับ LED แต่พัลส์ระหว่าง 0v ถึง 5v ที่ 500 Hz (500 ครั้งต่อวินาที) และยืดหรือลดระยะเวลาขององค์ประกอบ 0v และ 5v แต่ละองค์ประกอบของพัลส์ เมื่อ LED เห็นพัลส์ 5v ที่ยาวกว่าพัลส์ 0v มันก็จะสว่างขึ้น ในโปรแกรมของเรา เราใช้ฟังก์ชัน analogueWrite() เพื่อส่งออก "คลื่นสี่เหลี่ยม" ของ PWM เพิ่มขึ้น 256 ค่าศูนย์ให้รอบการทำงาน 0% และ 255 ให้ "รอบการทำงาน" 100% เช่น 5 โวลต์ต่อเนื่อง ดังนั้น 127 จะให้รอบการทำงาน 50% ครึ่งเวลาที่ 0v และครึ่งเวลาที่ 5v ภาพเคลื่อนไหวด้านบนแสดงให้เห็นว่าเมื่อรอบการทำงานนี้ขยายไปถึง 100% แล้วไฟ LED จะสว่างขึ้น

ขั้นตอนที่ 5: โปรแกรม (ARDUINO SKETCH)

Image
Image

วิดีโอด้านบนเป็นขั้นตอนผ่านโปรแกรม (สเก็ตช์) ที่สามารถใช้ควบคุมความสว่างของไฟ LED โดยใช้โพเทนชิออมิเตอร์ วงจรจะเหมือนกับที่แสดงในขั้นตอนที่ 3

หากคุณพบว่าวิดีโอนี้อ่านเร็ว (หรือช้า) ได้สบาย คุณก็สามารถปรับความเร็วได้ ที่ด้านขวามือสุดของแถบควบคุมด้านล่างจะมีสัญลักษณ์รูปร่างคล้ายล้อเฟือง (บางครั้งมีป้าย 'HD' สีแดงติดอยู่.) หากคลิก จะแสดงเมนูที่มี "ความเร็วในการเล่น"

แน่นอน มันจะดีกว่าถ้าคุณสามารถคลิกปุ่มเพื่อข้ามแต่ละบรรทัดของโปรแกรมด้วยความเร็วของคุณเอง อย่างไรก็ตาม น่าเสียดายที่ไม่สามารถให้วิธีการโต้ตอบนั้นได้ที่นี่ หากคุณต้องการใช้วิธีนั้นในหัวข้อนี้และหัวข้อ Arduino อื่น ๆ อีกมากมาย มี ebook แบบโต้ตอบ / แอนิเมชั่นรุ่นแสดงตัวอย่างฟรีที่ animatedarduino.com

มีคุณลักษณะหนึ่งในโปรแกรมที่ฉันคิดว่าต้องการคำอธิบายเพิ่มเติม: ใน line14 จะใช้ฟังก์ชัน "map" มีคำอธิบายวัตถุประสงค์ต่อไป ในขั้นตอนที่ 6

ขั้นตอนที่ 6: MAP

เรามีโพเทนชิออมิเตอร์ที่เชื่อมต่อกับพินอะนาล็อก แรงดันโพเทนชิออมิเตอร์จะแตกต่างกันไประหว่าง 0v และ 5v ช่วงนี้ลงทะเบียนในโปรเซสเซอร์โดยเพิ่มขึ้นทีละ 1024 เมื่อใช้ค่าอินพุตเพื่อสร้างเอาต์พุตผ่านพินดิจิทัลที่เปิดใช้งาน PWM ช่วงนี้จะต้องจับคู่กับช่วงเอาต์พุตของพินดิจิทัล เพิ่มขึ้นทีละ 255 ฟังก์ชันแผนที่ใช้เพื่อจุดประสงค์นี้และให้เอาต์พุตที่เป็นสัดส่วนกับอินพุต

วิดีโอด้านบนแสดงสิ่งนี้

ขั้นตอนที่ 7: Arduino เคลื่อนไหว

รูปภาพในคำแนะนำนี้นำมาจาก ebook Animated Arduino ของฉันซึ่งมีอยู่ที่ www.animatedarduino.com ซึ่งฉันมุ่งมั่นที่จะให้ความเข้าใจที่ดีขึ้นเกี่ยวกับแนวคิดบางอย่างที่พบขณะเรียนรู้การเขียนโปรแกรม Arduino

มีสำเนาตัวอย่างฟรีของ ebook บนเว็บไซต์ ซึ่งช่วยให้คุณได้สัมผัสกับลักษณะเชิงโต้ตอบของหนังสือ มันเป็นชุดของหน้าตัวอย่างโดยพื้นฐาน ดังนั้นจึงละเว้นคำอธิบายมากมาย ประกอบด้วยหน้าตัวอย่างที่ให้คุณคลิกปุ่มที่นำคุณผ่านแต่ละบรรทัดของโปรแกรมและดูความคิดเห็นที่เกี่ยวข้อง หน้าอื่นๆ มีภาพเคลื่อนไหวและเนื้อหาเสียงที่คุณควบคุมได้ รวมหน้าเนื้อหาเพื่อให้คุณเห็นว่าฉบับสมบูรณ์ประกอบด้วยอะไรบ้าง

แนะนำ: