» อิเล็กทรอนิกส์ » Arduino »เอฟเฟกต์ไฟบนแถบ LED และ Arduino

เอฟเฟกต์ไฟบน LED Stripes และ Arduino

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

รหัสแหล่งที่มาทั้งหมดที่จะถูกแยกวิเคราะห์ในภายหลังสามารถ ดาวน์โหลดจากหน้าโครงการ ผู้แต่ง (AlexGyver)

ก่อนอื่นมาจัดการกับ อิเล็กทรอนิกส์ ส่วนประกอบ เพื่อตัวคุณเอง ทำมันเอง ทำให้ความงามดังกล่าวที่บ้าน ต้องมีส่วนประกอบต่อไปนี้:
- ไดรเวอร์สำหรับเทป RGB
- เทป RGB;
- แหล่งจ่ายไฟ 12V สำหรับเทป RGB
- Arduin® Nano.



คุณสามารถดาวน์โหลดและดาวน์โหลดเฟิร์มแวร์และรับเตาไฟดิจิตอลของคุณ เราจะควบคุมแถบ LED จากไมโครคอนโทรลเลอร์ในตัวอย่างนี้ Arduino Nano.

เริ่มจากมิติที่ง่ายที่สุดและไม่มีศูนย์ - จุดหนึ่ง (หรือทั้งเทป)


นี่เป็นแถบ LED RGB ที่ธรรมดาที่สุดซึ่งใช้พลังงานจาก 12V และมีการควบคุมสามช่องสัญญาณสำหรับแต่ละสี


การใช้สัญญาณ PWM (เรามี 8 บิต) คุณสามารถตั้งค่าความสว่างของแต่ละสีได้ 16.7 ล้านสีและเฉดสี แต่เรามีความสนใจในไฟหรือค่อนข้างเลียนแบบ เพื่อจำลองเปลวไฟมันถูกตัดสินใจให้ทำงานในพื้นที่สี hsv (สี, ความอิ่มตัว, ความสว่าง)

พารามิเตอร์ 3 ตัวนี้ช่วยให้คุณได้รับเฉดสีพื้นฐาน 255 เฉดรวมกับแต่ละเฉดสีเพื่อให้ได้ความอิ่มตัวของสีที่ไล่ระดับได้ 255 ระดับ ได้แก่ ผสมกับสีขาว พารามิเตอร์ที่สามคือความสว่างในภาษาที่ง่าย - การผสมผสานระหว่างเฉดสีกับสีดำ

มีอัลกอริธึมหลายอย่างสำหรับการแปลงจากพื้นที่ hsv ที่สะดวกสบายไปเป็น RGB เพียงใช้หนึ่งในนั้น

ถัดไปคุณจะต้องระบุพฤติกรรมของไฟ สมมติว่าความแข็งแรงของเปลวไฟเป็นปริมาณที่แน่นอนซึ่งในค่าต่ำสุดจะให้ไฟ LED สีแดงอิ่มตัวและความสว่างต่ำและในค่าสูงสุดจะให้สีขาวเหลืองและสีสว่างสูงสุด

เพื่อให้ได้เอฟเฟกต์เปลวไฟเราต้องทำให้ค่านี้ทำให้เกิดการแกว่งแบบสุ่มการเคลื่อนไหวต้องเป็นแบบสุ่ม แต่ในเวลาเดียวกันค่อนข้างราบรื่นนั่นคือสิ่งที่คล้ายกับแสงสั่น ตามค่านี้ตามลำดับสีและความสว่างของเปลวไฟตามการไล่ระดับสีจะเปลี่ยนไป



ผู้เขียนเสนอที่จะแก้ปัญหาดังต่อไปนี้: มีอัลกอริธึมการกรองที่ง่ายมากทำงานโดยเฉลี่ยซึ่งเปลี่ยนค่าที่เปลี่ยนแปลงอย่างรวดเร็วให้เป็นกระบวนการที่ราบรื่นค่าสัมประสิทธิ์เดียวและการคำนวณที่ค่อนข้างง่าย

แนวคิดคือ: จำเป็นต้องพูด 5 ครั้งต่อวินาทีเพื่อกำหนดตำแหน่งสุ่มใหม่สำหรับค่าของไฟและประมาณ 50 ครั้งต่อวินาทีในการกรองค่านี้ค่อยๆเปลี่ยนมัน เป็นผลให้กระบวนการสุ่มเกิดขึ้น

ในตัวอย่างชีวิตจริงทุกอย่างทำงานตามที่ตั้งใจไว้

ตอนนี้เราจำเป็นต้องแปลค่าของเราเป็นสีของเปลวไฟตามกฎหมายที่กล่าวถึงข้างต้นและรับไฟหนึ่งมิติ


แถบ LED ที่ตั้งโปรแกรมด้วยวิธีนี้สามารถซ่อนได้ตัวอย่างเช่นจากกระดานข้างก้นหรือโดยยื่นออกมาบางส่วน นอกจากนี้ริบบิ้นดังกล่าวสามารถให้แสงพื้นหลังมันดูน่าสนใจและผิดปกติ

นอกจากนี้เทปสามารถส่งไปยังพื้นจากระยะสั้นและทำให้บรรลุผลค่อนข้างน่าสนใจ

และแน่นอนว่าสามารถใช้เทปหนึ่งชิ้นเพื่อส่องเตาผิงหรือจำลองมัน และถ้าคุณเอาสีที่สดใสออกจากสีเหลืองเป็นสีส้มคุณจะได้ถ่านที่ผสมกัน

เนื่องจากเรามีเทป RGB เราจึงสามารถสร้างสีไฟได้ด้วยตัวเอง คุณต้องการสีเขียวที่ตายแล้ว - ง่ายมาก!

เราต้องการไฟสีน้ำเงินอย่างน่าอัศจรรย์ - ไม่มีปัญหา!

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


อันที่จริงนี่เป็นวิธีที่ง่ายที่สุดในการทำให้แถบไฟ LED "ลุกไหม้" ตอนนี้เรามาดูตัวอย่างที่น่าสนใจมากขึ้น สำหรับการทำงานต่อไปคุณจะต้อง ที่อยู่นำแถบ.

เทปนี้ให้คุณควบคุมแต่ละหลอด LED แต่ละอันและแต่ละอันรวมถึงหนึ่งใน 16.7 ล้านเฉดสี
ทุกอย่างเชื่อมต่อกันอย่างเรียบง่ายตามรูปแบบนี้:

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


นอกจากนี้เทปดังกล่าวสามารถถูกผลักเข้าสู่ปกติ รายละเอียดแสง และใช้เป็นองค์ประกอบอิสระของการตกแต่งภายใน

มันดูค่อนข้างดีเห็นด้วย แต่เรายังคงพยายามที่จะทำให้เกิดเปลวไฟส่วนบุคคล

เราจะปล่อยอัลกอริทึมเหมือนเดิม เราแบ่งเทปออกเป็นโซนที่มีความกว้างแตกต่างกันแต่ละโซนจะมีกระบวนการสุ่มของตัวเอง เพื่อให้กระบวนการนี้คล้ายกับเปลวไฟจริงมากขึ้นเราจะเติมโซนจากขอบถึงศูนย์กลางค่อยๆเพิ่มค่าสุ่มของเราเป็นค่าปัจจุบัน นอกจากนี้ในกระบวนการ“ เผาไหม้” ขนาดของโซนควรเปลี่ยนแบบสุ่มด้วย

นี่คือลักษณะ:


ตอนนี้เรามาดูกระบวนการสุ่มที่น่าสนใจอีกอย่างที่เรียกว่าเสียงเพอร์ลินซึ่งเคนแปร์ลินเกิดขึ้นในปี 1983

เสียงรบกวนของ Perlin ช่วยให้คุณสร้างการกระจายแบบเรียบของปริมาณในมิติใดก็ได้ ตัวกรองคลาวด์ที่รู้จักกันดีใน Photoshop เป็นตัวอย่างของเสียงเพอร์ลินสองมิติ

แต่เสียงรบกวนสามมิติของ Perlin ทำให้สามารถสร้างภาพได้เช่นแนวภูเขานอกจากนี้เพื่อสร้างเสียงแบบสุ่มและไม่มีที่สิ้นสุดและในเวลาเดียวกันในทางปฏิบัติโดยไม่ต้องสร้างส่วนประกอบของคอมพิวเตอร์เนื่องจากอัลกอริธึมไม่แพงมากนัก

แผนการดำเนินการมีดังนี้: ขั้นแรกสร้างขอบเขตเสียง Perlin สองมิติและเคลื่อนไปตามนั้นด้วยวิธีใดวิธีหนึ่งสแกนพิกเซลและส่งออกไปยัง LEDs

อัลกอริทึมดังกล่าวข้างต้นไม่ซับซ้อนและ Arduino จัดการกับเขาอย่างใจเย็นผลที่ได้คือเอฟเฟกต์ที่ยอดเยี่ยมมากที่สุดเท่าที่จะทำได้แบบสุ่มและคล้ายกับเปลวไฟจริงที่มีแสงสุดท้าย

ด้วยแสงสว่างโดยตรงดูเหมือนว่านี้:

แต่สิ่งเหล่านี้เป็นอัลกอริธึมไฟสำหรับหนึ่งเทป แล้วติดเทปในรูปแบบซิกแซกแล้วลองทำไฟสองมิติบนเมทริกซ์ล่ะ?


เมทริกซ์ดังกล่าวสามารถหาซื้อได้จากจีน เราวางแผ่นกระจายแสงและกระจกที่มีฟิล์มรถยนต์อยู่เหนือเมทริกซ์นั่นคือนี่เป็นจอแสดงผลความละเอียดต่ำพิเศษ




โดยวิธีการมันดูสมจริงมาก ดูวิดีโอต้นฉบับของผู้เขียนเพื่อดูรายละเอียดเพิ่มเติม:



นั่นคือทั้งหมดที่ ขอบคุณสำหรับความสนใจของคุณ แล้วพบกันเร็ว ๆ นี้!
1
1
1

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...