Mündəricat:

Bluetooth ilə DIY Nəzarət RGB LED Rəngi: 5 addım
Bluetooth ilə DIY Nəzarət RGB LED Rəngi: 5 addım

Video: Bluetooth ilə DIY Nəzarət RGB LED Rəngi: 5 addım

Video: Bluetooth ilə DIY Nəzarət RGB LED Rəngi: 5 addım
Video: 6$ Bluetooth ilə ünvanlanan LED-lərdə ağıllı çələng: ucuz, lakin təəccüblü dərəcədə funksionaldır 2024, Iyul
Anonim
Bluetooth vasitəsilə DIY Nəzarət RGB LED Rəngi
Bluetooth vasitəsilə DIY Nəzarət RGB LED Rəngi

Ağıllı lampalar son zamanlar populyarlıq qazanır və davamlı olaraq ağıllı ev alətlər dəstinin əsas hissəsinə çevrilir. Ağıllı ampüller, istifadəçinin ağıllı telefonundakı xüsusi bir tətbiq vasitəsilə işığını idarə etməsinə imkan verir; ampul açıla və söndürülə bilər və tətbiq interfeysindən rəng dəyişdirilə bilər. Bu layihədə, Bluetooth vasitəsilə əl düyməsindən və ya mobil tətbiqdən idarə oluna bilən ağıllı bir ampul nəzarətçi qurduq. Bu layihəyə bir az əlavə etmək üçün istifadəçinin tətbiq interfeysinə daxil olan rənglər siyahısından işıq rəngini seçməsinə imkan verən bəzi xüsusiyyətlər əlavə etdik. Rəng effektləri yaratmaq və işıqlandırmanı hər yarım saniyədə dəyişdirmək üçün "avtomatik qarışığı" da aktivləşdirə bilər. İstifadəçi, üç əsas rəng (qırmızı, yaşıl, mavi) üçün dimmer olaraq da istifadə edilə bilən PWM xüsusiyyətindən istifadə edərək öz rəng qarışığını yarada bilər. İstifadənin əl rejiminə keçməsi və xarici düymədən açıq rəngini dəyişməsi üçün dövrə xarici düymələr də əlavə etdik.

Bu Təlimat iki hissədən ibarətdir; GreenPAK ™ dizaynı və Android tətbiq dizaynı. GreenPAK dizaynı, ünsiyyət üçün UART interfeysindən istifadə etməyə əsaslanır. UART, əksər Bluetooth modulları, eləcə də WIFI modulları kimi digər ətraf qurğular tərəfindən dəstəkləndiyi üçün seçilir. Nəticədə, GreenPAK dizaynı bir çox əlaqə növündə istifadə edilə bilər.

Bu layihəni qurmaq üçün SLG46620 CMIC, Bluetooth modulu və RGB LED istifadə edəcəyik. GreenPAK IC bu layihənin nəzarət nüvəsi olacaq; Bluetooth modulundan və/və ya xarici düymələrdən məlumat alır, sonra düzgün işıqlandırmanı göstərmək üçün lazım olan prosedura başlayır. Həm də PWM siqnalını yaradır və LED -ə çıxarır. Aşağıdakı Şəkil 1 blok diaqramını göstərir.

Bu layihədə istifadə edilən GreenPAK cihazı, bir IC -də SPI əlaqə interfeysi, PWM blokları, FSM və bir çox digər faydalı əlavə blokları ehtiva edir. Kiçik ölçüsü və aşağı enerji istehlakı ilə də xarakterizə olunur. Bu, istehsalçılara tək bir IC istifadə edərək kiçik bir praktiki dövrə qurmağa imkan verəcək, buna görə də oxşar sistemlərlə müqayisədə istehsal xərcləri minimuma endiriləcəkdir.

Bu layihədə bir RGB LED -ə nəzarət edirik. Layihəni kommersiya baxımından mümkün etmək üçün bir sistemin çoxlu LED -ləri paralel bağlayaraq və uyğun tranzistorlardan istifadə edərək parlaqlıq səviyyəsini artırması lazımdır; güc dövrəsi də nəzərə alınmalıdır.

GreenPAK çipinin RGB LED Rəngini Bluetooth vasitəsilə idarə etmək üçün necə proqramlaşdırıldığını anlamaq üçün bütün addımlardan keçə bilərsiniz. Ancaq bütün daxili dövrəni başa düşmədən IC -ni asanlıqla proqramlaşdırmaq istəyirsinizsə, artıq tamamlanmış GreenPAK Dizayn Faylına baxmaq üçün GreenPAK proqramını yükləyin. GreenPAK İnkişaf Kitini kompüterinizə qoşun və Bluetooth vasitəsilə RGB LED Rəngini idarə etmək üçün xüsusi IC yaratmaq üçün proqramı vurun.

GreenPAK dizaynı, UART alıcısı, PWM vahidi və aşağıdakı addımlarda təsvir olunan idarəetmə blokundan ibarətdir.

Addım 1: UART Alıcısı

UART qəbuledicisi
UART qəbuledicisi

Əvvəlcə Bluetooth modulunu qurmalıyıq. Bluetooth IC -lərinin əksəriyyəti ünsiyyət üçün UART protokolunu dəstəkləyir. UART Universal Asenkron Alıcı / Verici deməkdir. UART, məlumatları paralel və serial formatları arasında irəli və geri çevirə bilər. Paralel paralel alıcı və paralel serial çeviricini ehtiva edir, hər ikisi də ayrıca saatlanır.

Bluetooth modulunda alınan məlumatlar GreenPAK cihazımıza ötürüləcək. Pin10 üçün boş vəziyyət YÜKSƏKdir. Göndərilən hər bir simvol LOW başlanğıc biti ilə başlayır, sonra konfiqurasiya edilə bilən məlumat sayı və bir və ya daha çox məntiq HIGH stop biti ilə başlayır.

UART ötürücü 1 START bit, 8 məlumat biti və bir STOP bit göndərir. Ümumiyyətlə, UART Bluetooth modulu üçün standart baud dərəcəsi 9600 -dir. Məlumat baytını Bluetooth IC -dən GreenPAK ™ SLG46620 -nin SPI blokuna göndərəcəyik.

GreenPAK SPI blokunun START və ya STOP bit nəzarətinə malik olmadığı üçün SPI saat siqnalını (SCLK) aktiv etmək və söndürmək üçün bu bitləri istifadə edəcəyik. Pin10 LOW aşağı düşdükdə, bir START bit aldığımızı bilirik, buna görə ünsiyyətin başlanğıcını təyin etmək üçün PDLY düşən kənar detektorundan istifadə edirik. Düşən kənar detektoru, SCLK siqnalının SPI blokunu izləməsinə imkan verən DFF0 saatıdır.

Baud sürətimiz saniyədə 9600 bitdir, buna görə SCLK müddətimizin 1/9600 = 104 μs olması lazımdır. Buna görə OSC tezliyini 2MHz olaraq təyin etdik və CNT0 -ni tezlik bölücü olaraq istifadə etdik.

2 MHz-1 = 0.5 μs

(104 μs / 0.5 μs) - 1 = 207

Buna görə də, CNT0 sayğacının dəyərinin 207 olmasını istəyirik. Heç bir məlumatı qaçırmamağımızı təmin etmək üçün SPI blokunun lazımi vaxtda işlənməsi üçün SPI saatını yarım saat dövrü ilə gecikdirməliyik. Bunu CNT6, 2-bit LUT1 və OSC blokunun Xarici Saatı istifadə edərək həyata keçirdik. CNT6 -nın çıxışı DFF0 saatlanandan sonra 52 μs qədər yüksəlmir, bu da 104 μs SCLK dövrünün yarısıdır. CNT6 yüksək olduqda 2-bit LUT1 AND qapısı 2MHz OSC siqnalının EXT-ə keçməsinə imkan verir. Çıxışı CNT0 ilə əlaqəli olan CLK0 girişi.

Addım 2: PWM vahidi

PWM vahidi
PWM vahidi

PWM siqnalı PWM0 və əlaqəli bir saat nəbz generatoru (CNT8/DLY8) istifadə edərək yaradılır. Pulse genişliyi istifadəçi tərəfindən idarə oluna bildiyindən istifadəçi məlumatlarını saymaq üçün FSM0 (PWM0-a qoşula bilər) istifadə edirik.

SLG46620-də 8 bitlik FSM1 PWM1 və PWM2 ilə istifadə edilə bilər. Bluetooth modulu bağlanmalıdır, yəni SPI paralel çıxışı istifadə edilməlidir. 0 ilə 7 arasındakı SPI paralel çıxış bitləri DCMP1, DMCP2 və LF OSC CLK -nın OUT1 və OUT0 ilə qarışdırılır. PWM0, 16 bitlik FSM0-dan çıxış əldə edir. Dəyişdirilməməsi pulse genişliyinin həddindən artıq yüklənməsinə səbəb olur. Sayaç dəyərini 8 bit olaraq məhdudlaşdırmaq üçün başqa bir FSM əlavə olunur; FSM1, sayğacın 0 və ya 255 -ə çatdığını bilmək üçün bir göstərici olaraq istifadə olunur. FSM0, PWM nəbzini yaratmaq üçün istifadə olunur. FSM0 və FSM1 sinxronizasiya edilməlidir. Hər iki FSM -də əvvəlcədən təyin edilmiş saat seçimləri olduğundan, CLK -nı hər iki FSM -ə ötürmək üçün vasitəçi olaraq CNT1 və CNT3 istifadə olunur. İki sayğac eyni qiymətə qoyulur, bu göstəriş üçün 25 -dir. Bu sayğac dəyərlərini dəyişdirərək PWM dəyərinin dəyişmə sürətini dəyişə bilərik.

FSM-lərin dəyəri SPI Paralel Çıxışından qaynaqlanan '+' və '-' siqnalları ilə artır və azalır.

Addım 3: Nəzarət vahidi

İdarə etmə modulu
İdarə etmə modulu

İdarəetmə blokunun daxilində alınan bayt Bluetooth modulundan SPI Paralel Çıxışına aparılır və sonra əlaqəli funksiyalara ötürülür. Əvvəlcə PWM CS1 və PWM CS2 çıxışları PWM modelinin aktiv olub olmadığını yoxlamaq üçün yoxlanılacaq. Aktivləşdirilərsə, LUT4, LUT6 və LUT7 vasitəsilə PWM -in hansı kanaldan çıxacağını təyin edəcək.

LUT9, LUT11 və LUT14 digər iki LED -in vəziyyətini yoxlamaqdan məsuldur. LUT10, LUT12 və LUT13, Manual düyməsinin aktiv olub -olmadığını yoxlayır. Manuel rejim aktivdirsə, RGB çıxışları D0, D1, D2 çıxış vəziyyətlərinə uyğun olaraq işləyir və hər dəfə Rəng düyməsinə basıldıqda dəyişdirilir. Yüksələn bir kənar debuner kimi istifadə olunan CNT9 -dan gələn yüksələn kənar ilə dəyişir.

Pin 20 giriş olaraq konfiqurasiya edilir və Manual və Bluetooth nəzarət arasında keçid üçün istifadə olunur.

Manuel rejim söndürüldükdə və Avtomatik qarışdırıcı rejimi aktiv edildikdə, rəng CNT7 -dən gələn yüksələn kənar ilə hər 500 ms -də dəyişir. D0 D1 D2 üçün '000' vəziyyətinin qarşısını almaq üçün 4 bit LUT1 istifadə olunur, çünki bu vəziyyət avtomatik qarışdırıcı rejimində işığın sönməsinə səbəb olur.

Manuel rejim, PWM rejimi və Avtomatik qarışdırıcı rejimi aktiv deyilsə, qırmızı, yaşıl və mavi SPI əmrləri çıxış olaraq konfiqurasiya edilmiş və xarici RGB LED -ə qoşulmuş 12, 13 və 14 pinlərinə axır.

DFF1, DFF2 və DFF3 3 bitlik ikili sayğac qurmaq üçün istifadə olunur. Sayaç dəyəri, avtomatik qarışdırıcı rejimində P14 -dən keçən CNT7 pulsları və ya əl rejimində Rəng düyməsindən (PIN3) gələn siqnallarla artır.

Addım 4: Android tətbiqi

Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi

Bu bölmədə, istifadəçinin nəzarət seçimlərini izləyəcək və göstərəcək bir Android tətbiqi quracağıq. İnterfeys iki hissədən ibarətdir: birinci hissədə əvvəlcədən təyin edilmiş rəngləri olan bir sıra düymələr var ki, bu düymələrdən hər hansı birinə basıldıqda eyni rəngli bir LED yanar. İkinci hissə (MIX kvadrat) istifadəçi üçün qarışıq rəng yaradır.

Birinci hissədə istifadəçi, PWM siqnalının keçməsini istədiyi LED pinini seçir; PWM siqnalı bir anda yalnız bir pinə ötürülə bilər. Aşağı siyahı, PWM rejimi zamanı digər iki rəngi məntiqi olaraq açıb -söndürməyi idarə edir.

Avtomatik qarışdırıcı düyməsi, işığın hər yarım saniyədə bir dəyişəcəyi avtomatik işıq dəyişdirmə modelini işə salmaqdan məsuldur. MIX bölməsində iki onay qutusu siyahısı var ki, istifadəçi hansı iki rəngin bir -birinə qarışacağına qərar verə bilər.

Tətbiqi MIT tətbiq ixtiraçısı veb saytından istifadə edərək qurduq. Qrafik proqram bloklarından istifadə edərək əvvəlcədən proqram təcrübəsi olmadan Android tətbiqetmələri qurmağa imkan verən bir saytdır.

Əvvəlcə əvvəlcədən təyin edilmiş rənglərin göstərilməsindən məsul olan bir sıra düymələr əlavə edərək qrafik bir interfeys hazırladıq, iki onay qutusu siyahısını da əlavə etdik və hər siyahıda 3 element var; hər bir element Şəkil 5 -də göstərildiyi kimi fərdi qutusunda təsvir edilmişdir.

İstifadəçi interfeysindəki düymələr proqram əmrləri ilə əlaqələndirilir: tətbiqin Bluetooth vasitəsilə göndərəcəyi bütün əmrlər bayt formatında olacaq və hər bir bit müəyyən bir funksiyadan məsuldur. Cədvəl 1 GreenPAK -a göndərilən əmr çərçivələrinin formasını göstərir.

İlk üç bit, B0, B1 və B2, RGB LED -lərinin vəziyyətini əvvəlcədən təyin edilmiş rənglərin düymələri ilə birbaşa idarəetmə rejimində saxlayacaq. Beləliklə, onlardan hər hansı birini tıkladığınızda, Cədvəl 2 -də göstərildiyi kimi düymənin müvafiq dəyəri göndəriləcək.

B3 və B4 bitləri nəbz genişliyini artırmaq və azaltmaqdan məsul olan '+' və '-' əmrlərini saxlayır. Düymə basıldığında bit dəyəri 1, düymə buraxıldıqda isə bit dəyəri 0 olacaq.

B5 və B6 bitləri, PWM siqnalının keçəcəyi pimi (rəng) seçməkdən məsuldur: bu bitlərin rəng təyinatları cədvəl 3 -də göstərilmişdir. Son bit, B7, avtomatik qarışdırıcının aktivləşdirilməsindən məsuldur.

Şəkil 6 və Şəkil 7, əvvəlki dəyərlərin göndərilməsindən məsul olan proqramlaşdırma blokları ilə düymələrin əlaqələndirilməsi prosesini göstərir.

Tətbiqin tam dizaynını izləmək üçün əlavə edilmiş ".aia" faylını layihə sənədləri ilə birlikdə yükləyə və əsas saytda aça bilərsiniz.

Aşağıdakı Şəkil 8, üst səviyyə dövrə diaqramını göstərir.

Addım 5: Nəticələr

Nəzarətçi uğurla sınaqdan keçirildi və rəng qarışığı digər xüsusiyyətlərlə birlikdə uyğun işlədiyi göstərildi.

Nəticə

Bu Təlimatlandırmada, bir Android tətbiqi ilə kabelsiz idarə olunmaq üçün ağıllı bir lampa dövrə quruldu. Bu layihədə istifadə olunan GreenPAK CMIC, işığın idarə edilməsi üçün bir neçə vacib komponenti qısaltmağa və kiçik bir IC -yə yerləşdirməyə kömək etdi.

Tövsiyə: