สารบัญ:

Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน

วีดีโอ: Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน

วีดีโอ: Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
วีดีโอ: How to Easily Control Addressable LEDs with an ESP32 or ESP8266 | WLED Project 2024, พฤศจิกายน
Anonim
Image
Image

สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LEDs หรือแถบนำแสงหรือเมทริกซ์นำหรือวงแหวน LED กับบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะสร้างรูปแบบสีรุ้งด้วย

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

สำหรับคำแนะนำนี้ เราต้องการสิ่งต่อไปนี้:m5stack m5stick-C development boardType C usb cableWs2812 neopixel led strip/led matrix/led ring/ไม่กี่ leds

ขั้นตอนที่ 2: ติดตั้งบอร์ด ESP32 Un Arduino IDE ของคุณ

ติดตั้งบอร์ด ESP32 Un Arduino IDE ของคุณ
ติดตั้งบอร์ด ESP32 Un Arduino IDE ของคุณ

ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งบอร์ด ESP32 ใน Arduino IDE ของคุณแล้ว และหากไม่เป็นเช่นนั้น โปรดปฏิบัติตามคำแนะนำต่อไปนี้เพื่อดำเนินการดังกล่าว:ESP32 BOARDS INSTALL:

ขั้นตอนที่ 3: วงจร

วงจร
วงจร
วงจร
วงจร
วงจร
วงจร

ส่วนปัจจุบันนั้นง่ายมาก: พิน Din บน Neopixel จะไปที่ G26 บน m5stick-C และ Vcc/Vin ของ neopixel จะต้องการ 5v ดังนั้นรับ 5v จากแหล่งจ่ายไฟบางส่วนและพิน Gnd ของ neopixel จะไปที่ Gnd ของสิ่งนั้น กำลังไฟ 5v และพิน Gnd ของนีโอพิกเซลจะเชื่อมต่อกับพิน gnd ของ m5stick-C เพื่อให้มีกราวด์ทั่วไป อีกทางหนึ่งก็มีสำหรับวงจรด้วย (เช่น หากแบตเตอรี่ m5stick-C ของคุณหมด) ในสถานการณ์นั้น คุณสามารถเชื่อมต่อได้ แหล่งจ่ายไฟ 5v พิน 5v/Vcc ไปยังพิน Vcc/Vin ของนีโอพิกเซลและพิน 5v ของ m5stick-C เช่นกันพิน Gnd ของแหล่งจ่ายไฟนั้นจะเชื่อมต่อกับ gnd ของนีโอพิกเซลและ gnd ของบอร์ด m5stick-C และพิน Din ของนีโอพิกเซล จะไปที่ G26 ของบอร์ดพัฒนา m5stick-C โปรดอ้างอิงภาพการเชื่อมต่อแบบมีสายสำหรับการอ้างอิงของคุณหากคุณประสบปัญหา และสำหรับการจ่ายไฟ 5v DC ไปยังวงจร ฉันใช้ Vin pin & Gnd pin ของ Arduino เพราะ Arduino ได้รับพลังงานจากสาย usb ซึ่ง เชื่อมต่อกับพาวเวอร์แบงค์หมายเหตุ: หากคุณใช้ Arduino และจ่ายไฟด้วยแรงดันไฟมากกว่า 5V ไม่ใช้พิน Vin ใช้พิน Vin เฉพาะเมื่อ Arduino ได้รับพลังงานจากแหล่ง 5v บางแหล่ง มิฉะนั้นให้ใช้พิน Vcc แทนพิน Vin

ขั้นตอนที่ 4: การอัปโหลดรหัส

กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส

ก่อนอัปโหลดโค้ด ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี FastLED ใน Arduino IDE ของคุณแล้ว ถ้าไม่โปรดทำอย่างนั้นก่อน โปรดคัดลอกโค้ดต่อไปนี้และอัปโหลดไปยังบอร์ดพัฒนา m5stick-c ของคุณโดยใช้ Arduino IDE: ก่อนอัปโหลดโค้ด nake ตรวจสอบว่าคุณได้ป้อนจำนวน LED ที่ neopixel ของคุณมีในรหัสขณะที่ฉันป้อน LED 64 ดวง เนื่องจากฉันมีไฟ LED 64 ดวงในเมทริกซ์นีโอพิกเซลของฉัน /* โปรดติดตั้งไลบรารี FastLED ก่อน ในไลบรารี arduino จัดการการค้นหา FastLED */#include "M5Stack.h"#include "FastLED.h"#define Neopixel_PIN 26 // ป้อนหมายเลข ของ LED neopixel ของคุณมี#define NUM_LEDS 64CRGB leds[NUM_LEDS];uint8_t gHue = 0;static TaskHandle_t FastLEDshowTaskHandle = 0;static TaskHandle_t userTaskHandle = 0;void setup() { Serial.begin(115200); M5.begin(); M5. Lcd.clear(สีดำ); M5. Lcd.setTextColor(สีเหลือง); M5. Lcd.setTextSize(2); M5. Lcd.setCursor(40, 0); M5. Lcd.println("ตัวอย่าง Neopixel"); M5. Lcd.setTextColor(ขาว); M5. Lcd.setCursor(0, 25); M5. Lcd.println("แสดงผลสีรุ้ง"); // การเริ่มต้น Neopixel FastLED.addLeds (ไฟ LED, NUM_LEDS).setCorrection (TypicalLEDStrip); FastLED.setBrightness(10); xTaskCreatePinnedToCore (FastLEDshowTask, "FastLEDshowTask", 2048, NULL, 2, NULL, 1);}วงเป็นโมฆะ (){}เป็นโมฆะ FastLEDshowESP32(){ ถ้า (userTaskHandle == 0) { userTaskHandle = xTaskGetCurrentTaskHandle (); xTaskNotifyGive(FastLEDshowTaskHandle); const TickType_t xMaxBlockTime = pdMS_TO_TICKS(200); ulTaskNotifyTake (pdTRUE, xMaxBlockTime); userTaskHandle = 0; }}เป็นโมฆะ FastLEDshowTask(void *pvParameters){ for(;;) { fill_rainbow(leds, NUM_LEDS, gHue, 7);// rainbow effect FastLED.show();// ต้องดำเนินการเพื่อให้ neopixel มีผล EVERY_N_MILLISECONDS(20) { gHue++; } }}

ขั้นตอนที่ 5: สายรุ้งบน Neopixel LED

Image
Image
สายรุ้งบน Neopixel LED
สายรุ้งบน Neopixel LED

ดังนั้นหลังจากอัปโหลดโค้ด คุณจะเห็นรูปแบบสีรุ้งแสดงบนเมทริกซ์ LED นีโอพิกเซลของฉัน และมันจะปรากฏขึ้นสำหรับคุณ neopixel led strip/matrix/ring โปรดดูวิดีโอเพื่อดูว่ามันทำงานอย่างไร

แนะนำ: