فهرست مطالب:
- مرحله 1: ویژگی ها و رابط پروژه
- مرحله 2: طراحی GreenPAK
- مرحله 3: گیرنده UART
- مرحله 4: واحد کنترل
- مرحله 5: CLK Generators و Multiplexer
- مرحله 6: PWM
- مرحله 7: برنامه Android
تصویری: DIY Smart LED Dimmer کنترل از طریق بلوتوث: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
این دستورالعمل نحوه ساخت یک دیمر دیجیتال هوشمند را توضیح می دهد. دیمر یک کلید روشنایی رایج است که در خانه ها ، هتل ها و بسیاری از ساختمان های دیگر استفاده می شود. نسخه های قدیمی تر سوئیچ های کم نور دستی بودند و معمولاً از یک سوئیچ دوار (پتانسیومتر) یا دکمه هایی برای کنترل سطح نور استفاده می کردند. این دستورالعمل نحوه ساخت یک کم نور دیجیتال را که دارای دو روش برای کنترل شدت نور است توضیح می دهد. یک تلفن هوشمند و دکمه های فیزیکی این دو حالت می توانند به طور یکپارچه با هم کار کنند تا کاربر بتواند روشنایی را از طریق یک دکمه و تلفن هوشمند افزایش یا کاهش دهد. این پروژه با استفاده از SLG46620V CMIC ، ماژول بلوتوث HC-06 ، دکمه های فشاری و LED ها اجرا می شود.
ما از SLG46620V CMIC استفاده می کنیم زیرا به حداقل رساندن اجزای گسسته پروژه کمک می کند. IC های GreenPAK are کوچک هستند و دارای اجزای چند منظوره هستند ، که به طراح اجازه می دهد اجزاء را کاهش داده و ویژگی های جدیدی را اضافه کند. علاوه بر این ، هزینه پروژه بعداً کاهش می یابد.
SLG46620V همچنین دارای رابط اتصال SPI ، بلوک های PWM ، FSM و تعداد زیادی بلوک مفید اضافی در یک تراشه کوچک است. این اجزا به کاربر امکان می دهد یک دیمر هوشمند کاربردی بسازد که می توان آن را از طریق دستگاه بلوتوث یا دکمه های دیواری کنترل کرد ، از نوردهی طولانی مدت و افزودن ویژگی های قابل انتخاب بدون استفاده از میکروکنترلر یا اجزای گران قیمت پشتیبانی می کند.
در زیر مراحل مورد نیاز برای درک چگونگی برنامه ریزی راه حل برای ایجاد یک دیمر LED هوشمند کنترل شده از طریق بلوتوث را شرح دادیم. با این حال ، اگر فقط می خواهید نتیجه برنامه نویسی را دریافت کنید ، نرم افزار GreenPAK را بارگیری کنید تا فایل طراحی GreenPAK را که قبلاً تکمیل شده است مشاهده کنید. کیت توسعه GreenPAK را به رایانه خود وصل کرده و برنامه را فشار دهید تا دیمر LED هوشمند کنترل شده از طریق بلوتوث ایجاد شود.
مرحله 1: ویژگی ها و رابط پروژه
ویژگی های پروژه:
1. دو روش کنترل ؛ برنامه تلفن همراه و دکمه های واقعی.
2. انتقال روشن و خاموش برای نور. این برای چشم مصرف کننده سالم تر است. همچنین احساس لوکس تری به شما می دهد ، که برای هتل ها و سایر صنایع خدمات جذاب است.
3. ویژگی حالت خواب. این یک ارزش افزوده برای این برنامه خواهد بود. هنگامی که کاربر این حالت را فعال می کند ، روشنایی نور به تدریج در 10 دقیقه کاهش می یابد. این به افرادی که از بی خوابی رنج می برند کمک می کند. همچنین برای اتاق خواب بچه ها و مغازه های خرده فروشی (زمان بسته شدن) مفید است.
رابط پروژه
رابط پروژه دارای چهار دکمه فشاری است که به عنوان ورودی GreenPAK استفاده می شوند:
روشن / خاموش: چراغ را روشن / خاموش (روشن شروع / توقف) کنید.
UP: افزایش سطح نور
پایین: کاهش سطح نور
حالت خواب: با فعال کردن حالت خواب ، روشنایی نور به تدریج در مدت 10 دقیقه کاهش می یابد. این به کاربر زمان قبل از خواب می دهد و تضمین می کند که چراغ در تمام طول شب روشن نخواهد ماند.
سیستم سیگنال PWM را ارسال می کند که به یک LED خارجی و نشانگر LED حالت خواب منتقل می شود.
طرح GreenPAK از 4 بلوک اصلی تشکیل شده است. اولین مورد یک گیرنده UART است که داده ها را از ماژول بلوتوث دریافت می کند ، سفارشات را استخراج می کند و به یک واحد کنترل ارسال می کند. بلوک دوم یک واحد کنترل است که سفارشاتی را از گیرنده UART یا از دکمه های خارجی دریافت می کند. واحد کنترل اقدامات مورد نیاز (روشن/خاموش ، افزایش ، کاهش ، فعال کردن حالت خواب) را تعیین می کند. این واحد با استفاده از LUT اجرا می شود.
بلوک سوم ژنراتورهای CLK را تأمین می کند. در این پروژه از شمارنده FSM برای کنترل PWM استفاده می شود. مقدار FSM با توجه به ترتیب داده شده توسط 3 فرکانس (بالا ، متوسط و پایین) تغییر می کند (بالا ، پایین). در این بخش سه فرکانس ایجاد می شود و CLK مورد نیاز به ترتیب مورد نیاز به FSM منتقل می شود. در روشن/خاموش کردن عملکرد ، فرکانس بالا به FSM منتقل می شود تا نرم شروع/توقف شود. در هنگام کاهش نور ، فرکانس متوسط عبور می کند. فرکانس پایین در حالت خواب منتقل می شود تا مقدار FSM کندتر کاهش یابد. سپس ، روشنایی نور نیز به آرامی کاهش می یابد. بلوک چهارم واحد PWM است که به LED های خارجی پالس تولید می کند.
مرحله 2: طراحی GreenPAK
بهترین راه برای ایجاد دیمر با استفاده از GreenPAK استفاده از FSM 8 بیتی و PWM است. در SLG46620 ، FSM1 شامل 8 بیت است و می تواند با PWM1 و PWM2 استفاده شود. ماژول بلوتوث باید متصل باشد ، به این معنی که باید از خروجی موازی SPI استفاده شود. بیتهای خروجی موازی SPI 0 تا 7 اتصال با DCMP1 ، DMCP2 ، و LF OSC CLK ، OUT1 ، OUT0 OSC خروجی ترکیب می شوند. PWM0 خروجی خود را از FSM0 (16 بیت) به دست می آورد. FSM0 در 255 متوقف نمی شود. تا 16383 افزایش می یابد. برای محدود کردن مقدار شمارنده در 8 بیت FSM دیگری اضافه می شود. FSM1 به عنوان اشاره گر برای اطلاع از زمان رسیدن شمارنده به 0 یا 255 استفاده می شود. FSM0 برای تولید پالس PWM استفاده شد. از آنجا که دو مقدار FSM باید همزمان تغییر داده شوند تا ارزش یکسانی داشته باشند ، طراحی کمی پیچیده می شود که در هر دو FSM یک CLK از پیش تعیین شده ، محدود و قابل انتخاب وجود دارد. CNT1 و CNT3 به عنوان واسطه برای انتقال CLK به هر دو FSM استفاده می شوند.
طراحی شامل بخشهای زیر است:
- گیرنده UART
- واحد کنترل
- ژنراتور CLK و مالتی پلکسر
- PWM
مرحله 3: گیرنده UART
ابتدا باید ماژول بلوتوث HC06 را راه اندازی کنیم. HC06 از پروتکل UART برای ارتباط استفاده می کند. UART مخفف عبارت Universal Asynchronous Receiver / Transmitter است. UART می تواند داده ها را بین فرمت های موازی و سریال به جلو و عقب تبدیل کند. این شامل یک گیرنده سریال به موازی و مبدل موازی به سریال است که هر دو به طور جداگانه زمان بندی می شوند. داده های دریافت شده در HC06 به دستگاه GreenPAK ما منتقل می شود. حالت بیکاری برای پین 10 HIGH است. هر کاراکتر ارسال شده با یک بیت شروع LOW منطقی شروع می شود ، به دنبال آن تعدادی بیت داده قابل تنظیم و یک یا چند بیت منطقی HIGH stop وجود دارد.
HC06 1 بیت استارت ، 8 بیت داده و یک بیت STOP ارسال می کند. نرخ باود پیش فرض آن 9600 است. ما بایت داده را از HC06 به بلوک SPI GreenPAK SLG46620V ارسال می کنیم.
از آنجا که بلوک SPI فاقد کنترل بیت START یا STOP است ، در عوض از این بیت ها برای فعال و غیرفعال کردن سیگنال ساعت SPI (SCLK) استفاده می شود. هنگامی که پین 10 پایین می آید ، IC یک بیت شروع دریافت کرده است ، بنابراین ما از آشکارساز لبه سقوط PDLY برای شناسایی شروع ارتباط استفاده می کنیم. آن آشکارساز لبه سقوط DFF0 می کند ، که سیگنال SCLK را قادر می سازد تا بلوک SPI را اندازه گیری کند.
نرخ باود ما 9600 بیت در ثانیه است ، بنابراین دوره SCLK ما باید 1/9600 = 104 میکرو ثانیه باشد. بنابراین ، ما فرکانس OSC را روی 2 مگاهرتز تنظیم کردیم و از CNT0 به عنوان تقسیم فرکانس استفاده کردیم.
2 مگاهرتز - 1 = 0.5 میکرومتر
(104 µs / 0.5 µs) - 1 = 207
بنابراین ، ما می خواهیم مقدار شمارنده CNT0 207 باشد. برای اطمینان از از دست ندادن داده ها ، یک تاخیر نیم ساعته روی ساعت SPI اضافه می شود تا بلوک SPI در زمان مناسب ساعت گیری شود. این کار با استفاده از CNT6 ، LUT1 2 بیتی و ساعت خارجی بلوک OSC انجام می شود. خروجی CNT6 تا 52 میکرومتر بعد از زمان گیری DFF0 زیاد نمی شود ، که دقیقاً نیمی از دوره SCLK ما از 104 میکرومتر است. هنگامی که بالا می رود ، دروازه 2 بیتی LUT1 AND اجازه می دهد تا سیگنال OSC 2 مگاهرتز به EXT منتقل شود. ورودی CLK0 که خروجی آن به CNT0 متصل است.
مرحله 4: واحد کنترل
در این بخش ، دستورات با توجه به بایت دریافتی از گیرنده UART یا با توجه به سیگنال های دکمه های خارجی اجرا می شوند. پین های 12 ، 13 ، 14 ، 15 به عنوان ورودی اولیه شده و به دکمه های خارجی متصل می شوند.
هر پین بصورت داخلی به ورودی OR متصل می شود ، در حالی که ورودی دوم گیت با سیگنال مربوطه که از طریق بلوتوث از تلفن هوشمند می آید متصل است که قرار است در خروجی موازی SPI ظاهر شود.
DFF6 برای فعال کردن حالت خواب استفاده می شود ، در حالی که خروجی آن با بالا آمدن لبه 2 بیتی LUT4 به بالا تغییر می کند ، در حالی که DFF10 برای حفظ وضعیت روشنایی استفاده می شود و خروجی آن از پایین به زیاد تغییر می کند و بالعکس با هر لبه بالا آمدن از خروجی LUT10 3 بیتی
FSM1 یک شمارنده 8 بیتی است. هنگامی که مقدار آن به 0 یا 255 برسد ، پالس بالایی روی خروجی خود می گذارد. در نتیجه ، از آن برای جلوگیری از تجاوز FSM0 (16 بیتی) به مقدار 255 استفاده می کند ، زیرا خروجی آن DFF ها را بازنشانی می کند و وضعیت DFF10 را از روشن به خاموش تغییر می دهد و برعکس اگر نور توسط دکمه های + کنترل می شود ، - و حداکثر/حداقل سطح رسیده است.
سیگنال های متصل به ورودی های FSM1 حفظ می شوند ، تا FSM0 تا P11 و P12 برای همگام سازی و حفظ مقدار یکسان در هر دو شمارنده ادامه می یابد.
مرحله 5: CLK Generators و Multiplexer
در این بخش ، سه فرکانس ایجاد می شود ، اما فقط یکی از آنها FSM ها را در هر زمان کلاک می کند. اولین فرکانس RC OSC است که از ماتریس 0 تا P0 واکشی می شود. فرکانس دوم LF OSC است که از ماتریس 0 تا P1 نیز دریافت می شود. فرکانس سوم خروجی CNT7 است.
با توجه به خروجی 3 بیتی LUT14 ، LUT9 3 بیتی و LUT11 3 بیتی اجازه عبور یک فرکانس را می دهند. پس از آن ، ساعت انتخاب شده از طریق CNT1 و CNT3 به FSM0 و FSM1 منتقل می شود.
مرحله 6: PWM
در نهایت ، مقدار FSM0 به سیگنال PWM تبدیل می شود تا از طریق پین 20 که به عنوان خروجی اولیه شده و به LED های خارجی متصل می شود ، ظاهر شود.
مرحله 7: برنامه Android
برنامه اندروید دارای رابط کنترل مجازی مشابه رابط کاربری واقعی است. دارای پنج دکمه ؛ روشن / خاموش ، بالا ، پایین ، حالت خواب و اتصال. این برنامه اندرویدی قادر است فشارهای دکمه را به فرمان تبدیل کند و دستورات را برای انجام به ماژول بلوتوث ارسال می کند.
این برنامه با MIT App Inventor ساخته شده است ، که نیازی به تجربه برنامه نویسی ندارد. App Inventor به توسعه دهنده اجازه می دهد تا با اتصال بلوک های برنامه نویسی ، برنامه ای را برای دستگاه های دارای سیستم عامل Android با استفاده از مرورگر وب ایجاد کند. با کلیک روی پروژه ها -> وارد کردن پروژه (.aia) از رایانه من ، و انتخاب فایل.aia موجود در این یادداشت برنامه ، می توانید برنامه ما را به مخترع برنامه MIT وارد کنید.
برای ایجاد برنامه Android یک پروژه جدید باید شروع شود. پنج دکمه مورد نیاز است: یکی انتخاب کننده لیست دستگاه های بلوتوث است و بقیه دکمه های کنترل هستند. ما باید یک مشتری بلوتوث را نیز اضافه کنیم. شکل 6 تصویری از رابط کاربری برنامه Android ما است.
پس از افزودن دکمه ها ، ما برای هر دکمه یک تابع نرم افزاری اختصاص می دهیم. ما قصد داریم از 4 بیت برای نشان دادن وضعیت دکمه ها استفاده کنیم. یک بیت برای هر دکمه ، بنابراین ، وقتی دکمه را فشار می دهید ، یک شماره خاص از طریق بلوتوث به مدار فیزیکی ارسال می شود.
این اعداد در جدول 1 نشان داده شده است.
نتیجه
این دستورالعمل یک دیمر هوشمند را توصیف می کند که می تواند به دو روش کنترل شود. یک برنامه Android و دکمه های واقعی. چهار بلوک جداگانه در GreenPAK SLG46620V مشخص شده است که جریان فرآیند را برای افزایش یا کاهش PWM نور کنترل می کند. علاوه بر این ، یک ویژگی حالت خواب به عنوان نمونه ای از مدولاسیون اضافی موجود برای برنامه مشخص شده است. مثال نشان داده شده ولتاژ پایین است ، اما می تواند برای پیاده سازی ولتاژهای بالاتر اصلاح شود.
توصیه شده:
کنترل Ws2812 Neopixel LED STRIP از طریق بلوتوث با استفاده از Arduino Uno: 4 مرحله
کنترل Ws2812 Neopixel LED STRIP از طریق بلوتوث با استفاده از Arduino Uno: سلام بچه ها در این دستورالعمل ها نحوه کنترل نئوپیکسل با آردوینو را یاد می گیریم. بنابراین اساساً آردوینو از طریق بلوتوث با استفاده از ماژول بلوتوث hc05 به تلفن هوشمند متصل می شود و تلفن هوشمند دستوراتی را برای تغییر رنگ نوار LED neopixel ارسال می کند
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 را با تلفن هوشمند خود کنترل کنید
کنترل اتومبیل آردوینو از طریق برنامه بلوتوث: 4 مرحله (همراه با تصاویر)
Arduino Car Controlled via Bluetooth: همه ما می دانیم که Arduino یک پلت فرم نمونه سازی عالی است ، عمدتا به این دلیل که از یک زبان برنامه نویسی دوستانه استفاده می کند و بسیاری از اجزای فوق العاده فوق العاده ای که تجربیات عالی را برای ما فراهم می کند ، وجود دارد. ما می توانیم Arduino را با یکدیگر ادغام کنیم
کنترل دستگاه ها از طریق اینترنت از طریق مرورگر (اینترنت اشیا): 6 مرحله
کنترل دستگاه ها از طریق اینترنت از طریق مرورگر (اینترنت اشیا): در این دستورالعمل به شما نشان خواهم داد که چگونه می توانید دستگاه هایی مانند LED ها ، رله ها ، موتورها و غیره را از طریق اینترنت از طریق مرورگر وب کنترل کنید. و می توانید به صورت ایمن روی هر دستگاهی به کنترل ها دسترسی پیدا کنید. پلت فرم وب مورد استفاده من در اینجا بازدید از RemoteMe.org است
اتوماسیون خانگی: سوئیچ اتوماتیک با کنترل کم نور از طریق بلوتوث با استفاده از Tiva TM4C123G: 7 مرحله
اتوماسیون خانگی: سوئیچ اتوماتیک با کنترل دیمر از طریق بلوتوث با استفاده از Tiva TM4C123G: امروزه ما کنترل های از راه دور برای تلویزیون ها و سایر سیستم های الکترونیکی خود داریم که زندگی ما را بسیار آسان کرده است. آیا تا به حال در مورد اتوماسیون خانگی فکر کرده اید که امکان کنترل چراغ های لوله ، فن ها و سایر تجهیزات