สารบัญ:

Easy LED Holiday Light Show: พ่อมดในฤดูหนาว - WS2812B LED Strip พร้อม FastLED และบทช่วยสอน Arduino: 6 ขั้นตอน
Easy LED Holiday Light Show: พ่อมดในฤดูหนาว - WS2812B LED Strip พร้อม FastLED และบทช่วยสอน Arduino: 6 ขั้นตอน

วีดีโอ: Easy LED Holiday Light Show: พ่อมดในฤดูหนาว - WS2812B LED Strip พร้อม FastLED และบทช่วยสอน Arduino: 6 ขั้นตอน

วีดีโอ: Easy LED Holiday Light Show: พ่อมดในฤดูหนาว - WS2812B LED Strip พร้อม FastLED และบทช่วยสอน Arduino: 6 ขั้นตอน
วีดีโอ: อะไรเอ่ย #สิว #สิวอุดตัน #สิวอักเสบ #สิวเห่อ #รอยสิว #รักษาสิว #เล็บเท้า #satisfying 2024, กรกฎาคม
Anonim
Image
Image

ฉันออกแบบและตั้งโปรแกรมการแสดงแสงสีในวันหยุดนี้เพื่อแสดงทุกที่ ฉันใช้แถบนำ WS2812B หนึ่งแถบที่มีความหนาแน่นของพิกเซล 30 พิกเซล/เมตร เนื่องจากฉันใช้ 5 เมตร ฉันมีไฟ LED ทั้งหมด 150 ดวง ฉันเก็บรหัสไว้อย่างเรียบง่าย เพื่อให้ใครก็ตามที่เพิ่งเริ่มใช้แถบ LED WS2812B สามารถติดตามโค้ดได้อย่างง่ายดาย นอกจากนี้ยังหมายความว่าหากคุณใช้จำนวนพิกเซลต่างกัน เวลาจะปิด ดังนั้นคุณควรติดไฟ LED 150 ดวง นอกจากนี้ ทำให้มันง่าย ระบบเพลงไม่ได้รับการจัดการโดย Arduino เลย ในตอนต้นของโปรแกรม มีการกะพริบสีเขียว 3 ครั้งและไฟสีแดง 1 ครั้ง จากนั้นการแสดงแสงจริงจะเริ่มขึ้น เนื่องจากคุณต้องเริ่มเล่นเพลงด้วยตนเอง แฟลชเริ่มต้นเหล่านี้จึงเป็นเครื่องบ่งชี้ว่าเมื่อใดที่จะเริ่มเล่นเพลง ฉันได้รวมรหัสด้านล่าง อย่าลังเลที่จะเพิ่มหรือเปลี่ยนรหัสนี้เพื่อจุดประสงค์ที่ไม่ใช่เชิงพาณิชย์

เสบียง

- WS2812B แถบ LED

- Arduino

- สายไฟ

- พาวเวอร์ซัพพลาย 5V 10A | หากคุณใช้มากกว่าหนึ่งแถบ คุณจะต้องใช้แหล่งจ่ายไฟที่ใหญ่ขึ้น แต่ละพิกเซลใช้ 60mA ดังนั้น 150 พิกเซล * 60mA = 9A พาวเวอร์ซัพพลายของคุณต้องสามารถจัดการกับสิ่งนี้ได้ หากคุณต้องการใช้ความสว่างเต็มที่เป็นสีขาว คุณต้องใช้แหล่งจ่ายไฟ 5V หากคุณใช้แถบ LED 5V และหากคุณใช้แถบ LED 12V คุณจะต้องใช้แหล่งจ่ายไฟ 12V แต่ยังใช้ตัวแปลง 12-5V เพื่อจ่ายไฟให้กับ Arduino 5V

ขั้นตอนที่ 1: ดาวน์โหลด FastLED Library

กำหนดตัวแปรไม่กี่ตัว
กำหนดตัวแปรไม่กี่ตัว

หากคุณยังไม่ได้ดาวน์โหลดไลบรารี FastLED ให้ดาวน์โหลดเวอร์ชันล่าสุดจาก github.com/FastLED/FastLED/releases

ดาวน์โหลดไลบรารี FastLED และย้ายไปยังโฟลเดอร์ไลบรารี Arduino ของคุณ อย่าเปลี่ยนชื่อโฟลเดอร์นี้ ใน Arduino IDE ให้ไปที่ Sketch รวมไลบรารี แล้วเพิ่ม. ZIP Library เลือกโฟลเดอร์ FastLED

เมื่อไลบรารีของคุณได้รับการตั้งค่าแล้ว ให้รวมบรรทัด #include บรรทัดนี้บอกโปรแกรมว่าคุณกำลังใช้ไลบรารีนั้นอยู่

ขั้นตอนที่ 2: กำหนดตัวแปรสองสามตัว

ดังที่ได้กล่าวไว้ก่อนหน้านี้ เพื่อให้โค้ดเรียบง่าย การเปลี่ยนจำนวนพิกเซลจะเปลี่ยนเวลาหรือการแสดงแสง

บรรทัด #define NUM_LEDS 150 คือตำแหน่งที่คุณใส่จำนวนพิกเซลที่ใช้ ในกรณีนี้ จะเป็น 150

บรรทัด #define DATA_PIN 5 คือตำแหน่งที่คุณใส่พินดิจิทัลที่คุณเชื่อมต่อสายข้อมูล

บรรทัด #define BRIGHTNESS 255 คือตำแหน่งที่คุณใส่ความสว่างจากสเกล 0-255 โดยที่ 255 เป็นความสว่างที่สุด

ขั้นตอนที่ 3: ส่วนการตั้งค่าของรหัส

ส่วนการตั้งค่าของรหัส
ส่วนการตั้งค่าของรหัส

ในส่วนการตั้งค่ามีการหน่วงเวลา 2 วินาทีและเส้น

FastLED.addLeds(ไฟ LED, NUM_LEDS).setCorrection(TypicalLEDStrip);

WS2812B ระบุประเภทของแถบ LED ที่เราใช้ และ DATA_PIN เป็นตัวแปรที่เรากำหนดไว้ในขั้นตอนก่อนหน้านี้ GRB คือลำดับสี อาจแตกต่างกันไปตามแถบ LED ที่ใช้ ลองใช้โค้ดตามที่เป็นอยู่ และหากสีไม่เหมือนกับในวิดีโอ ให้ลองเปลี่ยนเป็น RGB หรือ BRG เป็นต้น คุณสามารถปล่อยให้ส่วนที่เหลือของบรรทัดนี้เหมือนเดิม เส้น

FastLED.setBrightness(max_bright); set_max_power_in_volts_and_milliamps(5, 8000);

จำกัดการใช้พลังงานของแถบ LED นี่เป็นคุณสมบัติที่น่าทึ่งจากไลบรารี FastLED หมายเลข 5 คือแรงดันไฟฟ้าที่เราใช้ และหมายเลข 8000 คือกระแสสูงสุดที่แถบ LED สามารถใช้ได้ในหน่วย mA ขอแนะนำให้ใช้เพียง 80% ของความสามารถของพาวเวอร์ซัพพลายเพื่อยืดอายุการใช้งาน เนื่องจากฉันมีแหล่งจ่ายไฟ 10A 0.8*10 = 8A หรือ 8000mA

ขั้นตอนที่ 4: ส่วนลูป | Aka ส่วนที่ยอดเยี่ยมของรหัส

The Loop Section | Aka ส่วนที่ยอดเยี่ยมของรหัส
The Loop Section | Aka ส่วนที่ยอดเยี่ยมของรหัส
The Loop Section | Aka ส่วนที่ยอดเยี่ยมของรหัส
The Loop Section | Aka ส่วนที่ยอดเยี่ยมของรหัส

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

ขั้นตอนที่ 5: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ

แถบ LED WS2812B มี 3 ขั้วที่ปลายแต่ละด้าน 2 สำหรับพลังงานและ 1 สำหรับสัญญาณข้อมูลที่มาจาก Arduino ของเรา เพียงต่อสายไฟ 2 เส้นเข้ากับขั้วจ่ายไฟของ Arduino และต่อสายไฟ 2 เส้นเข้ากับแถบ LED คุณควรเพิ่มสายไฟ 2 เส้นที่เรียกว่าสายฉีดกำลังที่ส่วนท้ายของแถบ เนื่องจากการสูญเสียแรงดันไฟฟ้าอาจทำให้ไฟ LED สลัวที่ปลายแถบถ้าคุณไม่ทำเช่นนี้ ตรวจสอบฉลากบนแถบเพื่อดูว่าขั้วใดใช้ทำอะไร การผสมขั้วอาจนำไปสู่แถบผัด นอกจากนี้ ให้เชื่อมต่อสายกราวด์ของ Arduino กับสายกราวด์บนแถบ LED เพื่อสร้างกราวด์ร่วมเพื่อการส่งข้อมูลที่ดีขึ้น ฉันบอกว่าคุณควรเพิ่มสายฉีดกำลัง แต่คุณไม่สามารถทำเช่นนี้กับสายข้อมูลได้ เนื่องจาก LED แต่ละตัวจะถ่ายทอดสัญญาณข้อมูลไปยังสัญญาณถัดไป ดังนั้นตรวจสอบให้แน่ใจว่าได้เชื่อมต่อสายข้อมูล 1 เส้นเข้ากับพิน Arduino ที่ระบุและแถบ LED แถบควรมีลูกศรเล็ก ๆ ระบุทิศทางการเดินทางของข้อมูล ตรวจสอบให้แน่ใจว่าวางสายสัญญาณข้อมูลไว้ที่จุดเริ่มต้นและไม่ใช่จุดสิ้นสุด การผสมนี้อาจนำไปสู่แถบผัด

ขั้นตอนที่ 6: การติดตั้งแถบ LED

ฉันติดแถบ LED ที่ด้านในของหน้าต่างโดยเพียงแค่ติดเทป อย่างไรก็ตาม มีหลายวิธีที่คุณสามารถติดตั้งแถบ LED ของคุณได้ คุณสามารถใช้ช่องอลูมิเนียมเช่น https://tinyurl.com/s2km4v3 เพื่อวางแถบด้านนอกบนหลังคาของคุณ หากคุณกำลังวางแถบ LED ของคุณไว้ข้างนอก ฉันขอแนะนำให้ใช้แถบ ip65 หากคุณใช้ช่องอะลูมิเนียมเนื่องจากเป็นแบบกึ่งกันน้ำ และบางกว่า 1p67 ซึ่งอาจไม่พอดีกับบางช่อง หากคุณต้องการติดตั้งภายนอกโดยไม่มีช่อง ให้ใช้แถบ IP67 ซึ่งกันน้ำได้จริง ในการเดินไปรอบ ๆ มุมถนน เช่น ที่จุดยอดของแนวหลังคาของคุณ คุณควรตัดแถบนั้นออก และใช้สายไฟพันรอบมุม คุณอาจจะทำได้เพียงแค่งอแถบ แต่ระวังว่าคุณงอมันมากแค่ไหนเพราะมันง่ายที่จะเปิดไฟ LED

แนะนำ: