สารบัญ:

วิธีควบคุม WS2812 RGB LED (NeoPixel) ด้วย Arduino [บทช่วยสอน]: 10 ขั้นตอน
วิธีควบคุม WS2812 RGB LED (NeoPixel) ด้วย Arduino [บทช่วยสอน]: 10 ขั้นตอน

วีดีโอ: วิธีควบคุม WS2812 RGB LED (NeoPixel) ด้วย Arduino [บทช่วยสอน]: 10 ขั้นตอน

วีดีโอ: วิธีควบคุม WS2812 RGB LED (NeoPixel) ด้วย Arduino [บทช่วยสอน]: 10 ขั้นตอน
วีดีโอ: วิธีใช้ Arduino ESP8266 WS2812b NeoPixel : ESP8266 ควบคุม LED WS2812B NeoPixel 2024, พฤศจิกายน
Anonim

โดยเว็บไซต์ทางการของ ElectropeakElectroPeak ติดตามเพิ่มเติมโดยผู้เขียน:

เริ่มต้นใช้งานโมดูลอัลตราโซนิกและ Arduino
เริ่มต้นใช้งานโมดูลอัลตราโซนิกและ Arduino
เริ่มต้นใช้งานโมดูลอัลตราโซนิกและ Arduino
เริ่มต้นใช้งานโมดูลอัลตราโซนิกและ Arduino
สร้างแผนที่ความร้อน WiFi โดยใช้ ESP8266 & Arduino
สร้างแผนที่ความร้อน WiFi โดยใช้ ESP8266 & Arduino
สร้างแผนที่ความร้อน WiFi โดยใช้ ESP8266 & Arduino
สร้างแผนที่ความร้อน WiFi โดยใช้ ESP8266 & Arduino
การจดจำสีด้วยเซ็นเซอร์ TCS230 และ Arduino [รวมรหัสการปรับเทียบ]
การจดจำสีด้วยเซ็นเซอร์ TCS230 และ Arduino [รวมรหัสการปรับเทียบ]
การจดจำสีด้วยเซ็นเซอร์ TCS230 และ Arduino [รวมรหัสการปรับเทียบ]
การจดจำสีด้วยเซ็นเซอร์ TCS230 และ Arduino [รวมรหัสการปรับเทียบ]

เกี่ยวกับ: 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 คืออะไร

NeoPixel คืออะไร?
NeoPixel คืออะไร?
NeoPixel คืออะไร?
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

ทำไมต้อง NeoPixel?
ทำไมต้อง NeoPixel?

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

Neopoxes ยังสามารถต่อโซ่ได้ ดังนั้นคุณจึงควบคุม NeoPixel ได้หลายอันโดยใช้บรรทัดคำสั่งเพียงบรรทัดเดียวและสายไฟเพียงเส้นเดียว

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

ขั้นตอนที่ 3: วัสดุที่จำเป็น

วัสดุที่จำเป็น
วัสดุที่จำเป็น

ขั้นตอนที่ 4: การเชื่อมต่อ NeoPixel และ Arduino

การเชื่อมต่อ NeoPixel และ Arduino
การเชื่อมต่อ NeoPixel และ Arduino
การเชื่อมต่อ NeoPixel และ Arduino
การเชื่อมต่อ 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

ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino
ตัวอย่างที่ 4: NeoPixel Rainbow Mode พร้อม Arduino

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

  1. คลิกที่ Add Led Strip หลังจากเข้าสู่เว็บไซต์
  2. คลิกที่ NeoPixel Strip ที่เพิ่มเข้ามา และระบุจำนวน LED และพิน Arduino
  3. คลิกที่เพิ่มเอฟเฟกต์ในส่วนลูปและเลือกเอฟเฟกต์
  4. ใช้การตั้งค่าของคุณในส่วนแอนิเมชั่นและสี
  5. คลิกที่สร้างรหัส Arduino และคัดลอกรหัสที่สร้างไปยัง Arduino IDE

ขั้นตอนที่ 10: อะไรต่อไป?

  • ทดสอบเอฟเฟกต์อื่นๆ บน NeoPixel ของคุณ
  • พยายามควบคุม NeoPixel ของคุณแบบไร้สาย (WiFi, บลูทูธ, …)

บทช่วยสอนที่คล้ายกัน

เล่นกับ Fire Over WIFI! ESP8266 & NeoPixels (รวมถึงแอพ Android)

แนะนำ: