冰楓論壇
標題:
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 冰楓