حلقه ال ای دی 7 تایی RGB WS2812B
حلقه LED WS2812B RGB از سری حلقه های LED آدرسپذیر است که توسط شرکت WorldSemi تولید میشود. این حلقه LED دارای 7 LED قرمز، سبز و آبی میباشد که با استفاده از یک رابط دیجیتالی آدرسپذیر به کنترلر میکروکنترلر یا ماژول آردوینو وصل میشود.هر LED دارای یک رنگ ۸ بیتی است که با ارسال داده از طریق رابط سریال آدرسپذیر به ترتیب RGB میتوان رنگ حلقه LED را تنظیم کرد. این حلقه LED قابلیت کنترل هر LED به طور جداگانه را دارد و میتوان با استفاده از نرمافزارهای مختلف، این حلقه LED را با افکتهای مختلف تنظیم کرد.
ویژگی های حلقه LED WS2812B RGB
- ولتاژ کاری: 5 ولت DC
- توان مصرفی: 0.3 وات بر LED
- تعداد LED در هر حلقه: 7
- قطر حلقه: 60 میلیمتر
- ارتفاع حلقه: 4 میلیمتر
- رابط: دیتا، ورودی تغذیه و خروجی تغذیه
بررسی پایه های حلقه ال ای WS2812B
حلقه LED WS2812B RGB دارای ۴ پایه است که عبارتند از:
- VCC: این پایه مربوط به ورودی تغذیه به حلقه LED است و باید به منبع تغذیه ۵ ولت DC متصل شود.
- GND: این پایه مربوط به اتصال به منبع منفی برق است و باید به زمین منبع تغذیه متصل شود.
- Din: این پایه مربوط به ورودی داده به حلقه LED است. دادههای RGB با استفاده از یک رابط سریال آدرسپذیر از این پایه وارد حلقه LED میشوند.
- Dout: این پایه مربوط به خروجی داده از حلقه LED است. میتوان از این پایه برای اتصال چندین حلقه LED به همدیگر استفاده کرد، به طوری که خروجی داده از حلقه قبلی به ورودی داده حلقه بعدی متصل شود.
به طور کلی، باید توجه داشت که اتصال پایههای حلقه LED WS2812B RGB به درستی بسیار مهم است، به خصوص اتصال منابع تغذیه به VCC و GND. همچنین، نباید بیش از ۵ ولت DC به حلقه LED وصل شود، زیرا این میتواند باعث آسیب دیدن LED ها و خرابی آنها شود.
راه اندازی حلقه ال ای دی 7 تایی RGB WS2812B با آردوینو
برای کنترل حلقه LED WS2812B RGB با استفاده از برد آردوینو، باید از کتابخانه Adafruit NeoPixel استفاده کنید. این کتابخانه را می توانید از مخزن کتابخانه آردوینو دانلود کنید و در برنامه آردوینو خود به کار ببرید. پس از نصب کتابخانه Adafruit NeoPixel، کد زیر برای کنترل حلقه LED WS2812B RGB با استفاده از یک برد آردوینو ارائه شده است. این کد یک حلقه LED دارای ۷ LED را با رنگهای مختلف روشن می کند و ۳ ثانیه منتظر می ماند و سپس LED ها را خاموش می کند.
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
#define LED_COUNT 7
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // خاموش کردن تمامی LED ها در ابتدای برنامه
}
void loop() {
// روشن کردن هر LED با یک رنگ متفاوت
strip.setPixelColor(0, strip.Color(255, 0, 0)); // LED ۱ قرمز
strip.setPixelColor(1, strip.Color(0, 255, 0)); // LED ۲ سبز
strip.setPixelColor(2, strip.Color(0, 0, 255)); // LED ۳ آبی
strip.setPixelColor(3, strip.Color(255, 255, 0)); // LED ۴ زرد
strip.setPixelColor(4, strip.Color(0, 255, 255)); // LED ۵ فیروزه ای
strip.setPixelColor(5, strip.Color(255, 0, 255)); // LED ۶ ارغوانی
strip.setPixelColor(6, strip.Color(255, 255, 255)); // LED ۷ سفید
strip.show(); // نمایش رنگهای جدید به LED ها
delay(3000); // ۳ ثانیه انتظار
// خاموش کردن تمامی LED ها
for (int i = 0; i < LED_COUNT; i++) {
strip.setPixelColor(i, 0);
}
strip.show();
delay(100); // کوتاه کردن وقفه بین حلقه ها
}
راه اندازی حلقه ال ای دی 7 تایی RGB WS2812B با میکروپایتون و ESP32
برای کنترل حلقه LED WS2812B RGB با استفاده از میکروپایتون، باید از کتابخانه neopixel استفاده کنید. این کتابخانه به صورت پیش فرض در بسیاری از بردهای میکروکنترلر مانند برد ESP32 در دسترس است.پس از نصب کتابخانه neopixel، کد زیر برای کنترل حلقه LED WS2812B RGB با استفاده از یک برد ESP32 و میکروپایتون ارائه شده است. این کد یک حلقه LED دارای ۷ LED را با رنگهای مختلف روشن می کند و ۳ ثانیه منتظر می ماند و سپس LED ها را خاموش می کند. در این کد، پایه داده به پایه ۱۸ برد ESP32 وصل شده است. شما می توانید پایه داده را برای بردهای دیگر تغییر دهید. همچنین، رنگهای مختلف می توانند با استفاده از لیست COLORS تغییر داده شوند.
import neopixel
import time
LED_COUNT = 7
LED_PIN = 18
COLORS = [
(255, 0, 0), # قرمز
(0, 255, 0), # سبز
(0, 0, 255), # آبی
(255, 255, 0), # زرد
(0, 255, 255), # فیروزه ای
(255, 0, 255), # ارغوانی
(255, 255, 255) # سفید
]
pixels = neopixel.NeoPixel(Pin(LED_PIN), LED_COUNT)
# خاموش کردن تمامی LED ها در ابتدای برنامه
pixels.fill((0, 0, 0))
pixels.write()
while True:
# روشن کردن هر LED با یک رنگ متفاوت
for i in range(LED_COUNT):
pixels[i] = COLORS[i]
pixels.write() # نمایش رنگهای جدید به LED ها
time.sleep(3) # ۳ ثانیه انتظار
# خاموش کردن تمامی LED ها
pixels.fill((0, 0, 0))
pixels.write()
time.sleep(0.1) # کوتاه کردن وقفه بین حلقه ها
راه اندازی حلقه ال ای دی 7 تایی RGB WS2812B با میکروپایتون و RP2040
برای کنترل حلقه LED WS2812B RGB با استفاده از میکروپایتون و RP2040، باید از کتابخانه neopixel استفاده کنید. این کتابخانه به صورت پیش فرض در بردهای RP2040 در دسترس است.پس از نصب کتابخانه neopixel، کد زیر برای کنترل حلقه LED WS2812B RGB با استفاده از RP2040 و میکروپایتون ارائه شده است. در این کد، پایه داده به پایه ۶ RP2040 وصل شده است. شما می توانید پایه داده را برای بردهای دیگر تغییر دهید. همچنین، رنگهای مختلف می توانند با استفاده از لیست COLORS تغییر داده شوند.
import neopixel
import time
LED_COUNT = 7
LED_PIN = 6
COLORS = [
(255, 0, 0), # قرمز
(0, 255, 0), # سبز
(0, 0, 255), # آبی
(255, 255, 0), # زرد
(0, 255, 255), # فیروزه ای
(255, 0, 255), # ارغوانی
(255, 255, 255) # سفید
]
pixels = neopixel.NeoPixel(machine.Pin(LED_PIN), LED_COUNT)
# خاموش کردن تمامی LED ها در ابتدای برنامه
pixels.fill((0, 0, 0))
pixels.write()
while True:
# روشن کردن هر LED با یک رنگ متفاوت
for i in range(LED_COUNT):
pixels[i] = COLORS[i]
pixels.write() # نمایش رنگهای جدید به LED ها
time.sleep(3) # ۳ ثانیه انتظار
# خاموش کردن تمامی LED ها
pixels.fill((0, 0, 0))
pixels.write()
time.sleep(0.1) # کوتاه کردن وقفه بین حلقه ها
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- ال ای دی LED - NeoPixel
- سطح تجربه مورد نیاز
- مبتدی
- ولتاژ مورد نياز
- 5 ولت DC
- ظرفیت
- 7 ال ای دی 5050 نئوپیکسل
- چاپ مس
- مشکی
- تعداد پایه ها
- 6 پایه
- پردازنده
- WS2812B
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.