สารบัญ:

Magic Hercules - ไดรเวอร์สำหรับ LED ดิจิตอล: 10 ขั้นตอน
Magic Hercules - ไดรเวอร์สำหรับ LED ดิจิตอล: 10 ขั้นตอน

วีดีโอ: Magic Hercules - ไดรเวอร์สำหรับ LED ดิจิตอล: 10 ขั้นตอน

วีดีโอ: Magic Hercules - ไดรเวอร์สำหรับ LED ดิจิตอล: 10 ขั้นตอน
วีดีโอ: อะไรเอ่ย #สิว #สิวอุดตัน #สิวอักเสบ #สิวเห่อ #รอยสิว #รักษาสิว #เล็บเท้า #satisfying 2024, พฤศจิกายน
Anonim
Magic Hercules - ไดรเวอร์สำหรับ LED ดิจิตอล
Magic Hercules - ไดรเวอร์สำหรับ LED ดิจิตอล

ภาพรวมอย่างรวดเร็ว:

โมดูล Magic Hercules เป็นตัวแปลงระหว่าง SPI ที่เป็นที่รู้จักและเรียบง่ายไปยังโปรโตคอล NZR อินพุตโมดูลมีความคลาดเคลื่อน +3.3 V ดังนั้นคุณจึงสามารถเชื่อมต่อไมโครคอนโทรลเลอร์ที่ทำงานที่แรงดันไฟฟ้า +3.3 V ได้อย่างปลอดภัย

การใช้โปรโตคอล SPI เพื่อควบคุม LED แบบดิจิทัลเป็นแนวทางที่เป็นนวัตกรรมระหว่างโซลูชันในปัจจุบัน เช่น ไลบรารีสำเร็จรูปสำหรับ Arduino อย่างไรก็ตาม อนุญาตให้สลับไปใช้แพลตฟอร์มใดก็ได้โดยไม่คำนึงถึงตระกูลไมโครคอนโทรลเลอร์ (เช่น ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) และโดยไม่คำนึงถึงภาษาการเขียนโปรแกรม (เช่น C, Arduino C ++, Python หรืออื่น ๆ ที่รองรับโปรโตคอล SPI) แนวทางในการเขียนโปรแกรม LED แบบดิจิทัลนี้เป็นมิตรกับผู้เริ่มต้นอย่างยิ่ง เนื่องจากสิ่งที่คุณต้องมีคือความรู้เกี่ยวกับโปรโตคอล SPI

โมดูล MH ยังช่วยให้สามารถทดสอบแถบ LED แบบดิจิทัลได้หลายโหมด รวมถึงการทดสอบลำดับสีในไดโอด (RGB, BGR, RGBW เป็นต้น) การทดสอบแถบหรือจอแสดงผลทั้งหมด (สูงสุด 1024 LEDs)

ขั้นตอนที่ 1: เหตุใดฉันจึงทำงานกับโมดูล Magic Hercules

ทำไมฉันถึงทำงานกับโมดูล Magic Hercules?
ทำไมฉันถึงทำงานกับโมดูล Magic Hercules?

ฉันทำงานกับ LED ดิจิทัลเช่น WS2812, WS2815 หรือ SK6812 มาเป็นเวลานานแล้ว ซึ่งปกติฉันเรียกว่า Magic LED

ฉันทดสอบแถบ วงแหวน และจอแสดงผลจำนวนมาก (แม้แต่ของฉันเอง) โดยอิงจาก Magic LED (ถึงแม้จะเป็นประเภท RGBW) ฉันใช้ Arduino, Nucleo (พร้อม STM), Raspberry Pi และบอร์ดของฉันเองที่มีไมโครคอนโทรลเลอร์ AVR

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

เนื่องจากฉันมักใช้แพลตฟอร์มที่หลากหลาย ฉันจึงจำเป็นต้องให้โค้ดโปรแกรมเข้ากันได้กับ Arduino, Raspberry Pi, ARM / STM (Nucleo) หรือ AVR โดยเฉพาะอย่างยิ่งสำหรับเอฟเฟกต์แสง

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

ขั้นตอนที่ 2: การแปลง SPI เป็น NZR

การแปลง SPI เป็น NZR
การแปลง SPI เป็น NZR

ฉันตัดสินใจเตรียมโมดูลที่จะทำงานสกปรกให้กับผู้ใช้โดยใช้โปรโตคอล NZR โมดูลที่จะทำหน้าที่เป็นตัวแปลง SPI เป็น NZR และเช่นเดียวกับ SPI สามารถใช้กับทุกแพลตฟอร์มได้อย่างง่ายดาย ภาพหน้าจอด้านบนแสดงการแปลงสัญญาณ SPI เป็นโปรโตคอล NZR ในโมดูล Magic Hercules

ขั้นตอนที่ 3: โมดูล Magic Hercules เป็นเครื่องมือทดสอบแถบ LED แบบดิจิตอล

โมดูล Magic Hercules เป็นเครื่องมือทดสอบแถบ LED แบบดิจิตอล
โมดูล Magic Hercules เป็นเครื่องมือทดสอบแถบ LED แบบดิจิตอล

เมื่อเชื่อมต่อ LED แบบดิจิทัลกับระบบต่างๆ เราควรจดจำเกี่ยวกับความทนทานต่อแรงดันไฟฟ้าที่เหมาะสมสำหรับไมโครคอนโทรลเลอร์ต่างๆ พิน I / O ส่วนใหญ่ของไมโครคอนโทรลเลอร์ ARM ทำงานในมาตรฐาน +3.3 V ในขณะที่ไมโครคอนโทรลเลอร์ AVR ทำงานในมาตรฐาน TTL ด้วยเหตุนี้ พินอินพุตของโมดูล Magic Hercules จึงมีความคลาดเคลื่อน +3.3 V จึงสามารถเชื่อมต่อได้อย่างปลอดภัย เช่น Raspberry P หรือไมโครคอนโทรลเลอร์ที่ใช้ ARM ที่ใช้พลังงาน +3.3 V

ดังที่ได้กล่าวไว้ก่อนหน้านี้ ฉันมักจะทำงานกับ LED ดิจิทัลประเภทต่างๆ ขึ้นอยู่กับผู้ผลิต แต่ละสีใน LEDs สามารถอยู่ในตำแหน่งที่แตกต่างกัน RGB, BGR, GRB, RGBW, GRBW เป็นต้น ไม่ใช่เรื่องแปลกที่เอกสารของผู้ผลิตจะกล่าวถึงลำดับ RGB แต่จริงๆ แล้วมันดูแตกต่างออกไป ฉันได้ติดตั้งโมดูล Hercules ด้วยการทดสอบลำดับสีเพื่อให้ไม่มีปัญหาในการค้นหาวิธีเขียนโปรแกรมสำหรับลำดับสีที่ถูกต้องอย่างรวดเร็ว ฟังก์ชันเพิ่มเติมหลายอย่างของเครื่องมือทดสอบช่วยให้คุณตรวจสอบได้อย่างรวดเร็วว่าแถบ LED ดิจิทัลทำงานหรือไม่ ว่าสีทั้งหมดใน LED แต่ละตัวข้ามแถบ (สูงสุด 1024 LEDs!) ทำงานอย่างถูกต้องหรือไม่ (ไม่มีพิกเซลตาย) และทั้งหมดนี้โดยไม่ต้องเชื่อมต่อไมโครคอนโทรลเลอร์และเขียนโปรแกรมใดๆ

ขั้นตอนที่ 4: Magic Hercules Module - โซลูชันสากลใหม่สำหรับ LED ดิจิตอล

โมดูล Magic Hercules - โซลูชันสากลใหม่สำหรับ LED ดิจิตอล
โมดูล Magic Hercules - โซลูชันสากลใหม่สำหรับ LED ดิจิตอล

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

แน่นอนว่ามีหลายวิธีในการควบคุม LED แบบดิจิทัล บางวิธีเหมาะสมกว่าและบางวิธีเหมาะสมน้อยกว่า โมดูล Magic Hercules เป็นอีกทางเลือกหนึ่งและเป็นประโยชน์มากสำหรับฉัน ฉันคิดว่าบางคนอาจชอบวิธีแก้ปัญหาที่ผิดปกตินี้ ฉันเพิ่งเปิดตัวบนแพลตฟอร์มคราวด์ฟันดิ้ง - kickstarter ซึ่งฉันได้เตรียมคำอธิบายที่กว้างขึ้นของโมดูล Magic Hercules ในวิดีโอหลายรายการ รวมถึงความง่ายในการทำงานกับโมดูลบน Arduino, Nucleo (STM), Raspberry Pi และบน AVR และ PIC ไมโครคอนโทรลเลอร์ หากคุณต้องการสนับสนุนโครงการ Magic Hercules ลองดูสิ่งนี้:

โครงการโมดูล My Magic Hercules บน kickstarter

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

ขั้นตอนที่ 5: โมดูล Magic Hercules พร้อม Atmega32 และ C

วิดีโอที่มีไดอะแกรมอย่างง่าย การนำเสนอการเชื่อมต่อบน ATB 1.05a (AVR Atmega32) ซอร์สโค้ด (ใน Eclipse C/C++ IDE) และเอฟเฟกต์สุดท้ายในรูปแบบของเอฟเฟกต์แสงเกท

ลิ้งค์วิดีโอใน youtube

ขั้นตอนที่ 6: โมดูล Magic Hercules พร้อม Arduino และ Arduino C++

วิดีโอที่มีไดอะแกรมอย่างง่าย การนำเสนอการเชื่อมต่อบนบอร์ด Arduino 2560 ซอร์สโค้ดใน Arduino IDE และเอฟเฟกต์สุดท้ายในรูปแบบของเอฟเฟกต์แสงสตาร์เกท

ลิ้งค์วิดีโอใน youtube

ขั้นตอนที่ 7: โมดูล Magic Hercules พร้อม PIC และ C

วิดีโอที่มีไดอะแกรมอย่างง่าย การนำเสนอการเชื่อมต่อบน ATB 1.05a พร้อม PIC shield (PIC24FJ64GA004 บนบอร์ด) ซอร์สโค้ดใน MPLAB และเอฟเฟกต์สุดท้ายในรูปแบบของเอฟเฟกต์แสงสตาร์เกท

ลิ้งค์วิดีโอใน youtube

ขั้นตอนที่ 8: โมดูล Magic Hercules พร้อม Raspberry Pi และ Python

วิดีโอที่มีไดอะแกรมอย่างง่าย การนำเสนอการเชื่อมต่อบน Raspberry Pi 4 ซอร์สโค้ดใน Python และเอฟเฟกต์สุดท้ายในรูปแบบของเอฟเฟกต์แสงสตาร์เกท

ลิ้งค์วิดีโอใน youtube

ขั้นตอนที่ 9: โมดูล Magic Hercules พร้อม ARM - STM32 Nucleo และ C

วิดีโอที่มีไดอะแกรมอย่างง่าย การนำเสนอการเชื่อมต่อบนบอร์ด STM32 Nucleo ซอร์สโค้ดใน STM32CubeIDE และเอฟเฟกต์สุดท้ายในรูปแบบของเอฟเฟกต์แสงสตาร์เกท

ลิ้งค์วิดีโอใน youtube

ขั้นตอนที่ 10:

ภาพ
ภาพ

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

หากคุณต้องการมีส่วนร่วมในโครงการของฉันบน kickstarter - ตรวจสอบลิงค์นี้:

โครงการโมดูล My Magic Hercules บน kickstarter

แนะนำ: