فهرست مطالب:
- مرحله 1: مواد را جمع آوری کنید
- مرحله 2: ایجاد ساختار لامپ
- مرحله 3: اشکال سه بعدی
- مرحله 4: شماتیک اجزاء
- مرحله 5: کد
- مرحله 6: کنترل لامپ
- مرحله 7: از لامپ خلق و خوی خود لذت ببرید
تصویری: لامپ LED هوشمند کنترل شده توسط تلفن هوشمند: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
من همیشه رویای کنترل وسایل روشنایی خود را دارم. سپس شخصی یک لامپ LED باورنکردنی رنگارنگ ساخت. اخیراً در یوتیوب با چراغ LED توسط جوزف کاشا برخورد کردم. با الهام از آن ، تصمیم گرفتم چندین کارکرد را با حفظ طراحی معاصر اضافه کنم.
برنامه این است که چراغ را با افزودن ماژول بلوتوث و نوار LED WS2812B RGB آدرس پذیر ، کاربرپسندتر کنید. این امر امکان کنترل رنگ روشنایی را تنها با استفاده از یک برنامه تلفن هوشمند امکان پذیر می کند.
مرحله 1: مواد را جمع آوری کنید
ابزارها:
• ایستگاه لحیم کاری
• تفنگ دمنده بخاری
• دستگاه حفاری
• اره گرد
• اره منبت کاری اره مویی
• انبردست سیم برش
• انبردست باریک بینی
مواد:
• تخته اکریلیک شفاف
• چوب سرو ژاپنی (یا می توانید از هر چوبی استفاده کنید تا زمانی که پایدار و محکم باشد)
• پیچ ها
• قطب یا چوب از جنس استنلس استیل
• سیم (من از سیم قرمز و سیاه استفاده می کنم)
• قلع لحیم کاری
قطعات الکترونیکی:
• آردوینو نانو
• بلوتوث ماژول HC-05 (من تصمیم گرفتم از این کد استفاده کنم زیرا کدگذاری نسبت به Wifi Module ESP8266 آسانتر است)
• نوار LED RGB آدرس پذیر WS2812B
• ماژول LM2596 Step-down Module
• جک پاور DC DC
مرحله 2: ایجاد ساختار لامپ
در این مرحله ، من دو روش برای ساخت ساختار لامپ دارم- روش نجاری و روش چاپ سه بعدی. من از روش اول استفاده می کنم. اگر ترجیح می دهید با استفاده از چاپگر سه بعدی این کار را انجام دهید ، با خیال راحت قدم دوم را برای مدلی که طراحی کرده ام بروید.
برای قسمت بالایی لامپ ، تخته اکریلیک را همانطور که در بالا نشان داده شده ، 90 درجه گرم می کنم و خم می کنم. زمان زیادی طول می کشد تا آن را در چنین زاویه و جهت کاملی خم کنم.
بعد ، برای قسمت پایین لامپ. متأسفانه … روزی که روی قسمت پایینی لامپ کار می کنم ، کاملاً فراموش کردم از ساختمان عکس بگیرم! وقتی این پروژه را به پایان رساندم متوجه شدم. اما من تمام تلاش خود را می کنم تا اندازه قسمت پایین لامپ را در اختیار شما قرار دهم.
اساساً ، شما فقط باید چهار بلوک چوب را با ابعاد 13x6x2cm برش دهید (LxHxW). در مرحله بعد ، شما باید یک برش پله مانند را در لبه چوب برش دهید. تصویر بالا نشان داده می شود.
مرحله 3: اشکال سه بعدی
برای هر کسی که چاپگر سه بعدی خود را دارد ، شما در مرحله درست هستید. این باعث شده که این لامپ کاربر پسند باشد.
صادقانه بگویم ، این سخت ترین مرحله ای بود که من انجام دادم. این اولین کاری است که بلافاصله پس از نصب نرم افزار انجام دادم!
من از Sketchup Pro برای طراحی ساختار لامپ استفاده می کنم. متأسفانه ، من آنقدر ماهر نیستم که بتوانم قسمت داخلی آن را طراحی کنم. پیوند مدل سه بعدی من در فایل زیر موجود است.
مرحله 4: شماتیک اجزاء
من از Fritzing برای ساختن شماتیک اجزا استفاده می کنم. طرح کلی در واقع بسیار آسان است.
مرحله 5: کد
برای کدگذاری این چراغ خلق و خو ، از برخی کتابخانه های Arduino IDE استفاده کردم. کتابخانه ها در مرحله 7 فهرست شده اند.
برای کد ، باید خود نرم افزار Arduino را داشته باشید. لینک دانلود رو اینجا میذارم
همچنین ، طرح یا کد در زیر نشان داده می شود؟
من همچنین فایل کد را در Github.com ارائه دادم در صورتی که کد زیر برای کپی در اینجا طولانی باشد ؛)
#شامل #شامل #شامل #ifdef _AVR_ #شامل #endif
SoftwareSerial BT (10 ، 11) ؛
#تعریف LED_PIN 7 #تعریف NUM_LEDS 60 #تعریف روشنایی 200 #تعریف سرعت 10 #تعریف سریع
نوار Adafruit_NeoPixel = Adafruit_NeoPixel (NUM_LEDS ، LED_PIN ، NEO_GRB + NEO_KHZ800) ؛
bool offOld = LOW؛
bool WhiteOld = LOW؛ bool RedOld = LOW؛ bool GreenOld = LOW؛ bool BlueOld = LOW؛ bool TopazOld = LOW؛ bool LilacOld = LOW؛ bool RainbowOld = LOW؛ bool rgbOld = LOW؛ int showType = 0؛
void setup () {
FastLED.addLeds (leds ، NUM_LEDS) ؛ ///////////
BT.begin (9600) ؛
BT.println ("متصل به آردوینو") ؛
strip.setBrightness (BRIGHTNESS) ؛
strip.begin ()؛
strip.show ()؛
}
char a؛
حلقه خالی () {
برای (int i = 0 ؛ i <= 59؛ i ++) {leds = CRGB (255 ، 255 ، 255) ؛ FastLED.show ()؛ } bool off = LOW؛ bool White = LOW؛ bool Blue = LOW؛ bool Red = LOW؛ bool Green = LOW؛ bool Topaz = LOW؛ bool Lilac = LOW؛ bool Rainbow = LOW؛ bool rgb = LOW؛ bool ende؛ if (BT.available ()) {a = (char) BT.read ()؛
if (a == 'o')
{off = HIGH؛ BT.println ("خاموش کردن LED ها..") ؛
} دیگری {
خاموش = LOW؛ } // ============================================ ===========================================
اگر (a == 'w')
{سفید = بالا ؛ BT.println ("چرخاندن LED ها به سفید") ؛
} دیگری {
سفید = پایین ؛ } // ============================================ ==========================================
if (a == 'b')
{آبی = بالا ؛ BT.println ("تغییر رنگ آبی") ؛ } else {آبی = LOW؛ }
// ===========================================================================================
if (a == 'r')
{قرمز = بالا ؛ BT.println ("تغییر به قرمز") ؛ } else {قرمز = پایین ؛ }
// ===========================================================================================
if (a == 'g')
{سبز = بالا ؛ BT.println ("تغییر به سبز") ؛ } else {سبز = LOW؛ }
// ===========================================================================================
if (a == 't')
{Topaz = HIGH؛ BT.println ("تغییر به TOPAZ") ؛ } else {Topaz = LOW؛ }
// ===========================================================================================
اگر (a == 'l')
{یاس بنفش = بالا ؛ BT.println ("تغییر به لیلاک") ؛ } else {Lilac = LOW؛ }
// ===========================================================================================
اگر (a == 'a')
{رنگین کمان = بالا ؛ BT.println ("انیمیشن رنگین کمان") ؛ } else {رنگین کمان = LOW؛ } // ============================================ ==========================================
اگر (a == 'm')
{rgb = HIGH؛ BT.println ("MIX COLORS") ؛ } else {rgb = LOW؛ }} if (off == LOW && offOld == HIGH) {تأخیر (20)؛ if (خاموش == پایین) {showType = 0؛ // انیمیشن خاموش نوع 0 startShow (showType) ؛ }}
// ===========================================================================================
if (سفید == LOW && WhiteOld == HIGH) {
تأخیر (20) ؛ if (سفید == LOW) {showType = 1؛ // انیمیشن سفید نوع 1 startShow (showType) ؛ }}
// ============================================= ======================================== اگر (قرمز == پایین && RedOld == HIGH) {تاخیر (20)؛ if (قرمز == پایین) {showType = 2؛ // انیمیشن قرمز نوع 2 startShow (showType) ؛ }}
// ===========================================================================================
if (سبز == LOW && GreenOld == HIGH) {
تأخیر (20) ؛ if (سبز == پایین) {showType = 3؛ // انیمیشن سبز نوع 3 startShow (showType) ؛ }} // =========================================== ===========================================
if (آبی == LOW && BlueOld == HIGH) {
تأخیر (20) ؛ if (آبی == پایین) {showType = 4 ؛ // انیمیشن آبی نوع 4 startShow (showType) ؛ }}
// ===========================================================================================
if (Topaz == LOW && TopazOld == HIGH) {
تأخیر (20) ؛ if (Topaz == LOW) {showType = 5؛ // انیمیشن Topaz نوع 5 startShow (showType) ؛ }}
// ===========================================================================================
if (Lilac == LOW && LilacOld == HIGH) {
تأخیر (20) ؛ if (Lilac == LOW) {showType = 6؛ // انیمیشن Topaz نوع 6 startShow (showType) ؛ }} // =========================================== ===========================================
if (Rainbow == LOW && RainbowOld == HIGH) {
تأخیر (20) ؛
if (Rainbow == LOW) {
showType = 8؛ // انیمیشن رنگین کمان نوع 8 startShow (showType) ؛ }}
// ===========================================================================================
if (rgb == LOW && rgbOld == HIGH) {
تأخیر (20) ؛
if (rgb == LOW) {
showType = 7؛ // میکس انیمیشن نوع 7 rgb = HIGH؛
startShow (showType) ؛
} }
WhiteOld = سفید ؛
RedOld = قرمز ؛ BlueOld = آبی ؛ GreenOld = سبز ؛ TopazOld = توپاز؛ LilacOld = یاس بنفش ؛ offOld = خاموش؛ RainbowOld = Rainbow؛ rgbOld = rgb؛
}
void startShow (int i) {
تغییر (i) {
مورد 0: colorWipe (نوار. رنگ (0 ، 0 ، 0) ، SPEED) ؛ // سیاه/خاموش
زنگ تفريح؛
مورد 1: strip.setBrightness (255) ؛ // Brightness را به MAX تغییر می دهد
colorWipe (نوار رنگ (255 ، 255 ، 255) ، فوراً) ؛ // strip white.setBrightness (BRIGHTNESS) ؛ // تنظیم مجدد Brightness to Default value؛
مورد 2: colorWipe (نوار رنگ (255 ، 0 ، 0) ، SPEED) ؛ // قرمز
زنگ تفريح؛
مورد 3: colorWipe (نوار. رنگ (0 ، 255 ، 0) ، SPEED) ؛ // سبز
زنگ تفريح؛
مورد 4: colorWipe (نوار. رنگ (0 ، 0 ، 255) ، SPEED) ؛ // آبی
زنگ تفريح؛
مورد 5: colorWipe (نوار رنگ (0 ، 250 ، 255) ، SPEED) ؛ // توپاز
زنگ تفريح؛
مورد 6: colorWipe (نوار رنگ (221 ، 130 ، 255) ، SPEED) ؛ // بنفشه
زنگ تفريح؛ مورد 7: colorWipe (نوار رنگ (255 ، 0 ، 0) ، SPEED) ؛ // رنگ قرمز پاک کردن (نوار. رنگ (0 ، 255 ، 0) ، SPEED) ؛ // رنگ سبز پاک کردن (نوار. رنگ (0 ، 0 ، 255) ، SPEED) ؛ // Blue theaterChase (strip. Color (0، 0، 127)، SPEED) ؛ // Blue theaterChase (strip. Color (127 ، 0 ، 0) ، SPEED) ؛ // Red theaterChase (strip. Color (0 ، 127 ، 0) ، SPEED) ؛ // استراحت سبز ؛
مورد 8: rainbowCycle (25) ؛
زنگ تفريح؛ }} void colorWipe (uint32_t c، uint8_t wait) {for (uint16_t i = 0؛ i
void rainbowCycle (uint8_t wait) {
uint16_t i، j؛
برای (j = 0 ؛ j <256*10 ؛ j ++) {// 5 چرخه از همه رنگها در چرخ برای (i = 0 ؛ i <strip.numPixels () ؛ i ++) {strip.setPixelColor (i ، Wheel (((i * 256 / strip.numPixels ()) + j) & 255))؛ } strip.show ()؛ تأخیر (صبر) ؛ }}
void theaterChase (uint32_t c ، uint8_t wait) {
برای (int j = 0 ؛ j <10؛ j ++) {// 10 چرخه تعقیب (int q = 0 ؛ q <3؛ q ++) {برای (int i = 0 ؛ i <strip.numPixels () ؛ i = i+3) {strip.setPixelColor (i+q، c)؛ // هر پیکسل سوم را روشن کنید} strip.show ()؛
تأخیر (صبر) ؛
برای (int i = 0؛ i <strip.numPixels ()؛ i = i+3) {strip.setPixelColor (i+q، 0)؛ // هر پیکسل سوم را خاموش کنید}}}}
uint32_t Wheel (byte WheelPos) {
WheelPos = 255 - WheelPos ؛ if (WheelPos <85) {strip return. Color (255 - WheelPos * 3 ، 0 ، WheelPos * 3) ؛ } if (WheelPos <170) {WheelPos -= 85؛ نوار بازگشت. رنگ (0 ، WheelPos * 3 ، 255 - WheelPos * 3) ؛ } WheelPos -= 170 ؛ نوار بازگشت. رنگ (WheelPos * 3 ، 255 - WheelPos * 3 ، 0) ؛ }
مرحله 6: کنترل لامپ
رنگ لامپ را می توان با استفاده از تلفن هوشمند خود کنترل کرد.
ابتدا ، باید برنامه ای به نام "Bluetooth Terminal HC-05" را از Google Play Store یا Apple App Store نصب کنید.
مراحل کنترل لامپ از طریق تلفن هوشمند خود به شرح زیر است:
1. بلوتوث را در تلفن هوشمند خود روشن کنید.
2. برنامه ای را که "Bluetooth Terminal HC-05" است باز کنید.
3. اکنون باید دستگاه های مرتبط شده را روی صفحه مشاهده کنید. "HC-05" را انتخاب کنید.
4. اکنون می توانید یک صفحه سیاه در تلفن هوشمند خود مشاهده کنید که نشان می دهد 'متصل به آردوینو' است.
5. در اینجا قسمت سرگرم کننده است ، اگر "b" را در جعبه متن تایپ کنید ، چراغ به رنگ آبی در می آید. در اینجا لیستی از فرمان هایی است که می توانید برای لامپ تایپ کنید:
- w برای سفید
- ب برای آبی
- گرم برای رنگ سبز
- r برای قرمز
- t برای توپاز
- l برای یاس بنفش
- یک انیمیشن رنگین کمان
- o برای خاموش
تفریح درسته؟
6. در آخر اما نه کم اهمیت ، شما همچنین می توانید دکمه زیر صفحه را متن مورد نظر خود را مطابق تصویر بالا سفارشی کنید.
مرحله 7: از لامپ خلق و خوی خود لذت ببرید
امیدوارم این دستورالعمل ها را دوست داشته باشید. این پروژه برای من بسیار چالش برانگیز بود ، اما موفق شدم آن را به طور کامل در یک پسر 14 ساله به پایان برسانم. برای بهبودهای بعدی بازخوردی به من بدهید.
با تشکر از شما برای خواندن و کریسمس مبارک!
توصیه شده:
ساعت بی نهایت کنترل شده توسط تلفن هوشمند: 5 مرحله (همراه با تصاویر)
ساعت بی نهایت کنترل شده توسط تلفن هوشمند: من پروژه های زیادی از آینه های بی نهایت و ساعت های بی نهایت را در دستورالعمل ها دیده ام ، بنابراین تصمیم گرفتم که آن را بسازم. ممکن است تفاوت چندانی با سایر موارد نداشته باشد … اما من خودم این کار را کردم ، اینطور است! در صورتی که قبلاً آن را نمی دانید: بی نهایت چیست
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
نئوپیکسل های کنترل شده توسط تلفن هوشمند (نوار LED) با برنامه Blynk از طریق WiFi: 6 مرحله
نئوپیکسل های کنترل شده توسط تلفن هوشمند (نوار LED) با برنامه Blynk Over WiFi: من این پروژه را پس از الهام از نئوپیکسل های کنترل شده توسط تلفن هوشمند در خانه دوستان ایجاد کردم ، اما وی از مغازه خریداری شد. من فکر کردم & quot؛ چقدر سخت است که خودم تهیه کنم ، بسیار ارزان تر هم خواهد بود! & quot؛ اینطور است. توجه: من فرض می کنم که شما
LED های بلوتوث کنترل شده توسط تلفن هوشمند (با همگام سازی موسیقی زنده): 7 مرحله
LED های بلوتوث کنترل شده توسط تلفن هوشمند (با همگام سازی زنده موسیقی): من همیشه عاشق ساخت وسایل بودم ، بعد از اینکه متوجه شدم خوابگاه جدید من دارای نور وحشتناک است ، تصمیم گرفتم کمی آن را ادویه کنم. *** هشدار *** در صورت ساخت این پروژه در مقیاس مشابه تنظیمات من ، شما با مقدار قابل توجهی از المان کار خواهید کرد
سبد خرید هوشمند کنترل شده توسط تلفن هوشمند: 7 مرحله
سبد خرید هوشمند کنترل شده توسط تلفن های هوشمند: بازدید از مراکز تجاری می تواند سرگرم کننده باشد. اما کشیدن سبد خرید همراه با پر کردن آن چیزی است که کاملاً آزاردهنده است. درد هل دادن آن در آن راهروهای باریک ، ایجاد آن پیچ های تند! بنابراین ، در اینجا (به نوعی) پیشنهادی است که می توانید