冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 3284|回覆: 0
打印 上一主題 下一主題

[討論] ESP32-S2 LED彩色繪圖板

[複製鏈接]

2609

主題

0

好友

999

積分

高級會員

Rank: 4

UID
373967
帖子
8833
主題
2609
精華
0
積分
999
楓幣
48
威望
976
存款
34543
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
453 小時
註冊時間
2023-1-12
最後登入
2024-11-14

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-5-8 19:50:36 |只看該作者 |倒序瀏覽
要製作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開發板,並確保正確選擇了串行埠。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-14 08:34

回頂部