冰楓論壇

標題: ESP32-S2 LED彩色繪圖板 [打印本頁]

作者: 洪嵐峰    時間: 2023-5-8 19:50
標題: ESP32-S2 LED彩色繪圖板
要製作ESP32-S2 LED彩色繪圖板,你需要以下零件:

ESP32-S2 開發板:這是一塊具有內建WiFi功能的微控制器開發板。
你可以在各大電子元件供應商或線上商店購買。

RGB LED 燈條:選擇一個適合的RGB LED燈條,以用於顯示彩色圖案。
你可以選擇一個帶有WS2812B或者APA102芯片的LED燈條。

杜邦線:用於連接ESP32-S2開發板和RGB LED燈條之間的連接。
請確保你有足夠的杜邦線來連接所需的LED燈。

麵包板(可選):如果你想要進行更容易的連接,可以使用麵包板。

5V 電源供應器:提供電力給ESP32-S2和RGB LED燈條。

以下是ESP32-S2開發板和RGB LED燈條的連接示意圖:


ESP32-S2 開發板            RGB LED 燈條
----------------           --------------
   GPIO Pin 12    --------->   DATA Input
   3.3V           --------->   VCC
   GND            --------->   GND

接下來是程式碼範例,使用ESP32-S2控制RGB LED燈條:

#include <Adafruit_NeoPixel.h>

#define LED_PIN 12
#define LED_COUNT 16

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show(); // 將所有LED關閉
}

void loop() {
  // 在所有LED上顯示紅色
  for (int i = 0; i < LED_COUNT; i++) {
    strip.setPixelColor(i, strip.Color(255, 0, 0));
  }
  strip.show();
  delay(1000);

  // 在所有LED上顯示綠色
  for (int i = 0; i < LED_COUNT; i++) {
    strip.setPixelColor(i, strip.Color(0, 255, 0));
  }
  strip.show();
  delay(1000);

  // 在所有LED上顯示藍色
  for (int i = 0; i < LED_COUNT; i++) {
    strip.setPixelColor(i, strip.Color(0, 0, 255));
  }
  strip.show();
  delay(1000);
}
請確保你已經安裝了Adafruit NeoPixel庫,可以在Arduino IDE的程式庫管理員中找到並安裝。
這個程式碼使用Adafruit NeoPixel庫來控制RGB LED燈

以下是完整的程式碼範例,它可以讓你在ESP32-S2上製作一個簡單的LED彩色繪圖板:


#include <Adafruit_NeoPixel.h>

#define LED_PIN 12
#define LED_COUNT 16

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show(); // 將所有LED關閉
}

void loop() {
  // 清空所有LED的顏色
  strip.clear();
  strip.show();

  // 繪製彩色繪圖板
  for (int i = 0; i < LED_COUNT; i++) {
    int red = random(256);    // 隨機生成紅色值(0-255)
    int green = random(256);  // 隨機生成綠色值(0-255)
    int blue = random(256);   // 隨機生成藍色值(0-255)
    strip.setPixelColor(i, strip.Color(red, green, blue));
  }
  strip.show();

  delay(1000);  // 延遲一秒
}


這個程式碼使用random()函式來隨機生成每個LED的顏色值,從而創建彩色繪圖板的效果。
每秒更新一次。

請確保你已經安裝了Adafruit NeoPixel庫,可以在Arduino IDE的程式庫管理員中找到並安裝。
記得將開發板設定為ESP32-S2開發板,並確保正確選擇了串行埠。





歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓