Orodha ya maudhui:

Udhibiti wa DIY RGB ya LED Kupitia Bluetooth: Hatua 5
Udhibiti wa DIY RGB ya LED Kupitia Bluetooth: Hatua 5

Video: Udhibiti wa DIY RGB ya LED Kupitia Bluetooth: Hatua 5

Video: Udhibiti wa DIY RGB ya LED Kupitia Bluetooth: Hatua 5
Video: Turn ON and OFF LED using mobile App using Bluetooth on ESP32 board 2024, Julai
Anonim
Udhibiti wa DIY RGB ya LED Kupitia Bluetooth
Udhibiti wa DIY RGB ya LED Kupitia Bluetooth

Balbu mahiri zimekuwa zikiongezeka katika umaarufu hivi karibuni na kwa kasi inakuwa sehemu muhimu ya vifaa vya smart nyumbani. Balbu mahiri huwezesha mtumiaji kudhibiti taa zao kupitia programu maalum kwenye simu janja ya mtumiaji; balbu inaweza kuwashwa na kuzimwa na rangi inaweza kubadilishwa kutoka kwa kiolesura cha programu. Katika mradi huu, tuliunda kidhibiti smart cha balbu ambacho kinaweza kudhibitiwa kutoka kwa kitufe cha mwongozo au programu tumizi ya rununu kupitia Bluetooth. Ili kuongeza ustadi kwenye mradi huu tumeongeza huduma kadhaa ambazo zinamruhusu mtumiaji kuchagua rangi ya taa kutoka kwenye orodha ya rangi zilizojumuishwa kwenye kiolesura cha programu. Inaweza pia kuamsha "mchanganyiko wa kiotomatiki" ili kutoa athari za rangi na kubadilisha taa kila sekunde ya pili. Mtumiaji anaweza kuunda mchanganyiko wa rangi yake mwenyewe kwa kutumia huduma ya PWM ambayo inaweza pia kutumika kama dimmer kwa rangi tatu za msingi (nyekundu, kijani kibichi, bluu). Tuliongeza pia vifungo vya nje kwenye mzunguko ili mtumiaji aweze kubadili hali ya mwongozo na kubadilisha rangi nyepesi kutoka kitufe cha nje.

Agizo hili lina sehemu mbili; muundo wa GreenPAK ™ na muundo wa programu ya Android. Ubunifu wa GreenPAK unategemea kutumia kiolesura cha UART kwa mawasiliano. UART imechaguliwa kwa sababu inasaidiwa na moduli nyingi za Bluetooth, na vile vile vifaa vingine vingi, kama moduli za WIFI. Kwa hivyo, muundo wa GreenPAK unaweza kutumika katika aina nyingi za unganisho.

Ili kujenga mradi huu, tutatumia SLG46620 CMIC, moduli ya Bluetooth, na RGB LED. GreenPAK IC itakuwa msingi wa kudhibiti mradi huu; inapokea data kutoka kwa moduli ya Bluetooth na / au vifungo vya nje, kisha huanza utaratibu unaohitajika kuonyesha taa sahihi. Inazalisha pia ishara ya PWM na kuipatia LED. Kielelezo 1 hapa chini kinaonyesha mchoro wa vizuizi.

Kifaa cha GreenPAK kinachotumiwa katika mradi huu kina kiunganisho cha unganisho cha SPI, vizuizi vya PWM, FSM na vizuizi vingine muhimu katika IC moja. Inajulikana pia na saizi yake ndogo na matumizi ya chini ya nishati. Hii itawezesha wazalishaji kujenga mzunguko mdogo wa vitendo kwa kutumia IC moja, kwa hivyo gharama za uzalishaji zitapunguzwa ikilinganishwa na mifumo kama hiyo.

Katika mradi huu, tunadhibiti RGB moja ya LED. Ili kufanikisha mradi huo kibiashara, mfumo utahitaji kuongeza kiwango cha mwangaza kwa kuunganisha taa nyingi za LED sambamba na kutumia transistors zinazofaa; mzunguko wa nguvu unahitaji kuzingatiwa pia.

Unaweza kupitia hatua zote kuelewa jinsi Chip ya GreenPAK imewekwa kudhibiti RGB LED Rangi kupitia Bluetooth. Walakini, ikiwa unataka tu kupanga programu ya IC kwa urahisi bila kuelewa mizunguko yote ya ndani, pakua programu ya GreenPAK kutazama Faili ya Ubunifu wa GreenPAK tayari. Chomeka GreenPAK Development Kit kwenye kompyuta yako na hit program ili kuunda IC ya kawaida kudhibiti RGB LED Rangi kupitia Bluetooth.

Ubunifu wa GreenPAK una mpokeaji wa UART, kitengo cha PWM, na kitengo cha kudhibiti kilichoelezewa katika hatua zilizo hapa chini.

Hatua ya 1: Mpokeaji wa UART

Mpokeaji wa UART
Mpokeaji wa UART

Kwanza, tunahitaji kuanzisha moduli ya Bluetooth. IC nyingi za Bluetooth zinaunga mkono itifaki ya UART ya mawasiliano. UART inasimama Mpokeaji / Mpitishaji wa Asynchronous wa Universal. UART inaweza kubadilisha data kurudi na kurudi kati ya fomati sambamba na mfululizo. Inajumuisha serial kwa mpokeaji sambamba na sambamba na kibadilishaji cha serial ambazo zote zimefungwa tofauti.

Takwimu zilizopokelewa kwenye moduli ya Bluetooth zitasambazwa kwa kifaa chetu cha GreenPAK. Hali ya uvivu kwa Pin10 ni JUU. Kila tabia inayotumwa huanza na mantiki LOW start bit, ikifuatiwa na idadi inayoweza kusanidiwa ya bits za data na moja au zaidi mantiki bits bits Stop.

Mtumaji wa UART hutuma 1 ANZA kidogo, bits 8 za data, na kidogo STOP kidogo. Kawaida, kiwango cha baud chaguomsingi kwa moduli ya UART Bluetooth ni 9600. Tutatuma data byte kutoka Bluetooth IC hadi kituo cha SPI cha GreenPAK ™ SLG46620.

Kwa kuwa kizuizi cha GreenPAK SPI hakina START au STOP kudhibiti kidogo, tutatumia bits hizo badala yake kuwezesha na kuzima ishara ya saa ya SPI (SCLK). Wakati Pin10 inakwenda CHINI, tunajua tumepokea ANZA kidogo, kwa hivyo tunatumia kigunduzi kinachoanguka cha PDLY kutambua mwanzo wa mawasiliano. Hizo saa za kipelelezi zinazoanguka DFF0, ambayo inawezesha ishara ya SCLK kuweka kizuizi cha SPI.

Kiwango chetu cha baud ni bits 9600 kwa sekunde, kwa hivyo kipindi chetu cha SCLK kinahitaji kuwa 1/9600 = 104 μs. Kwa hivyo, tuliweka masafa ya OSC kwa 2MHz na tukatumia CNT0 kama mgawanyiko wa masafa.

2 MHz-1 = 0.5 μs

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

Kwa hivyo, tunataka dhamana ya kaunta ya CNT0 iwe 207. Ili kuhakikisha kuwa hatukosi data yoyote, tunahitaji kuchelewesha saa ya SPI kwa nusu mzunguko wa saa ili kuzuia SPI iwekwe kwa wakati unaofaa. Tulitimiza hii kwa kutumia CNT6, 2-bit LUT1, na Saa ya nje ya Saa ya OSC. Pato la CNT6 haliendi juu hadi 52 μs baada ya DFF0 kufungwa, ambayo ni nusu ya kipindi chetu cha 104 μs SCLK. Wakati CNT6 iko juu 2-bit LUT1 NA lango inaruhusu ishara ya 2MHz OSC kupita kwenye EXT. Uingizaji wa CLK0, ambaye pato lake limeunganishwa na CNT0.

Hatua ya 2: Kitengo cha PWM

Kitengo cha PWM
Kitengo cha PWM

Ishara ya PWM imetengenezwa kwa kutumia PWM0 na jenereta ya saa ya saa inayohusiana (CNT8 / DLY8). Kwa kuwa upana wa kunde unadhibitiwa na mtumiaji, tunatumia FSM0 (ambayo inaweza kushikamana na PWM0) kuhesabu data ya mtumiaji.

Katika SLG46620, 8-bit FSM1 inaweza kutumika na PWM1 na PWM2. Moduli ya Bluetooth lazima iunganishwe, ambayo inamaanisha pato linalofanana la SPI lazima litumike. Vipimo vinavyofanana vya SPI 0 hadi 7 vimechorwa na DCMP1, DMCP2, na OF1 na OUT0 ya LF OSC CLK. PWM0 inapata pato lake kutoka kwa 16-bit FSM0. Kushoto bila kubadilishwa hii husababisha upana wa kunde kupakia zaidi. Kupunguza thamani ya kaunta kwa bits 8 FSM nyingine imeongezwa; FSM1 hutumiwa kama kiboreshaji kujua wakati kaunta inafikia 0 au 255. FSM0 hutumiwa kutengeneza kunde ya PWM. FSM0 na FSM1 lazima zilinganishwe. Kwa kuwa FSM zote zina chaguzi za saa zilizowekwa mapema, CNT1 na CNT3 hutumiwa kama wapatanishi kupitisha CLK kwa FSM zote mbili. Kaunta mbili zimewekwa kwa thamani sawa, ambayo ni 25 kwa hii inayoweza kufundishwa. Tunaweza kubadilisha kiwango cha mabadiliko ya thamani ya PWM kwa kubadilisha maadili haya ya kaunta.

Thamani ya FSM imeongezwa na kupungua kwa ishara '+' na '-', ambazo zinatokana na Pato Sambamba la SPI.

Hatua ya 3: Kitengo cha Udhibiti

Kitengo cha Udhibiti
Kitengo cha Udhibiti

Ndani ya kitengo cha kudhibiti baiti iliyopokea inachukuliwa kutoka kwa moduli ya Bluetooth kwenda kwa Pato Sambamba la SPI na kisha hupitishwa kwa kazi zinazohusiana. Mara ya kwanza, matokeo ya PWM CS1 na PWM CS2 yatazingatiwa ili kuona ikiwa muundo wa PWM umeamilishwa au la. Ikiwa imeamilishwa basi itaamua ni kituo kipi kitatoa PWM kupitia LUT4, LUT6, na LUT7.

LUT9, LUT11, na LUT14 wana jukumu la kuangalia hali ya LED zingine mbili. LUT10, LUT12, na LUT13 angalia ikiwa kitufe cha Mwongozo kimeamilishwa au la. Ikiwa hali ya Mwongozo inafanya kazi, basi matokeo ya RGB hufanya kazi kulingana na D0, D1, D2 majimbo ya pato, ambayo hubadilishwa kila wakati kitufe cha Rangi kinabanwa. Inabadilika na kuongezeka kwa makali kutoka CNT9, ambayo hutumiwa kama mtoaji wa malipo anayeongezeka.

Pin 20 imesanidiwa kama pembejeo na hutumiwa kubadili kati ya udhibiti wa Mwongozo na Bluetooth.

Ikiwa hali ya Mwongozo imelemazwa na hali ya mchanganyiko wa kiotomatiki imeamilishwa, basi rangi hubadilika kila 500ms na ukingo unaokua unatoka kwa CNT7. LUT1 4-bit hutumiwa kuzuia hali ya '000' kwa D0 D1 D2, kwani hali hii inasababisha taa kuzima wakati wa hali ya mchanganyiko wa Auto.

Ikiwa hali ya Mwongozo, hali ya PWM, na hali ya mchanganyiko wa Auto hazijaamilishwa basi amri nyekundu, kijani na bluu SPI inapita kwa Pini 12, 13 na 14, ambazo zimesanidiwa kama matokeo na zimeunganishwa na RGB ya nje ya LED.

DFF1, DFF2 na DFF3 hutumiwa kujenga kaunta ya biti 3-bit. Thamani ya kaunta huongezeka kwa kunde za CNT7 ambazo hupita kupitia P14 katika hali ya mchanganyiko wa Auto, au kutoka kwa ishara zinazotoka kwenye kitufe cha Rangi (PIN3) katika hali ya mwongozo.

Hatua ya 4: Maombi ya Android

Maombi ya Android
Maombi ya Android
Maombi ya Android
Maombi ya Android
Maombi ya Android
Maombi ya Android
Maombi ya Android
Maombi ya Android

Katika sehemu hii, tutaunda programu ya Android ambayo itafuatilia na kuonyesha chaguo za udhibiti wa mtumiaji. Muunganisho huo una sehemu mbili: sehemu ya kwanza ina seti ya vifungo ambavyo vimeelezea rangi mapema ili wakati wowote wa vifungo hivi ikibonyezwa, mwangaza wa rangi inayofanana huwashwa. Sehemu ya pili (mraba MIX) inaunda rangi iliyochanganywa kwa mtumiaji.

Katika sehemu ya kwanza, mtumiaji huchagua pini ya LED ambayo wanataka ishara ya PWM ipite; ishara ya PWM inaweza kupitishwa kwa pini moja kwa wakati mmoja. Orodha ya chini inadhibiti rangi zingine mbili kimantiki kuwasha / kuzima wakati wa hali ya PWM.

Kitufe cha mchanganyiko wa magari kinawajibika kwa kuendesha muundo wa kubadilisha taa kiotomatiki ambapo taa itabadilika kila sekunde ya nusu. Sehemu ya MIX ina orodha mbili za kisanduku tiki ili mtumiaji aamue ni rangi gani mbili zitakazochanganywa pamoja.

Tuliunda programu tumizi kwa kutumia wavuti ya uvumbuzi wa programu ya MIT. Ni tovuti ambayo inaruhusu kujenga programu za Android bila uzoefu wa programu ya awali kwa kutumia vizuizi vya programu ya picha.

Mwanzoni, tulibuni kielelezo cha kielelezo kwa kuongeza seti ya vifungo vyenye jukumu la kuonyesha rangi iliyotanguliwa, pia tumeongeza orodha mbili za sanduku la kuangalia, na kila orodha ina vitu 3; kila kitu kimeainishwa kwenye sanduku lake la kibinafsi, kama inavyoonyeshwa kwenye Kielelezo 5.

Vifungo ndani ya kiolesura cha mtumiaji vimeunganishwa na amri za programu: amri zote ambazo programu itatuma kupitia Bluetooth itakuwa katika muundo wa baiti, na kila kidogo inawajibika kwa kazi maalum. Jedwali 1 linaonyesha fomu ya muafaka wa amri uliotumwa kwa GreenPAK.

Biti tatu za kwanza, B0, B1 na B2, zitashikilia hali ya RGB za LED katika hali ya moja kwa moja ya kudhibiti na vifungo vya rangi zilizotanguliwa. Kwa hivyo, unapobofya yoyote kati yao, thamani inayolingana ya kitufe itatumwa, kama inavyoonyeshwa kwenye Jedwali 2.

Biti B3 na B4 zinashikilia amri za '+' na '-', ambazo zinawajibika kwa kuongeza na kupunguza upana wa kunde. Wakati kitufe kinabanwa thamani kidogo itakuwa 1, na wakati kifungo kitatolewa thamani kidogo itakuwa 0.

B5 na B6 bits zinawajibika kwa kuchagua pini (rangi) ambayo ishara ya PWM itapita: alama za rangi za bits hizi zinaonyeshwa kwenye jedwali 3. Kidogo cha mwisho, B7, inawajibika kwa kuamsha mchanganyiko wa kiotomatiki.

Kielelezo 6 na Kielelezo 7 onyesha mchakato wa kuunganisha vifungo na vizuizi vya programu ambazo zinawajibika kwa kutuma maadili ya awali.

Kuangalia muundo kamili wa programu, unaweza kupakua faili iliyoambatishwa ".aia" na faili za mradi na kuifungua ndani ya tovuti kuu.

Kielelezo 8 hapa chini kinaonyesha mchoro wa mzunguko wa kiwango cha juu.

Hatua ya 5: Matokeo

Mdhibiti alijaribiwa kwa mafanikio na mchanganyiko wa rangi, pamoja na huduma zingine, zilionyeshwa kufanya kazi ipasavyo.

Hitimisho

Katika hii Inayoweza kufundishwa, mzunguko mzuri wa balbu ulijengwa ili kudhibitiwa bila waya na programu ya Android. GreenPAK CMIC iliyotumiwa katika mradi huu pia ilisaidia kufupisha na kupachika vifaa kadhaa muhimu kwa udhibiti wa nuru kwenye IC moja ndogo.

Ilipendekeza: