สารบัญ:

WS2812-B LED พร้อมบอร์ด ATMEGA328 UNO V3.0 R3: 11 ขั้นตอน
WS2812-B LED พร้อมบอร์ด ATMEGA328 UNO V3.0 R3: 11 ขั้นตอน

วีดีโอ: WS2812-B LED พร้อมบอร์ด ATMEGA328 UNO V3.0 R3: 11 ขั้นตอน

วีดีโอ: WS2812-B LED พร้อมบอร์ด ATMEGA328 UNO V3.0 R3: 11 ขั้นตอน
วีดีโอ: How to synchronize all your setup with corsair iCue -TUTORIAL 2024, กรกฎาคม
Anonim
WS2812-B LED พร้อมบอร์ด ATMEGA328 UNO V3.0 R3
WS2812-B LED พร้อมบอร์ด ATMEGA328 UNO V3.0 R3

คำอธิบาย

โปรเจ็กต์นี้รวม ICStation WS2812-B บอร์ด LED สีสันสดใสที่ตั้งโปรแกรมได้กับ ATMEGA328 UNO V3.0 R3 บอร์ด Arduino UNO R3 ที่เข้ากันได้กับบอร์ดเพื่อสร้างผลกระทบต่อภาพ ยิ่งไปกว่านั้น หากคุณมีปาร์ตี้ธีม "ดิสโก้" คุณจะชอบมัน ให้ฉันแสดงวิธีการทำสิ่งเหล่านี้

ขั้นตอนที่ 1: อะไหล่ที่จำเป็น:

อะไหล่ที่ต้องการ
อะไหล่ที่ต้องการ

· Arduino UNO (หรือบอร์ดที่เข้ากันได้) · 4 x WS2812-B บอร์ด LED สีสันสดใสที่ตั้งโปรแกรมได้

· ตัวต้านทาน 330 โอห์ม

· 4700 uF 16V ตัวเก็บประจุแบบอิเล็กโทรไลต์

·เขียงหั่นขนม

· สายจัมเปอร์หญิงกับชาย

· สายจัมเปอร์เขียงหั่นขนม

· ซ็อกเก็ต DC ขนาด 2.1 มม. พร้อมขั้วต่อแบบสกรู

· แหล่งจ่ายไฟ 5V 4A Plugpack

หมายเหตุ: การเปิดเครื่องโครงการนี้โดยใช้แบตเตอรี่เป็นไปได้ แต่ไม่แนะนำ และดำเนินการด้วยความเสี่ยงของคุณเอง

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

Arduino Libraries และ IDE คุณสามารถรับ Arduino IDE ได้จากที่นี่: https://www.arduino.cc/en/Main/Software ฉันใช้เวอร์ชัน 1.6.4 ซึ่งอาจจะล้าสมัย… แต่ก็ยังใช้งานได้ดี

คุณสามารถรับข้อมูลเกี่ยวกับวิธีใช้ไลบรารี FastLED ได้ที่นี่: https://fastled.io/ และคุณสามารถดาวน์โหลดได้จากที่นี่: FastLED Library ฉันใช้เวอร์ชัน 3.0.3 ซึ่งอาจล้าสมัยเช่นกัน

ขั้นตอนที่ 2: รหัส ARDUINO:

ขั้นตอนที่ 3: คำอธิบายรหัส ARDUINO:

· FastLED Library: คุณต้องแน่ใจว่าคุณได้ดาวน์โหลดและติดตั้งไลบรารี FastLED ลงใน Arduino IDE ของคุณแล้ว ไลบรารีจะรวมอยู่ในภาพร่างนี้ มิฉะนั้น ฟังก์ชัน FastLED จะไม่ทำงาน

· ตัวแปร "NUM_LEDS": บอก Arduino จำนวน LEDS ที่ใช้อยู่ ในกรณีนี้ เรามีวงแหวน LED 4 วง โดยแต่ละวงแหวน LED ที่มี LED 16 ดวง ดังนั้นจึงมี LED ทั้งหมด 64 ดวง หากคุณกำหนดตัวเลขที่ต่ำกว่า เช่น 16 ภาพสเก็ตช์จะทำให้ไฟ LED ส่องสว่างบนวงแหวน LED แรกเท่านั้น

· ตัวแปร "DATA_PIN": บอก Arduino ว่า Digital Pin ใดที่จะใช้สำหรับการส่งข้อมูลไปยังวงแหวน LED ในกรณีนี้ ฉันกำลังใช้ Digital Pin 9

· ตัวแปรอื่นๆ: ฉันมีตัวแปรอื่นๆ สองสามตัวที่ใช้สำหรับการสุ่ม LED และการควบคุมเฉดสี Hue คือสีของ LED การเพิ่มตัวแปรฮิวจะทำให้ไฟ LED หมุนเวียนในรูปแบบสีรุ้งได้ ตัวแปร "hue" คือ "byte" ซึ่งหมายความว่าจะเพิ่มขึ้นเป็นค่าสูงสุด 255 เท่านั้น ก่อนที่จะกระโดดกลับลงไปที่ศูนย์

รหัสการเริ่มต้น: หากคุณมีวงแหวน LED ที่แตกต่างจากวงแหวนในบทช่วยสอนนี้ คุณอาจต้องแก้ไขรหัสการเริ่มต้น วงแหวน LED นี้มีชิปเซ็ต WS2812-B (ตามเว็บไซต์ ICStation) และบรรทัดนี้:

· FastLED.addLeds (ไฟ LED, NUM_LEDS); จะบอกไลบรารี FastLED ว่ากำลังใช้ชิปเซ็ตใด (NEOPIXEL) พินที่ใช้สำหรับการส่งข้อมูล (DATA_PIN) อาร์เรย์ LED ที่จะควบคุม (ไฟ LED) และจำนวน LED ที่จะควบคุม (NUM_LEDS) · ใน " loop()": ส่วนของโค้ด: ตัวแปร "hue" จะเพิ่มขึ้นเพื่อสร้างเอฟเฟกต์สีรุ้ง และเลือก LED แบบสุ่มโดยใช้ฟังก์ชัน random8() ของ FastLED

· ฟังก์ชัน random8(x): จะสุ่มเลือกตัวเลขตั้งแต่ 0 ถึง x

· ฟังก์ชัน randomSeed(): มีไว้เพื่อช่วย "สุ่ม" ตัวเลขอย่างแท้จริง ซึ่งช่วยได้โดยการอ่านการสุ่มของ analogPin แบบลอยตัว (A0) ไม่จำเป็นต้องเป็นอะนาล็อกพิน 0 มันสามารถเป็นพินอะนาล็อกที่ไม่ได้ใช้

· leds[rnd].setHSV(hue, 255, 255): บรรทัดนี้ตั้งค่าให้ LED สุ่มมีสีเท่ากับตัวแปร "hue" ความอิ่มตัวเท่ากับ 255 และความสว่างเท่ากับ 255 ความอิ่มตัวเท่ากับศูนย์จะทำให้ ไฟ LED ส่องเป็นสีขาว ความสว่างเป็นศูนย์จะทำให้ LED ดับลง

· FastLED.show(): ไม่มีการเปลี่ยนแปลงทางกายภาพกับจอแสดงผลวงแหวน LED จนกว่าข้อความจะถูกส่งจาก Arduino ไปยังขาอินพุตดิจิตอลของวงแหวน LED ข้อความนี้ถูกส่งเมื่อคุณเรียก FastLED.show(); การทำงาน. สิ่งนี้บอกให้วงแหวน LED อัปเดตการแสดงผลด้วยข้อมูลที่อยู่ในอาร์เรย์นำ (ไฟ LED) ดังนั้น หากคุณตั้งค่า LED ทั้งหมดให้เปิด บอร์ดจะไม่ส่องสว่าง LED จนกว่า FastLED.show(); เรียกว่าฟังก์ชัน สิ่งสำคัญที่ควรทราบ - โดยเฉพาะอย่างยิ่งเมื่อพยายามออกแบบลำดับ LED ของคุณเอง

· เส้นหน่วงเวลา (50): จะกำหนดระยะเวลาระหว่างการกะพริบเป็น 50 มิลลิวินาที คุณสามารถเปลี่ยนการหน่วงเวลาเพื่อเพิ่มหรือลดจำนวนการกะพริบต่อวินาที

· ฟังก์ชัน leds.fadeToBlackBy(180): ทำให้ LEDS จางลง 180 หน่วย คุณสามารถเพิ่มหรือลดจำนวนนี้เพื่อให้ได้ความเร็วเฟดที่ต้องการ อย่างไรก็ตาม พึงระวังว่า หากคุณลืมเรียกใช้ฟังก์ชันนี้ หรือหากคุณไม่สามารถหรี่ไฟ LED ได้เพียงพอ อาจทำให้ไฟ LED ทั้งหมดเปิดขึ้น ซึ่งอาจทำลายบอร์ด Arduino ของคุณได้ เช่น ขึ้นอยู่กับจำนวนวงแหวน LED ของคุณ มีและวิธีที่คุณเลือกที่จะเพิ่มพลังให้กับพวกเขา

ขั้นตอนที่ 4: เค้ก

เค้ก
เค้ก

· สไลด์ 1 - แผ่นฐาน: การสร้างแผ่นฐานด้วยอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดที่ติดตั้งและทำงานได้ดีเป็นสิ่งสำคัญ ก่อนที่คุณจะวางเค้กลงไป การพยายามติดตั้งสายไฟและสายไฟ LED และวงจรใต้แผ่นฐานในขณะที่มีเค้กอยู่ด้านบนเป็นสูตรสำหรับภัยพิบัติ เตรียมถาดรองไว้ก่อน แล้วจึงค่อยย้ายไปส่วนทำเค้กทีหลัง

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

· สไลด์ 3 - Fondant Icing: ต้องรีดไอซิ่ง fondant บนเสื่อกันติดแบบพิเศษ เราพบว่าการเติมแป้งเล็กน้อยช่วยลดความเหนียวได้ มีลูกกลิ้งพิเศษที่ช่วยให้มั่นใจว่าความหนาของฟองดองมีความสม่ำเสมอตลอด จากนั้นคุณต้องหั่นเป็นชิ้นสี่เหลี่ยมจัตุรัส (สี่เหลี่ยมจัตุรัสประมาณ 1 ซม. ใช้ได้ดีสำหรับเรา) จากนั้นจึงทาสีสี่เหลี่ยมด้วยสีเงินเคลือบด้วยฟองดองสีเงินพิเศษ/กินได้ คุณอาจต้องใช้เสื้อโค้ทสองสามชั้น และปล่อยให้แห้งระหว่างชั้น

· สไลด์ 4 - Iced Cake on Base: เค้กสามารถใส่น้ำแข็งบนหรือปิดแผ่นฐาน… น่าจะดีกว่าถ้าทำนอกแผ่นฐาน แต่ถ้าคุณตัดสินใจที่จะทำบนแผ่นฐาน คุณจะต้องปกป้องไฟ LED จากไอซิ่งที่หลงทางที่อาจตกลงมาจากเค้ก (ในกระบวนการ) เมื่อเค้กเย็นจนเย็นแล้ว (พร้อมไอซิ่ง/ฟรอสติ้ง) คุณจะต้องวางเค้กไว้ตรงกลางบนกระดาน อาจมีโอกาสที่เค้กจะเลื่อนจากฐาน… ดังนั้นให้ทำสิ่งที่คุณต้องทำเพื่อให้อยู่นิ่ง

· สไลด์ 5-7 - วาง Fondant Squares: ในขณะที่ไอซิ่งยังอ่อนอยู่ คุณจะต้องวางสี่เหลี่ยม fondant ในรูปแบบเส้นแนวนอนรอบๆ เค้กอย่างรวดเร็ว อย่างเป็นระบบ และไม่เหนื่อย เดินไปทางขั้วเหนือและใต้ของเค้กทีละแถว คุณสามารถตัดวงกลมฟองดองสำหรับขั้วเหนือของเค้กได้ ในสไลด์ 7 คุณจะเห็นรูที่ด้านบนของเค้ก นี้ทำขึ้นเพื่อเย็นกระป๋องพลาสติกภายในซึ่งจะใช้ในภายหลังถือเครื่องประดับในสถานที่ที่ด้านบนของเค้ก ทำเช่นนี้ก่อนวางวงกลมฟองดองไว้ที่ด้านบนของเค้ก

· สไลด์ 8 - เพิ่มกลิตเตอร์: หลังจากวางสี่เหลี่ยม fondant ทั้งหมดลงบนเค้ก เป็นไปได้มากที่เคลือบสีเงินบางส่วนอาจถูกเช็ดออกจากสี่เหลี่ยมบางส่วน นี่คือจุดที่คุณจะทาทับอีกครั้งด้วยการเคลือบสีเงินอีกสองสามชั้น และในชั้นสุดท้าย ก่อนที่มันจะแห้ง คุณสามารถโรยกลิตเตอร์ที่กินได้ให้ทั่วเค้กเพื่อให้มีความแวววาวเป็นพิเศษ

· สไลด์ 9 - ผลิตภัณฑ์สุดท้าย: ขั้นตอนสุดท้ายคือการเพิ่มลวดเชื่อมและของตกแต่งอื่น ๆ ที่ด้านบนของเค้ก ดันสายไฟผ่านฝาครอบฟองดองที่ขั้วโลกเหนือเข้าไปในกระป๋องด้านใน วิธีนี้จะช่วยยึดสายไฟให้เข้าที่โดยไม่ทำลายงานหนักทั้งหมดของคุณ

· ชิปเซ็ต WS2812-B: วงแหวน LED นี้ใช้ชิปเซ็ต WS2812-B และมีหมุดแยก 4 ตัว (GND, 5V, Din, Dout)

· กำลังไฟ: ในการจ่ายไฟให้กับโมดูลนี้ คุณต้องจ่ายกระแสไฟ 5V และสูงถึง 1A

· สัญญาณ: ในการควบคุมวงแหวน LED คุณต้องส่งสัญญาณไปที่วงแหวนอินพุตดิจิตอล (Din)

คุณสามารถเชื่อมต่อวงแหวน LED อื่นเข้ากับวงแหวนนี้ได้โดยใช้ขา Digital Output (Dout)

ขั้นตอนที่ 5: คู่มือการใช้พลังงาน

คู่มือการใช้พลังงาน
คู่มือการใช้พลังงาน

· กฎทั่วไป: LED แต่ละดวงบนวงแหวนสามารถส่งแสงสีแดง สีเขียว และสีน้ำเงิน การผสมสีเหล่านี้สามารถสร้างสีอื่นๆ ได้ แสงสีขาวประกอบด้วยทั้งสามสีนี้ในเวลาเดียวกัน แต่ละสีจะดึงกระแสประมาณ 20mA เมื่อแสดงสีนั้นที่ความสว่างสูงสุด เมื่อส่องแสงเป็นสีขาวที่ความสว่างสูงสุด LED เดี่ยวจะดึงประมาณ 60mA

· ตัวคูณกำลัง: หาก LED แต่ละดวงสามารถดึงได้สูงสุด 60mA และมี LED 16 ดวงบนวงแหวน LED เดียว ดังนั้น 16x60mA = 960mA ต่อวงแหวน LED เพื่อความปลอดภัยและเพื่อให้คณิตศาสตร์ง่ายขึ้น คุณต้องแน่ใจว่าคุณมีกระแสไฟเพียงพอเพื่อรองรับ 1A ต่อวงแหวน LED ดังนั้นวงแหวน LED 4 วงจึงต้องใช้แหล่งจ่ายไฟ 5V 4A หากคุณต้องการใช้งานโมดูลอย่างเต็มรูปแบบ

ขั้นตอนที่ 6: Fritzing Diagram

Fritzing Diagram
Fritzing Diagram
Fritzing Diagram
Fritzing Diagram

การเชื่อมต่อวงแหวน LED หนึ่งอันกับ Arduino

· 3 สาย: คุณต้องการเพียง 3 สายเพื่อเชื่อมต่อกับวงแหวน LED หากคุณวางแผนที่จะเปิดไฟ LED สองสามดวงในคราวเดียวก็ไม่เป็นไร · วิธีที่ปลอดภัย: วิธีที่ปลอดภัยกว่าในการทำเช่นนี้คือการใช้แหล่งจ่ายไฟภายนอกเพื่อจ่ายไฟให้กับทั้ง Arduino และวงแหวน LED

· ตัวเก็บประจุด้วยไฟฟ้า: โดยการเชื่อมต่อตัวเก็บประจุอิเล็กโทรไลต์ขนาดใหญ่ 4700 uF 16V ระหว่างขั้วบวกและขั้วลบของสายจ่ายไฟ โดยที่ขาขั้วลบของตัวเก็บประจุติดอยู่กับขั้วลบของแหล่งจ่ายไฟ คุณจะปกป้องวงแหวน LED ของคุณจากการเริ่มต้น การไหลเข้าของกระแส

การป้องกันตัวต้านทาน: ขอแนะนำให้วางตัวต้านทาน 300-400 โอห์มระหว่าง Digital Pin 9 (D9) ของ Arduino และพิน Digital Input ของ LED Ring (Din) สิ่งนี้จะปกป้อง LED ตัวแรกจากแรงดันไฟที่อาจเกิดขึ้นได้

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

ขั้นตอนที่ 7: เชื่อมต่อวงแหวน LED สองวงกับ Arduino

การเชื่อมต่อวงแหวน LED สองวงกับ Arduino
การเชื่อมต่อวงแหวน LED สองวงกับ Arduino

สายไฟเสริมสามเส้น: คุณจำเป็นต้องใช้สายไฟเพิ่มเติมเพียง 3 เส้นเพื่อเชื่อมต่อวงแหวน LED เพิ่มเติม สายไฟจำเป็นต้องเชื่อมต่อเอาต์พุตดิจิทัล (Dout) ของวงแหวน LED ตัวแรกกับอินพุตดิจิทัล (Din) ของวงแหวน LED ตัวที่ 2

อยู่อย่างปลอดภัย: อีกครั้ง วิธีที่ปลอดภัยกว่าในการทำเช่นนี้คือการใช้แหล่งจ่ายไฟภายนอก ตัวเก็บประจุอิเล็กโทรไลต์ขนาดใหญ่ที่ขั้ว และตัวต้านทาน 300-400 โอห์มระหว่าง Arduino และพินอินพุตดิจิตอลของวงแหวน LED ตัวแรก

ขั้นตอนที่ 8: เชื่อมต่อวงแหวน LED สี่ดวงกับ Arduino

การเชื่อมต่อวงแหวน LED สี่ดวงกับ Arduino
การเชื่อมต่อวงแหวน LED สี่ดวงกับ Arduino

ไฟ LED หกสิบสี่ดวง: คุณต้องมีสายไฟเพิ่มเติม 3 เส้นสำหรับวงแหวน LED เพิ่มเติมแต่ละอัน วงแหวน LED 4 ดวงมีไฟ LED ทั้งหมด 64 ดวง

ดู AMPS: ที่ความสว่างเต็มที่ การตั้งค่านี้อาจวาดได้ถึง 4 แอมป์ (หรือประมาณ 1 แอมป์ต่อวงแหวน LED)

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

ขั้นตอนที่ 9: ตารางการเชื่อมต่อ

ตารางการเชื่อมต่อ
ตารางการเชื่อมต่อ

วิธีเชื่อมต่อ ONE LED Ring กับ Arduino

ขั้นตอนที่ 10: วิธีเชื่อมต่อวงแหวน LED สองวงกับ Arduino

วิธีเชื่อมต่อวงแหวน LED สองวงกับ Arduino
วิธีเชื่อมต่อวงแหวน LED สองวงกับ Arduino

ขั้นตอนที่ 11: บทสรุป

บทสรุป
บทสรุป
บทสรุป
บทสรุป
บทสรุป
บทสรุป

ในบทช่วยสอนนี้ เราได้แสดงวิธีการตกแต่งเค้ก Disco Ball และวิธีใช้วงแหวน RGB LED จาก ICStation

ลิงก์สี่ผลิตภัณฑ์ใน ICStation:

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

ขอขอบคุณที่ Scott และครอบครัวของเขาทำการนำเสนอที่ยอดเยี่ยมเกี่ยวกับ Led

แหล่งที่มาดั้งเดิมของเนื้อหามาจากเพื่อนของเราสกอตต์:

arduinobasics.blogspot.com.au/2016/06/ardui…

หากคุณชอบข้อความนี้ โปรดแบ่งปันกับพวกพ้องของคุณ

หากคิดว่าสามารถวิจารณ์ได้ดีกว่านี้ โปรดแสดงความคิดเห็น

หากคุณมีแนวคิดเพิ่มเติมเกี่ยวกับผลิตภัณฑ์ IC โปรดติดต่อเราที่อีเมล:[email protected]

แนะนำ: