Përmbajtje:

Kontrolli DIY RGB LED Ngjyra përmes Bluetooth: 5 hapa
Kontrolli DIY RGB LED Ngjyra përmes Bluetooth: 5 hapa

Video: Kontrolli DIY RGB LED Ngjyra përmes Bluetooth: 5 hapa

Video: Kontrolli DIY RGB LED Ngjyra përmes Bluetooth: 5 hapa
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Korrik
Anonim
Kontrolli DIY RGB Ngjyra LED përmes Bluetooth
Kontrolli DIY RGB Ngjyra LED përmes Bluetooth

Llambat inteligjente janë rritur në popullaritet kohët e fundit dhe po bëhen vazhdimisht një pjesë kryesore e kutisë së veglave të shtëpisë së zgjuar. Llambat inteligjente i mundësojnë përdoruesit të kontrollojë dritën e tij përmes një aplikacioni të veçantë në telefonin inteligjent të përdoruesit; llamba mund të ndizet dhe fiket dhe ngjyra mund të ndryshohet nga ndërfaqja e aplikacionit. Në këtë projekt, ne ndërtuam një kontrollues të zgjuar të llambave që mund të kontrollohet nga një buton manual ose një aplikacion celular përmes Bluetooth. Për të shtuar njëfarë dhuntie në këtë projekt ne kemi shtuar disa veçori të cilat i lejojnë përdoruesit të zgjedhë një ngjyrë ndriçimi nga lista e ngjyrave të përfshira në ndërfaqen e aplikacionit. Mund të aktivizojë gjithashtu një "përzierje automatike" për të gjeneruar efekte ngjyrash dhe për të ndryshuar ndriçimin çdo gjysmë sekonde. Përdoruesi mund të krijojë përzierjen e vet të ngjyrave duke përdorur një veçori PWM e cila gjithashtu mund të përdoret si një zbehëse për tre ngjyrat bazë (të kuqe, jeshile, blu). Ne gjithashtu shtuam butona të jashtëm në qark në mënyrë që përdoruesi të kalojë në modalitetin manual dhe të ndryshojë ngjyrën e dritës nga një buton i jashtëm.

Ky udhëzues përbëhet nga dy seksione; dizajni i GreenPAK and dhe dizajni i aplikacionit Android. Dizajni i GreenPAK bazohet në përdorimin e një ndërfaqe UART për komunikim. UART zgjidhet sepse mbështetet nga shumica e moduleve Bluetooth, si dhe shumica e pajisjeve të tjera periferike, siç janë modulet WIFI. Rrjedhimisht, dizajni GreenPAK mund të përdoret në shumë lloje lidhjesh.

Për të ndërtuar këtë projekt, ne do të përdorim SLG46620 CMIC, një modul Bluetooth dhe një LED RGB. IC GreenPAK do të jetë thelbi i kontrollit të këtij projekti; merr të dhëna nga një modul Bluetooth dhe/ose butona të jashtëm, pastaj fillon procedura e kërkuar për të shfaqur ndriçimin e duhur. Ai gjithashtu gjeneron sinjalin PWM dhe e nxjerr atë në LED. Figura 1 më poshtë tregon bllok -diagramin.

Pajisja GreenPAK e përdorur në këtë projekt përmban një ndërfaqe lidhje SPI, blloqe PWM, FSM dhe shumë blloqe të tjera të dobishme shtesë në një IC. Karakterizohet gjithashtu nga madhësia e tij e vogël dhe konsumi i ulët i energjisë. Kjo do t'u mundësojë prodhuesve të ndërtojnë një qark të vogël praktik duke përdorur një IC të vetëm, kështu që kostot e prodhimit do të minimizohen kur krahasohen me sisteme të ngjashme.

Në këtë projekt, ne kontrollojmë një LED RGB. Për ta bërë projektin të zbatueshëm komercialisht, një sistemi ka të ngjarë të ketë nevojë të rrisë nivelin e ndriçimit duke lidhur paralelisht shumë LED dhe duke përdorur transistorët e duhur; qarku i energjisë gjithashtu duhet të merret parasysh.

Ju mund të kaloni të gjitha hapat për të kuptuar se si çipi GreenPAK është programuar për të kontrolluar RGB LED Color përmes Bluetooth. Sidoqoftë, nëse thjesht dëshironi të programoni me lehtësi IC pa kuptuar të gjithë qarkun e brendshëm, shkarkoni softuerin GreenPAK për të parë skedarin e projektuar tashmë të kompletuar të GreenPAK. Lidheni GreenPAK Development Kit me kompjuterin tuaj dhe goditni programin për të krijuar IC të personalizuar për të kontrolluar RGB LED Color nëpërmjet Bluetooth.

Dizajni GreenPAK përbëhet nga marrësi UART, njësia PWM dhe njësia e kontrollit e përshkruar në hapat e mëposhtëm.

Hapi 1: Marrësi UART

Marrësi UART
Marrësi UART

Së pari, duhet të vendosim modulin Bluetooth. Shumica e IC -ve Bluetooth mbështesin protokollin UART për komunikim. UART qëndron për Marrës / Transmetues Universal Asinkron. UART mund të konvertojë të dhënat para dhe mbrapa midis formateve paralele dhe seriale. Ai përfshin një marrës serial në paralel dhe një konvertues paralel në serial të cilët të dy janë të renditur veçmas.

Të dhënat e marra në modulin Bluetooth do të transmetohen në pajisjen tonë GreenPAK. Gjendja boshe për Pin10 është LART. Çdo karakter i dërguar fillon me një bit logjik të fillimit LOW, i ndjekur nga një numër i konfigurueshëm i bitëve të të dhënave dhe një ose më shumë bit logjikë të ndaluar HIGH.

Transmetuesi UART dërgon 1 bit START, 8 bit të dhënash dhe një bit STOP. Zakonisht, norma e paracaktuar e baudit për një modul UART Bluetooth është 9600. Ne do t'i dërgojmë bajtin e të dhënave nga IC Bluetooth në bllokun SPI të GreenPAK ™ SLG46620.

Meqenëse blloku GreenPAK SPI nuk ka kontroll biti START ose STOP, ne do t'i përdorim ato bit në vend që të aktivizojmë dhe çaktivizojmë sinjalin e orës SPI (SCLK). Kur Pin10 shkon poshtë, ne e dimë që kemi marrë një bit START, kështu që ne përdorim detektorin e skajit të rënies PDLY për të identifikuar fillimin e komunikimit. Ai detektor i skajit në rënie bën orë DFF0, e cila mundëson që sinjali SCLK të shënojë bllokun SPI.

Shkalla jonë e baudit është 9600 bit për sekondë, kështu që periudha jonë SCLK duhet të jetë 1/9600 = 104 μs. Prandaj, ne vendosëm frekuencën OSC në 2MHz dhe përdorëm CNT0 si një ndarës të frekuencës.

2 MHz-1 = 0.5 μs

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

Prandaj, ne duam që vlera e numëruesit CNT0 të jetë 207. Për të siguruar që ne të mos humbasim asnjë të dhënë, ne duhet të vonojmë orën SPI me gjysmë cikli sahati në mënyrë që blloku SPI të jetë i caktuar në kohën e duhur. Ne e arritëm këtë duke përdorur CNT6, LUT1 2-bit dhe Ora e Jashtme e bllokut OSC. Prodhimi i CNT6 nuk shkon i lartë deri në 52 μs pasi të përcaktohet DFF0, që është gjysma e periudhës sonë 104 μs SCLK. Kur CNT6 është e lartë, porta 2-bit LUT1 AND lejon që sinjali OSC 2MHz të kalojë në EXT. Hyrja CLK0, dalja e së cilës është e lidhur me CNT0.

Hapi 2: Njësia PWM

Njësia PWM
Njësia PWM

Sinjali PWM gjenerohet duke përdorur PWM0 dhe një gjenerator të impulsit të orës (CNT8/DLY8). Meqenëse gjerësia e pulsit është e kontrollueshme nga përdoruesi, ne përdorim FSM0 (i cili mund të lidhet me PWM0) për të numëruar të dhënat e përdoruesit.

Në SLG46620, FSM1 8-bit mund të përdoret me PWM1 dhe PWM2. Moduli Bluetooth duhet të jetë i lidhur, që do të thotë se duhet të përdoret dalja paralele SPI. Bitet e daljes paralele SPI 0 deri në 7 përzihen me DCMP1, DMCP2 dhe OUT1 dhe OUT0 të LF OSC CLK. PWM0 e merr daljen nga FSM0 16-bit. E lënë e pandryshuar kjo shkakton mbingarkesë të gjerësisë së impulsit. Për të kufizuar vlerën e kundërt në 8 bit shtohet një FSM tjetër; FSM1 përdoret si një tregues për të ditur kur numëruesi arrin 0 ose 255. FSM0 përdoret për të gjeneruar pulsin PWM. FSM0 dhe FSM1 duhet të sinkronizohen. Meqenëse të dy FSM -të kanë mundësi të paracaktuara të orës, CNT1 dhe CNT3 përdoren si ndërmjetës për të kaluar CLK tek të dy FSM -të. Dy sportelet janë vendosur në të njëjtën vlerë, e cila është 25 për këtë Instructable. Ne mund të ndryshojmë shkallën e ndryshimit të vlerës së PWM duke ndryshuar këto vlera kundër.

Vlera e FSM-ve rritet dhe zvogëlohet nga sinjalet '+' dhe '-', të cilat burojnë nga Prodhimi Paralel i SPI.

Hapi 3: Njësia e Kontrollit

Njësia e Kontrollit
Njësia e Kontrollit

Brenda njësisë së kontrollit bajti i marrë merret nga moduli Bluetooth në Prodhimin Paralel SPI dhe më pas kalohet në funksionet përkatëse. Në fillim, daljet PWM CS1 dhe PWM CS2 do të kontrollohen për të parë nëse modeli PWM është aktivizuar apo jo. Nëse aktivizohet, atëherë do të përcaktojë se cili kanal do të nxjerrë PWM përmes LUT4, LUT6 dhe LUT7.

LUT9, LUT11 dhe LUT14 janë përgjegjës për kontrollimin e gjendjes së dy LED -ve të tjerë. LUT10, LUT12 dhe LUT13 kontrolloni nëse butoni Manual është aktivizuar apo jo. Nëse modaliteti manual është aktiv, atëherë daljet RGB funksionojnë sipas gjendjeve të daljes D0, D1, D2, të cilat ndryshohen sa herë që shtypet butoni Color. Ai ndryshon me skajin në rritje që vjen nga CNT9, i cili përdoret si një debatues i buzëve në rritje.

Pin 20 është konfiguruar si një hyrje dhe përdoret për të kaluar midis kontrollit manual dhe Bluetooth.

Nëse modaliteti manual është i çaktivizuar dhe modaliteti Auto mikser është aktivizuar, atëherë ngjyra ndryshon çdo 500ms me skajin në rritje që vjen nga CNT7. Një LUT1 4-bit përdoret për të parandaluar gjendjen '000' për D0 D1 D2, pasi kjo gjendje bën që drita të fiket gjatë modalitetit të përzierësit automatik.

Nëse modaliteti manual, modaliteti PWM dhe modaliteti përzierës automatik nuk janë aktivizuar, atëherë komandat SPI të kuqe, jeshile dhe blu rrjedhin në kunjat 12, 13 dhe 14, të cilët janë konfiguruar si dalje dhe janë të lidhura me LED -in e jashtëm RGB.

DFF1, DFF2 dhe DFF3 përdoren për të ndërtuar një numërues binar 3-bit. Vlera e numëruesit rritet me impulset CNT7 që kalojnë përmes P14 në modalitetin përzierës automatik, ose nga sinjalet që vijnë nga butoni Ngjyra (PIN3) në modalitetin manual.

Hapi 4: Aplikimi Android

Aplikimi Android
Aplikimi Android
Aplikimi Android
Aplikimi Android
Aplikimi Android
Aplikimi Android
Aplikimi Android
Aplikimi Android

Në këtë pjesë, ne do të ndërtojmë një aplikacion Android që do të monitorojë dhe shfaqë zgjedhjet e kontrollit të përdoruesit. Ndërfaqja përbëhet nga dy seksione: pjesa e parë përmban një sërë butonash të cilët kanë ngjyra të paracaktuara, kështu që kur të shtypni ndonjërën nga këto butona, ndizet një LED me të njëjtën ngjyrë përkatëse. Seksioni i dytë (katrori MIX) krijon një ngjyrë të përzier për përdoruesin.

Në pjesën e parë, përdoruesi zgjedh pinin LED që ata duan që sinjali PWM të kalojë; sinjali PWM mund të kalohet vetëm në një kunj në të njëjtën kohë. Lista e poshtme kontrollon dy ngjyrat e tjera logjikisht të ndezura/fikura gjatë modalitetit PWM.

Butoni i përzierësit automatik është përgjegjës për drejtimin e modelit automatik të ndryshimit të dritës, ku drita do të ndryshojë çdo gjysmë sekonde. Seksioni MIX përmban dy lista checkbox në mënyrë që përdoruesi të vendosë cilat dy ngjyra të përzihen së bashku.

Ne e ndërtuam aplikacionin duke përdorur faqen e internetit të shpikës të aplikacionit MIT. Shtë një sit që lejon krijimin e aplikacioneve Android pa përvojë paraprake softuerike duke përdorur blloqe grafike të softuerit.

Në fillim, ne krijuam një ndërfaqe grafike duke shtuar një grup butonash përgjegjës për shfaqjen e ngjyrave të paracaktuara, shtuam gjithashtu dy lista të kutive të kontrollit, dhe secila listë ka 3 elementë; secili element përshkruhet në kutinë e tij individuale, siç tregohet në Figurën 5.

Butonat brenda ndërfaqes së përdoruesit janë të lidhura me komandat e softuerit: të gjitha komandat që aplikacioni do të dërgojë përmes Bluetooth do të jenë në format byte, dhe secili bit është përgjegjës për një funksion specifik. Tabela 1 tregon formën e kornizave komanduese të dërguara në GreenPAK.

Tre bitët e parë, B0, B1 dhe B2, do të mbajnë gjendjen e LED -ve RGB në modalitetin e kontrollit të drejtpërdrejtë nga butonat e ngjyrave të paracaktuara. Kështu, kur klikoni në njërën prej tyre, vlera përkatëse e butonit do të dërgohet, siç tregohet në Tabelën 2.

Bitet B3 dhe B4 mbajnë komandat '+' dhe '-', të cilat janë përgjegjëse për rritjen dhe zvogëlimin e gjerësisë së impulsit. Kur shtypet butoni vlera e bitit do të jetë 1, dhe kur të lëshohet butoni vlera e bitit do të jetë 0.

Bitët B5 dhe B6 janë përgjegjës për zgjedhjen e kunjit (ngjyrës) përmes të cilit do të kalojë sinjali PWM: emërtimet e ngjyrave të këtyre bitëve tregohen në tabelën 3. Pjesa e fundit, B7, është përgjegjëse për aktivizimin e mikserit automatik.

Figura 6 dhe Figura 7 demonstrojnë procesin e lidhjes së butonave me blloqet e programimit të cilat janë përgjegjëse për dërgimin e vlerave të mëparshme.

Për të parë modelin e plotë të aplikacionit, mund të shkarkoni skedarin e bashkangjitur ".aia" me skedarët e projektit dhe ta hapni atë brenda faqes kryesore.

Figura 8 më poshtë tregon diagramin e qarkut të nivelit të lartë.

Hapi 5: Rezultatet

Kontrolluesi u testua me sukses dhe përzierja e ngjyrave, së bashku me karakteristikat e tjera, u tregua se funksiononte në mënyrë të përshtatshme.

Përfundim

Në këtë Instructable, një qark i ndezur i llambave u ndërtua për t'u kontrolluar me valë nga një aplikacion Android. CMIC GreenPAK e përdorur në këtë projekt gjithashtu ndihmoi në shkurtimin dhe futjen e disa komponentëve thelbësorë për kontrollin e dritës në një IC të vogël.

Recommended: