สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: NeoPixel คืออะไร
- ขั้นตอนที่ 2: ทำไมต้อง NeoPixel
- ขั้นตอนที่ 3: วัสดุที่จำเป็น
- ขั้นตอนที่ 4: การเชื่อมต่อ NeoPixel และ Arduino
- ขั้นตอนที่ 5: ตัวอย่างที่ 1: การตั้งค่า NeoPixel ด้วย Arduino
- ขั้นตอนที่ 6: ตัวอย่างที่ 2: โหมดกะพริบ NeoPixel ด้วย Arduino
- ขั้นตอนที่ 7: ตัวอย่างที่ 3: โหมด NeoPixel Fading ด้วย Arduino
- ขั้นตอนที่ 8: ตัวอย่างที่ 4: โหมดสุ่ม NeoPixel ด้วย Arduino
- ขั้นตอนที่ 9: ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
- ขั้นตอนที่ 10: อะไรต่อไป?
วีดีโอ: วิธีควบคุม WS2812 RGB LED (NeoPixel) ด้วย Arduino [บทช่วยสอน]: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
โดยเว็บไซต์ทางการของ ElectropeakElectroPeak ติดตามเพิ่มเติมโดยผู้เขียน:
เกี่ยวกับ: ElectroPeak เป็นสถานที่ครบวงจรในการเรียนรู้อุปกรณ์อิเล็กทรอนิกส์และนำแนวคิดของคุณมาสู่ความเป็นจริง เราเสนอคำแนะนำชั้นยอดเพื่อแสดงให้คุณเห็นว่าคุณสามารถทำโครงการได้อย่างไร เรายังนำเสนอผลิตภัณฑ์คุณภาพสูงเพื่อให้คุณมี… More About Electropeak »
ภาพรวม
NeoPixel LEDs ใช้กันอย่างแพร่หลายในโปรเจ็กต์อิเล็กทรอนิกส์ เนื่องจากเอฟเฟกต์ภาพที่น่าดึงดูด ไฟ LED เหล่านี้มีจำหน่ายในขนาดและรูปร่างต่าง ๆ และในรูปแบบแถบ ในบทช่วยสอนนี้ คุณจะได้เรียนรู้เกี่ยวกับ NeoPixel LED และวิธีควบคุมด้วย Arduino
สิ่งที่คุณจะได้เรียนรู้
- NeoPixel คืออะไร
- ทำไมต้อง NeoPixel
- การเชื่อมต่อ NeoPixel กับ Arduino
เสบียง
ส่วนประกอบฮาร์ดแวร์
โมดูลวงแหวน LED RGB WS2812 *1
Arduino Uno R3 *1
แอพซอฟต์แวร์
Arduino IDE
ขั้นตอนที่ 1: NeoPixel คืออะไร
หลังจากปี 1962 เมื่อมีการสร้างและทดสอบ LED ชิ้นแรก ชิ้นที่มีค่าชิ้นนี้ได้กลายเป็นส่วนหนึ่งในชีวิตของเราที่แยกไม่ออก ในโครงการอิเล็กทรอนิกส์ส่วนใหญ่ คุณจะพบ LED อย่างน้อยหนึ่งดวง การใช้ไฟ LED ในสีที่ต่างกันนั้นน่าดึงดูดใจจนทำให้เกิดการผลิตไฟ LED หลายสีหรือไฟ LED RGB
RGB LED สร้างสีทั้งหมดตามสีแดง เขียว และน้ำเงินสามสี ตัวอย่างเช่น การผสมสีแดงและสีน้ำเงินทำให้เกิดสีม่วงแดง ในรุ่นนี้ แต่ละสีมีค่าระหว่าง 0 ถึง 255 สำหรับสีแดง สีเขียว และสีน้ำเงินแต่ละสี ตัวอย่างเช่น ค่าเหล่านี้คือ 255 0 255 (ค่าสีแดงสูงสุด ค่าสีน้ำเงินสูงสุด และค่าสีเขียวต่ำสุด) สำหรับสีม่วงแดง ค่าตัวเลขนี้แสดงโดยรหัสฐานสิบหก (2550255 = # FF00FF) ไฟ LED RGB สร้างสีสันที่หลากหลายตามรุ่นนี้
ในการควบคุม LED RGB แต่ละอัน คุณต้องมีหมุดดิจิทัลสามตัวของไมโครคอนโทรลเลอร์ (หรือบอร์ดพัฒนาอย่างเช่น Arduino) ตัวอย่างเช่น หากคุณต้องการควบคุมสตริง RGB LED ที่มีไฟ LED 60 ดวง เพื่อควบคุมสีของ LED แต่ละดวงแยกจากกัน คุณต้องมีหมุดดิจิทัล 180 พิน! ดังนั้นคุณต้องลืมควบคุม LED แต่ละดวงแยกกัน หรือใช้ LED ที่สามารถระบุตำแหน่งได้ LED ที่สามารถระบุตำแหน่งได้คือ LED รุ่นใหม่ ซึ่งรวมถึง IC คอนโทรลเลอร์ นอกเหนือจากไฟ LED RGB IC ตัวควบคุมนี้ ซึ่งปกติคือ WS2812 ช่วยให้คุณเข้าถึง LED หลายดวงด้วยพินดิจิทัลเพียงตัวเดียวโดยกำหนดที่อยู่ให้กับ LED แต่ละดวงและให้การสื่อสารด้วยสายเพียงเส้นเดียว แต่ต่างจากไฟ LED ทั่วไป ไฟ LED ประเภทนี้ไม่ได้เปิดโดยใช้แรงดันไฟฟ้าเท่านั้น แต่ยังต้องใช้ไมโครคอนโทรลเลอร์อีกด้วย NeoPixel เป็นแบรนด์ Adafruit สำหรับ LED ที่สามารถระบุตำแหน่งได้
ขั้นตอนที่ 2: ทำไมต้อง NeoPixel
ความสามารถในการควบคุม LED แต่ละดวงในแถบ LED จะสร้างเอฟเฟกต์ภาพที่ยอดเยี่ยมในโครงการของคุณ แต่ควรสังเกตว่าในกระบวนการที่รวดเร็วมาก เช่น POV ไม่แนะนำให้ใช้ NeoPixels ข้อได้เปรียบที่สำคัญอื่นๆ ของ NeoPixels คือราคาที่ต่ำกว่าเมื่อเทียบกับ LED แบบระบุตำแหน่งอื่นๆ NeoPixels ยังมีอยู่ในรุ่นวงแหวน แถบ สี่เหลี่ยม และวงกลม และคุณสามารถเลือกรุ่นที่เหมาะสมตามโครงการของคุณ
Neopoxes ยังสามารถต่อโซ่ได้ ดังนั้นคุณจึงควบคุม NeoPixel ได้หลายอันโดยใช้บรรทัดคำสั่งเพียงบรรทัดเดียวและสายไฟเพียงเส้นเดียว
หมายเหตุ การเพิ่มจำนวน LED NeoPixel จะต้องใช้ RAM มากขึ้น ใช้พลังงานมากขึ้น และใช้เวลาประมวลผลมากขึ้น ดังนั้น ให้เลือก NeoPixel ที่เหมาะสมที่สุดตามประเภทไมโครคอนโทรลเลอร์ของคุณ
ขั้นตอนที่ 3: วัสดุที่จำเป็น
ขั้นตอนที่ 4: การเชื่อมต่อ NeoPixel และ Arduino
หมายเหตุ ต้องใช้ตัวต้านทานเพื่อป้องกัน NeoPixel จากความเสียหายและส่งข้อมูลได้อย่างถูกต้อง
หมายเหตุ หากคุณใช้แถบ LED ที่มี LED จำนวนมาก เราขอแนะนำให้คุณวางตัวเก็บประจุขนาดใหญ่ (เช่น 1000uf) ขนานกับ + และ – ของแรงดันไฟฟ้า
หมายเหตุ ระยะทางที่ดีที่สุดในการเชื่อมต่อโมดูล NeoPixel แรกคือประมาณ 1 ถึง 2 เมตรจากบอร์ดควบคุม
ขั้นตอนที่ 5: ตัวอย่างที่ 1: การตั้งค่า NeoPixel ด้วย Arduino
ในตัวอย่างนี้ คุณจะต้องเปิด NeoPixels และควบคุมสีและความเข้มของ LED แต่ละดวงแยกกันโดยใช้ Arduino UNO ใช้ไลบรารี NeoPixel Adafruit เพื่อตั้งค่า NeoPixel กับ Arduino
คำอธิบายรหัส
Adafruit_NeoPixel พิกเซล (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
ฟังก์ชันข้างต้นกำหนดจำนวน LED และพิน Arduino
พิกเซล.begin();
ฟังก์ชันนี้ทำหน้าที่เริ่มต้น
pixel.setBrightness(b);
ฟังก์ชั่นข้างต้นกำหนดความเข้มของแสง (จำนวนขั้นต่ำคือ 1 และจำนวนสูงสุดคือ 255)
pixel.setPixelColor(ไฟ LED แบบ LED, สีแบบใด (แดง, เขียว, น้ำเงิน));
กำหนดสี LED ด้วยระบบ RGB หลังจากระบุหมายเลข LED (จาก 0 ถึง NUMPIXELS-1)
พิกเซล.show();
แสดงค่าที่ใช้
ขั้นตอนที่ 6: ตัวอย่างที่ 2: โหมดกะพริบ NeoPixel ด้วย Arduino
ในตัวอย่างนี้ เราตั้งค่า NeoPixels ในโหมดกะพริบ ในการสร้างไฟกระพริบ ไฟ LED ทั้งหมดจะต้องเปิดและปิดพร้อมกัน และสามารถมีสีต่างกันได้เมื่อเปิดเครื่อง
ขั้นตอนที่ 7: ตัวอย่างที่ 3: โหมด NeoPixel Fading ด้วย Arduino
การซีดจางเป็นหนึ่งในเอฟเฟกต์อันน่าทึ่งของ NeoPixels ยิ่งเฟดช้าเท่าไหร่ เอฟเฟกต์ก็จะยิ่งดีขึ้นเท่านั้น
ขั้นตอนที่ 8: ตัวอย่างที่ 4: โหมดสุ่ม NeoPixel ด้วย Arduino
ในตัวอย่างนี้ เราใช้ฟังก์ชัน random(num1, num2) เพื่อสร้างและแสดงตัวเลขสุ่มระหว่าง num1 และ num2 เพื่อเลือกสีและ LED
ขั้นตอนที่ 9: ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
หนึ่งในเครื่องมือที่น่าสนใจที่สุดบนเว็บในการสร้างเอฟเฟกต์บน NeoPixels คือ NeoPixel Effects Generator ซึ่งช่วยให้คุณระบุจำนวน LED และพิน Arduino และหลังจากสร้างเอฟเฟกต์และการตั้งค่าที่จำเป็นแล้ว คุณสามารถคลิกบนโค้ด Arduino ที่สร้าง และคัดลอกรหัสที่สร้างขึ้นไปยัง IDE โดยทำตามขั้นตอนต่อไปนี้:
- คลิกที่ Add Led Strip หลังจากเข้าสู่เว็บไซต์
- คลิกที่ NeoPixel Strip ที่เพิ่มเข้ามา และระบุจำนวน LED และพิน Arduino
- คลิกที่เพิ่มเอฟเฟกต์ในส่วนลูปและเลือกเอฟเฟกต์
- ใช้การตั้งค่าของคุณในส่วนแอนิเมชั่นและสี
- คลิกที่สร้างรหัส Arduino และคัดลอกรหัสที่สร้างไปยัง Arduino IDE
ขั้นตอนที่ 10: อะไรต่อไป?
- ทดสอบเอฟเฟกต์อื่นๆ บน NeoPixel ของคุณ
- พยายามควบคุม NeoPixel ของคุณแบบไร้สาย (WiFi, บลูทูธ, …)
บทช่วยสอนที่คล้ายกัน
เล่นกับ Fire Over WIFI! ESP8266 & NeoPixels (รวมถึงแอพ Android)
แนะนำ:
วิธีควบคุม Bluetooth (HC-05) ด้วย Arduino: 5 ขั้นตอน
วิธีควบคุมบลูทูธ (HC-05) ด้วย Arduino: สวัสดีเพื่อนๆ ของฉันในบทเรียนนี้ เราจะเรียนรู้วิธีการควบคุมมอเตอร์กระแสตรงด้วยสมาร์ทโฟนหรือแท็บเล็ตของเรา เพื่อให้บรรลุสิ่งนี้ เราจะใช้ตัวควบคุมมอเตอร์ L298N และโมดูล Bluetooth (HC- 05).มาเริ่มกันเลย
วิธีควบคุม DC Motor ด้วย L298n และ Arduino: 5 ขั้นตอน
วิธีควบคุม DC Motor ด้วย L298n และ Arduino: สวัสดีทุกคน มาแนะนำตัวกัน ฉันชื่อ Dimitris และฉันมาจากประเทศกรีซ ฉันชอบ Arduino มากเพราะเป็นบอร์ดอัจฉริยะ ฉันจะพยายามอธิบายให้ดีที่สุดเท่าที่จะทำได้เพื่อให้คำแนะนำนี้สำหรับทุกคน มาเริ่มกันเลย
วิธีควบคุม MOSFET ด้วย Arduino PWM: 3 ขั้นตอน
วิธีควบคุม MOSFET ด้วย Arduino PWM: ในคำแนะนำนี้ เราจะดูวิธีควบคุมกระแสผ่าน MOSFET โดยใช้สัญญาณเอาต์พุต Arduino PWM (Pulse Width Modulation) ในกรณีนี้ เราจะจัดการโค้ด Arduino เพื่อให้สัญญาณ PWM แปรผันบนพินดิจิตอล 9 ของ ardui
Arduino Neopixel LED Ring Ws2812 - บทช่วยสอน Visuino: 8 ขั้นตอน
Arduino Neopixel LED Ring Ws2812 - บทช่วยสอน Visuino: ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีควบคุม Neopixel Led Ring Ws2812 โดยใช้ Arduino และ Visuino เพื่อเรียกใช้พิกเซล LED ไปรอบๆ ดูวิดีโอสาธิต
วิธีควบคุม I2C Oled Display ด้วย Arduino: 9 ขั้นตอน (พร้อมรูปภาพ)
วิธีควบคุมจอแสดงผล Oled I2C ด้วย Arduino: นี่เป็นบทแนะนำง่ายๆ เกี่ยวกับวิธีการควบคุม I2C Oled Display ด้วย Arduino หากคุณชอบคำแนะนำนี้ โปรดสมัครรับข้อมูลจากช่องของฉัน https://www.youtube.com/ZenoModiff