Мазмұны:

Bluetooth арқылы DIY басқару RGB LED түсі: 5 қадам
Bluetooth арқылы DIY басқару RGB LED түсі: 5 қадам

Бейне: Bluetooth арқылы DIY басқару RGB LED түсі: 5 қадам

Бейне: Bluetooth арқылы DIY басқару RGB LED түсі: 5 қадам
Бейне: Turn ON and OFF LED using mobile App using Bluetooth on ESP32 board 2024, Қараша
Anonim
Bluetooth арқылы DIY басқару RGB жарықдиодты түсі
Bluetooth арқылы DIY басқару RGB жарықдиодты түсі

Ақылды шамдар соңғы кездері танымал бола бастады және олар ақылды үй құралдарының негізгі бөлігіне айналуда. Ақылды шамдар пайдаланушыға смартфондағы арнайы қосымша арқылы жарықты басқаруға мүмкіндік береді; шамды қосуға және өшіруге болады, ал түсін интерфейстен өзгертуге болады. Бұл жобада біз Bluetooth арқылы мобильді қосымшаны қолмен басқаруға болатын ақылды лампа контроллерін құрдық. Бұл жобаға қосымша әсер ету үшін біз қолданушыға интерфейске енгізілген түстер тізімінен жарық түсі таңдауға мүмкіндік беретін кейбір мүмкіндіктерді қостық. Ол сонымен қатар әр жарты секунд сайын жарық әсерін өзгерту үшін «авто қоспаны» белсендіре алады. Пайдаланушы PWM мүмкіндігін қолдана отырып, өзінің түстер қоспасын жасай алады, оны үш негізгі түстерге (қызыл, жасыл, көк) диммер ретінде пайдалануға болады. Біз сондай -ақ қолданушы қолмен жұмыс режиміне ауысуы және сыртқы түйменің ашық түсін өзгертуі үшін схемаға сыртқы түймелерді қостық.

Бұл нұсқаулық екі бөлімнен тұрады; GreenPAK ™ дизайны мен Android қосымшасының дизайны. GreenPAK дизайны байланыс үшін UART интерфейсін қолдануға негізделген. UART Bluetooth модульдерінің көпшілігімен, сондай -ақ WIFI модульдері сияқты басқа да көптеген сыртқы құрылғылармен қолдау көрсетілетіндіктен таңдалады. Демек, GreenPAK дизайнын көптеген қосылым түрлерінде қолдануға болады.

Бұл жобаны құру үшін біз SLG46620 CMIC, Bluetooth модулі мен RGB жарықдиодты қолданамыз. GreenPAK IC бұл жобаның бақылау өзегі болады; ол Bluetooth модулінен және/немесе сыртқы түймелерден деректерді алады, содан кейін дұрыс жарықтандыруды көрсету үшін қажетті процедураны бастайды. Ол сондай -ақ PWM сигналын шығарады және оны жарық диодына шығарады. Төмендегі 1 -суретте блок -схема көрсетілген.

Бұл жобада қолданылатын GreenPAK құрылғысында SPI қосылу интерфейсі, PWM блоктары, FSM және басқа да көптеген қосымша қосымша блоктар бар. Ол сондай -ақ шағын көлемімен және энергияны аз тұтынумен сипатталады. Бұл өндірушілерге бірыңғай IC көмегімен шағын практикалық схеманы құруға мүмкіндік береді, осылайша ұқсас жүйелермен салыстырғанда өндіріс шығындары барынша азайтылады.

Бұл жобада біз бір RGB жарықдиодты басқарамыз. Жобаны коммерциялық тұрғыдан тиімді ету үшін жүйе көптеген жарықдиодты параллель қосу және тиісті транзисторларды қолдану арқылы жарықтық деңгейін жоғарылатуы қажет болар еді; қуат тізбегін де ескеру қажет.

Сіз GreenPAK чипі Bluetooth арқылы RGB жарықдиодты түстерді басқаруға қалай бағдарламаланғанын түсіну үшін барлық қадамдардан өтуге болады. Алайда, егер сіз барлық ішкі схеманы түсінбестен IC -ді оңай бағдарламалауды қаласаңыз, GreenPAK бағдарламалық жасақтамасын жүктеп алыңыз, қазірдің өзінде аяқталған GreenPAK дизайн файлын қараңыз. GreenPAK әзірлеу жинағын компьютерге қосыңыз және Bluetooth арқылы RGB жарықдиодты түстерді басқаратын арнайы IC құру үшін бағдарламаны басыңыз.

GreenPAK дизайны UART қабылдағышынан, PWM блогынан және төмендегі қадамдарда сипатталған басқару блогынан тұрады.

1 -қадам: UART қабылдағышы

UART қабылдағышы
UART қабылдағышы

Біріншіден, біз Bluetooth модулін орнатуымыз керек. Bluetooth IC -терінің көпшілігі байланыс үшін UART хаттамасын қолдайды. UART әмбебап асинхронды қабылдағыш / таратқышты білдіреді. UART деректерді параллель және сериялық форматтар арасында алға -артқа түрлендіре алады. Ол параллельді қабылдағыш пен параллельді түрлендіргішті қамтиды, олардың екеуі де бөлек.

Bluetooth модулінде алынған деректер GreenPAK құрылғысына жіберіледі. Pin10 жұмыссыз күйі ЖОҒАРЫ. Жіберілген әрбір таңба логикалық LOW бастау битінен басталады, содан кейін деректер битінің конфигурацияланатын саны мен бір немесе бірнеше логикалық HIGH stop биттерінен басталады.

UART таратқышы 1 START битін, 8 бит битін және бір STOP битін жібереді. Әдетте, UART Bluetooth модулінің әдепкі бойынша жіберу жылдамдығы 9600 құрайды. Біз Bluetooth IC -ден деректерді байтты GreenPAK ™ SLG46620 SPI блогына жібереміз.

GreenPAK SPI блогында START немесе STOP разрядты басқару жоқ болғандықтан, біз бұл биттерді SPI сағаттық сигналын (SCLK) қосу және ажырату үшін қолданамыз. Pin10 LOW төмен болғанда, біз START битін алғанымызды білеміз, сондықтан байланыс басталуын анықтау үшін PDLY құлап кететін детекторды қолданамыз. Бұл құлайтын жиектің детекторы SCLK сигналына SPI блогын бақылауға мүмкіндік беретін DFF0 сағаттарын береді.

Біздің жіберу жылдамдығымыз секундына 9600 бит, сондықтан біздің SCLK кезеңі 1/9600 = 104 мкс болуы керек. Сондықтан біз OSC жиілігін 2 МГц -ке қойдық және жиілікті бөлгіш ретінде CNT0 қолдандық.

2 МГц-1 = 0,5 мкс

(104 мкс / 0,5 мкс) - 1 = 207

Сондықтан біз CNT0 есептегішінің мәні 207 болғанын қалаймыз. Ешқандай деректерді жіберіп алмау үшін SPI сағатын уақытында жарты сағатқа кешіктіру керек, осылайша SPI блогы өз уақытында реттеледі. Біз мұны CNT6, 2-разрядты LUT1 және OSC блогының сыртқы сағаты арқылы жасадық. CNT6 шығысы DFF0 сағаты орнатылғаннан кейін 52 мкс дейін жоғары болмайды, бұл біздің 104 мкл SCLK кезеңінің жартысы. CNT6 жоғары болғанда 2-разрядты LUT1 AND қақпасы 2 МГц OSC сигналының EXT-ке өтуіне мүмкіндік береді. CLK0 кірісі, оның шығысы CNT0 қосылған.

2 -қадам: PWM бірлігі

PWM бірлігі
PWM бірлігі

PWM сигналы PWM0 және соған байланысты импульстік генератор (CNT8/DLY8) көмегімен жасалады. Импульстің ені пайдаланушының бақылауында болғандықтан, біз пайдаланушы деректерін санау үшін FSM0 (оны PWM0-ге қосуға болады) қолданамыз.

SLG46620-де 8-разрядты FSM1 PWM1 және PWM2 көмегімен қолданыла алады. Bluetooth модулі қосылуы керек, яғни SPI параллель шығысы қолданылуы керек. 0 -ден 7 -ге дейінгі SPI параллель шығыс биттері DCMP1, DMCP2 және LF OSC CLK OUT1 және OUT0 -мен араласады. PWM0 өзінің шығуын 16 биттік FSM0-ден алады. Бұл өзгеріссіз қалдырылса, импульстің ені шамадан тыс жүктеледі. Есептегіш мәнін 8 битке шектеу үшін басқа FSM қосылады; Есептегіш 0 -ге немесе 255 -ке жеткенде FSM1 көрсеткіш ретінде пайдаланылады. FSM0 PWM импульсін генерациялау үшін қолданылады. FSM0 және FSM1 синхрондалуы керек. Екі FSM де алдын ала орнатылған сағат опциялары болғандықтан, CNT1 мен CNT3 CLK -ті екі FSM -ге беру үшін делдал ретінде қолданылады. Екі есептегіш бірдей нұсқада орнатылған, бұл 25 нұсқаулық үшін. Біз PWM мәнінің өзгеру жылдамдығын осы есептегіш мәндерді өзгерту арқылы өзгерте аламыз.

FSM-дің мәні SPI параллельді шығудан шығатын '+' және '-' сигналдарымен жоғарылайды және азаяды.

3 -қадам: басқару блогы

Басқару блогы
Басқару блогы

Басқару блогының ішінде алынған байт Bluetooth модулінен SPI параллель шығысына алынады, содан кейін олар байланысты функцияларға беріледі. Алдымен PWM CS1 мен PWM CS2 шығыстары PWM үлгісі қосылғанын немесе қосылмағанын тексеру үшін тексеріледі. Егер ол іске қосылған болса, ол LUT4, LUT6 және LUT7 арқылы PWM шығатын арнаны анықтайды.

LUT9, LUT11 және LUT14 басқа екі жарық диодтың күйін тексеруге жауап береді. LUT10, LUT12 және LUT13 «Manual» түймесінің қосылғанын немесе қосылмағанын тексереді. Егер Manual режимі белсенді болса, онда RGB шығысы D0, D1, D2 шығыс күйлеріне сәйкес жұмыс істейді, олар Color түймешігі басылған сайын өзгереді. Ол CNT9 -дан шығатын жиектің жоғарылауымен өзгереді, ол көтерілетін жиектің дебюторы ретінде қолданылады.

PIN 20 кіріс ретінде конфигурацияланған және қолмен және Bluetooth басқару арасында ауысу үшін қолданылады.

Егер Manual режимі өшірілсе және Auto mixer режимі қосулы болса, түс 500NT сайын өзгереді, оның жиегі CNT7 -ден келеді. D0 D1 D2 үшін '000' күйінің алдын алу үшін 4-разрядты LUT1 қолданылады, себебі бұл күй автоматты араластырғыш режимінде жарықтың өшуіне әкеледі.

Егер Қол режимі, PWM режимі және Авто араластырғыш режимі қосылмаса, онда SPI қызыл, жасыл және көк командалары шығыс ретінде конфигурацияланған және сыртқы RGB жарықдиодты шамына қосылған 12, 13 және 14 түйреуіштерге түседі.

DFF1, DFF2 және DFF3 3-биттік екілік санауышты құру үшін қолданылады. Есептегіш мәні автоматты араластырғыш режимінде P14 арқылы өтетін CNT7 импульстерімен немесе қолмен режимде Түс түймесінен (PIN3) келетін сигналдар арқылы артады.

4 -қадам: Android қосымшасы

Android қосымшасы
Android қосымшасы
Android қосымшасы
Android қосымшасы
Android қосымшасы
Android қосымшасы
Android қосымшасы
Android қосымшасы

Бұл бөлімде біз пайдаланушының басқару таңдауын бақылайтын және көрсететін Android қосымшасын құрамыз. Интерфейс екі бөлімнен тұрады: бірінші бөлімде түстері алдын ала анықталған түймелер жиынтығы бар, сондықтан осы батырмалардың кез келгені басылған кезде сәйкес түсті түсті жарық диоды жанады. Екінші бөлім (MIX шаршы) пайдаланушы үшін аралас түсті жасайды.

Бірінші бөлімде пайдаланушы PWM сигналының өтуін қалайтын жарықдиодты түйреуішті таңдайды; PWM сигналы бір уақытта тек бір істікке берілуі мүмкін. Төменгі тізім PWM режимінде логикалық қосылу/өшірудің қалған екі түсін басқарады.

Автоматты араластырғыш түймесі жарықтың әр жарты секунд сайын өзгеретін автоматты жарықты өзгертуге жауап береді. MIX бөлімінде екі құсбелгі тізімі бар, сондықтан пайдаланушы екі түсті біріктіруді шеше алады.

Біз қосымшаны MIT қосымшасын ойлап табушылардың веб -сайтын пайдаланып құрдық. Бұл графикалық бағдарламалық блоктарды қолдана отырып, алдын ала бағдарламалық жасақтамасыз Android қосымшаларын құруға мүмкіндік беретін сайт.

Алдымен біз графикалық интерфейсті алдын ала анықталған түстерді бейнелеуге жауап беретін түймелер жиынтығын қосу арқылы құрдық, сонымен қатар біз екі құсбелгі тізімін қостық және әр тізімде 3 элемент бар; әрбір элемент 5 -суретте көрсетілгендей жеке қорапта көрсетілген.

Қолданушы интерфейсіндегі түймелер бағдарламалық қамтамасыз ету командаларына байланысты: қолданба Bluetooth арқылы жіберетін барлық командалар байт форматында болады және әрбір бит белгілі бір функцияға жауап береді. 1 -кестеде GreenPAK -қа жіберілген командалық кадрлардың формасы көрсетілген.

Алғашқы үш бит, B0, B1 және B2, RGB светодиодтарының күйін алдын ала анықталған түстердің түймелері арқылы тікелей басқару режимінде ұстайды. Осылайша, олардың кез келгенін басқанда, 2 -кестеде көрсетілгендей түйменің сәйкес мәні жіберіледі.

B3 және B4 биттері импульстің енін ұлғайту мен азайтуға жауап беретін '+' және '-' командаларын ұстайды. Түйме басылғанда бит мәні 1 болады, ал түйме босатылғанда бит мәні 0 болады.

B5 және B6 биттері PWM сигналы өтетін түйреуішті (түсті) таңдауға жауапты: бұл разрядтардың түс белгілері 3 -кестеде көрсетілген. Соңғы разряд B7 авто араластырғышты қосуға жауап береді.

6 -сурет пен 7 -суретте алдыңғы мәндерді жіберуге жауапты бағдарламалау блоктарымен түймелерді байланыстыру процесі көрсетілген.

Бағдарламаның толық дизайнын көру үшін сіз «.aia» файлын жоба файлдарымен жүктеп алып, оны негізгі сайтта ашуға болады.

Төмендегі 8 -суретте жоғарғы деңгейдегі схема көрсетілген.

5 -қадам: Нәтижелер

Контроллер сәтті сыналды және түстердің араласуы басқа мүмкіндіктермен бірге сәйкес жұмыс істейтінін көрсетті.

Қорытынды

Бұл нұсқаулықта Android қосымшасы арқылы сымсыз басқарылатын ақылды шамдар тізбегі құрылды. Бұл жобада қолданылған GreenPAK CMIC сонымен қатар жарықты басқарудың бірнеше маңызды компоненттерін қысқартуға және ендіруге көмектесті.

Ұсынылған: