Բովանդակություն:

DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով `7 քայլ
DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով `7 քայլ

Video: DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով `7 քայլ

Video: DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով `7 քայլ
Video: TOP 555 Timer IC Projects for Beginners 2024, Հուլիսի
Anonim
DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով
DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով

Այս Instructable- ը նկարագրում է, թե ինչպես կարելի է կառուցել խելացի թվային լուսամփոփ: Թուլացուցիչը սովորական լուսարձակիչ է, որն օգտագործվում է տներում, հյուրանոցներում և շատ այլ շենքերում: Թույլ անջատիչների հին տարբերակները ձեռքով էին և սովորաբար ներառում էին պտտվող անջատիչ (պոտենցիոմետր) կամ կոճակներ ՝ լուսավորության մակարդակը վերահսկելու համար: Այս հրահանգը նկարագրում է, թե ինչպես կարելի է կառուցել թվային լուսամփոփ, որն ունի լույսի ինտենսիվությունը վերահսկելու երկու եղանակ. սմարթֆոն և ֆիզիկական կոճակներ: Երկու ռեժիմները կարող են անխափան աշխատել, այնպես որ օգտագործողը կարող է մեծացնել կամ նվազեցնել լուսավորությունը ինչպես կոճակից, այնպես էլ սմարթֆոնից: Նախագիծն իրականացվում է SLG46620V CMIC, HC-06 Bluetooth մոդուլի, սեղմման կոճակների և LED- ների միջոցով:

Մենք պատրաստվում ենք օգտագործել SLG46620V CMIC- ը, քանի որ այն օգնում է նվազագույնի հասցնել նախագծի դիսկրետ բաղադրիչները: GreenPAK ™ IC- ները փոքր են և ունեն բազմակի օգտագործման բաղադրիչներ, ինչը դիզայներին թույլ է տալիս նվազեցնել բաղադրիչները և ավելացնել նոր հնարավորություններ: Բացի այդ, ծրագրի արժեքը հետագայում կնվազի:

SLG46620V- ն պարունակում է նաև SPI կապի միջերես, PWM բլոկներ, FSM և շատ օգտակար լրացուցիչ բլոկներ մեկ փոքրիկ չիպի մեջ: Այս բաղադրիչները թույլ են տալիս օգտագործողին կառուցել գործնական խելացի լուսամփոփ, որը կարելի է կառավարել Bluetooth սարքի կամ պատի կոճակների միջոցով, աջակցել երկարաժամկետ լուսավորմանը և ընտրելի հատկությունների ավելացմանը `առանց միկրոկոնտրոլերի կամ թանկարժեք բաղադրիչների օգտագործման:

Ստորև մենք նկարագրեցինք այն քայլերը, որոնք անհրաժեշտ են հասկանալու համար, թե ինչպես է լուծումը ծրագրավորվել ստեղծել Bluetooth- ով կառավարվող խելացի LED լուսամփոփ: Այնուամենայնիվ, եթե դուք պարզապես ցանկանում եք ստանալ ծրագրավորման արդյունքը, ներբեռնեք GreenPAK ծրագիրը ՝ արդեն ավարտված GreenPAK դիզայնի ֆայլը դիտելու համար: Միացրեք GreenPAK Development Kit- ը ձեր համակարգչին և հարվածեք ծրագրին ՝ Bluetooth- ով կառավարվող խելացի LED լուսամփոփը ստեղծելու համար:

Քայլ 1. Projectրագրի առանձնահատկությունները և ինտերֆեյսը

Projectրագրի առանձնահատկությունները և ինտերֆեյսը
Projectրագրի առանձնահատկությունները և ինտերֆեյսը

Նախագծի առանձնահատկությունները

1. Վերահսկողության երկու եղանակ. բջջային հավելված և իրական կոճակներ:

2. Լույսի սահուն միացում-անջատում: Սա ավելի առողջ է սպառողի աչքերի համար: Այն նաև տալիս է ավելի շքեղ զգացում, որը գրավիչ է հյուրանոցների և սպասարկման այլ ոլորտների համար:

3. Քնի ռեժիմի գործառույթ: Սա հավելյալ արժեք կլինի այս հավելվածի համար: Երբ օգտագործողը միացնում է այս ռեժիմը, լույսի պայծառությունն աստիճանաբար նվազում է 10 րոպեում: Սա օգնում է այն մարդկանց, ովքեր տառապում են անքնությունից: Այն նաև օգտակար է մանկական ննջասենյակների և մանրածախ խանութների համար (փակման ժամ):

Նախագծի միջերես

Interfaceրագրի ինտերֆեյսը ունի չորս կոճակ, որոնք օգտագործվում են որպես GreenPAK մուտքագրումներ.

ON / OFF: միացրեք լույսը / OFF (փափուկ մեկնարկ / կանգառ):

UP. Բարձրացնել լուսավորության մակարդակը:

Down: նվազեցնել լույսի մակարդակը:

Քնի ռեժիմ. Ակտիվացնելով քնի ռեժիմը, լուսավորության պայծառությունը աստիճանաբար նվազում է 10 րոպեի ընթացքում: Սա օգտվողին ժամանակ է տալիս քնելուց առաջ և երաշխավորում, որ լույսը միացված չի լինի ամբողջ գիշեր:

Համակարգը կարտադրի PWM ազդանշան, որը կփոխանցվի արտաքին LED և քնի ռեժիմի LED ցուցիչին:

GreenPAK- ի նախագիծը բաղկացած է 4 հիմնական բլոկներից: Առաջինը UART ընդունիչն է, որը տվյալներ է ստանում Bluetooth մոդուլից, քաղում է պատվերներ և ուղարկում դրանք կառավարման միավոր: Երկրորդ բլոկը կառավարման միավոր է, որը պատվերներ է ստանում UART ընդունիչից կամ արտաքին կոճակներից: Կառավարման միավորը որոշում է պահանջվող գործողությունը (միացնել/անջատել, մեծացնել, նվազեցնել, միացնել քնի ռեժիմը): Այս միավորն իրականացվում է LUT- ների միջոցով:

Երրորդ բլոկը մատակարարում է CLK գեներատորներին: Այս նախագծում FWM հաշվիչն օգտագործվում է PWM- ը վերահսկելու համար: FSM- ի արժեքը կփոխվի (վեր, վար) `ըստ 3 հաճախականությունների (բարձր, միջին և ցածր) կարգադրությունների: Այս բաժնում կստեղծվեն երեք հաճախականություններ, և պահանջվող CLK- ն անցնում է FSM- ին `ըստ պահանջվող կարգի. Գործարկումը միացնելու/անջատելու դեպքում բարձր հաճախականությունը անցնում է FSM- ին դեպի փափուկ մեկնարկ/դադար: Թուլացման ժամանակ միջին հաճախականությունն անցնում է: Frequencyածր հաճախականությունը անցնում է քնի ռեժիմում `FSM- ի արժեքը ավելի դանդաղ նվազեցնելու համար: Հետո, լույսի պայծառությունը նույնպես դանդաղ նվազում է: Չորրորդ բլոկը PWM միավորն է, որը իմպուլսներ է առաջացնում արտաքին LED- ների վրա:

Քայլ 2. GreenPAK ձևավորում

GreenPAK- ի միջոցով լուսամփոփ ստեղծելու լավագույն միջոցը 8-բիթանոց FSM- ի և PWM- ի օգտագործումն է: SLG46620- ում FSM1- ը պարունակում է 8 բիթ և կարող է օգտագործվել PWM1- ի և PWM2- ի հետ: Bluetooth մոդուլը պետք է միացված լինի, ինչը նշանակում է, որ պետք է օգտագործվի 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 ընդունիչ

UART ընդունիչ
UART ընդունիչ

Նախ, մենք պետք է կարգավորենք HC06 Bluetooth մոդուլը: HC06- ը կապի համար օգտագործում է UART արձանագրությունը: UART- ը նշանակում է ունիվերսալ ասինխրոն ընդունիչ / հաղորդիչ: UART- ը կարող է տվյալները հետ ու առաջ փոխարկել զուգահեռ և սերիական ձևաչափերի միջև: Այն ներառում է սերիալից զուգահեռ ընդունիչ և սերիալին փոխարկիչ զուգահեռ, որոնք երկուսն էլ առանձին են: HC06- ում ստացված տվյալները կփոխանցվեն մեր GreenPAK սարքին: Պին 10 -ի պարապ վիճակը ԲԱՐՁՐ է: Ուղարկված յուրաքանչյուր նիշ սկսվում է տրամաբանական LOW մեկնարկային բիտով, որին հաջորդում է տվյալների բիթերի կազմաձևվող քանակը և մեկ կամ ավելի տրամաբանական HIGH stop բիթեր:

HC06- ն ուղարկում է 1 START բիթ, 8 տվյալների բիթ և մեկ STOP բիթ: Դրա կանխադրված բաուդ արագությունը 9600 է: Մենք տվյալների բայթը HC06- ից կուղարկենք GreenPAK SLG46620V- ի SPI բլոկին:

Քանի որ SPI բլոկը չունի START կամ STOP բիտ հսկողություն, այդ բիթերը փոխարենը օգտագործվում են SPI ժամացույցի ազդանշանը (SCLK) միացնելու և անջատելու համար: Երբ Pin 10 -ը OWԱՐ է գնում, IC- ն ստացել է START բիթ, ուստի մենք օգտագործում ենք PDLY ընկնող եզրերի դետեկտորը `հաղորդակցության սկիզբը որոշելու համար: Այդ ընկնող եզրերի դետեկտորը ժամացույցներ է կատարում DFF0- ով, ինչը հնարավորություն է տալիս SCLK ազդանշանին զսպել SPI բլոկը:

Մեր բաուդ արագությունը 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- ի թողարկումը չի բարձրանում մինչև 52 μs DFF0- ի ժամաչափից հետո, ինչը մեր SCLK- ի 104 μs ժամանակահատվածի ուղիղ կեսն է: Երբ այն բարձրանում է, 2-բիթանոց LUT1 AND դարպասը թույլ է տալիս 2 ՄՀց OSC ազդանշանին անցնել EXT: CLK0 մուտքագրում, որի ելքը միացված է CNT0- ին:

Քայլ 4: Վերահսկիչ միավոր

Վերահսկիչ միավոր
Վերահսկիչ միավոր

Այս բաժնում հրամանները կկատարվեն ըստ UART ընդունիչից ստացված բայտի կամ արտաքին կոճակներից ստացված ազդանշանների: 12, 13, 14, 15 կապում նախաստորագրվում է որպես մուտքագրում և միացված են արտաքին կոճակներին:

Յուրաքանչյուր քորոց ներքին միացված է OR դարպասի մուտքին, մինչդեռ դարպասի երկրորդ մուտքը կապված է սմարթֆոնից Bluetooth- ով եկող համապատասխան ազդանշանի հետ, որը կհայտնվի SPI զուգահեռ ելքի վրա:

DFF6- ն օգտագործվում է քնի ռեժիմը ակտիվացնելու համար, երբ ելքը փոխվում է բարձր `երկբիթային LUT4- ից բարձրացող եզրով, մինչդեռ DFF10- ը օգտագործվում է լուսավորության վիճակը պահպանելու համար, և դրա ելքը ցածրից բարձր է փոխվում և հակառակը` յուրաքանչյուր բարձրանալիս 3-բիթանոց LUT10 ելքից:

FSM1- ը 8-բիթանոց հաշվիչ է. այն տալիս է բարձր իմպուլս իր ելքի վրա, երբ դրա արժեքը հասնում է 0-ի կամ 255-ի: Հետևաբար, այն օգտագործվում է կանխելու FSM0- ի (16-բիթանոց) 255 արժեքը գերազանցելը, քանի որ դրա ելքը վերականգնում է DFF- երը և այն փոխում է DFF10- ի կարգավիճակը միացումից դեպի անջատում և հակառակը, եթե լուսավորությունը կառավարվում է +, - և հասել է առավելագույն/նվազագույն մակարդակին:

FSM1 մուտքերի հետ կապված ազդանշանները պահպանվում են, մինչև կհասնի FSM0- ի P11- ի և P12- ի միջոցով `երկու հաշվիչներին համաժամանակացնելու և նույն արժեքը պահպանելու համար:

Քայլ 5: CLK գեներատորներ և մուլտիպլեքսեր

CLK գեներատորներ և մուլտիպլեքսեր
CLK գեներատորներ և մուլտիպլեքսեր

Այս բաժնում կստեղծվի երեք հաճախականություն, բայց միայն մեկը կսահմանափակի FSM- ները ցանկացած ժամանակ: Առաջին հաճախականությունը RC OSC է, որը դուրս է բերվում 0 -ից P0 մատրիցայից: Երկրորդ հաճախականությունը LF OSC- ն է, որը նույնպես դուրս է բերվում 0 -ից P1 մատրիցայից; երրորդ հաճախականությունը CNT7 թողարկումն է:

3-բիթանոց LUT9- ը և 3-բիթանոց LUT11- ը թույլ են տալիս անցնել մեկ հաճախականություն ՝ ըստ 3-բիթանոց LUT14 ելքի: Դրանից հետո ընտրված ժամացույցը փոխանցում է FSM0- ին և FSM1- ին CNT1- ի և CNT3- ի միջոցով:

Քայլ 6: PWM

PWM
PWM

Վերջապես, FSM0 արժեքը փոխակերպվում է PWM ազդանշանի և հայտնվում է 20 -րդ կապի միջոցով, որը նախաստորագրված է որպես ելք և միացված է արտաքին LED- ներին:

Քայլ 7: Android հավելված

Android հավելված
Android հավելված
Android հավելված
Android հավելված
Android հավելված
Android հավելված

Android հավելվածն ունի վիրտուալ կառավարման ինտերֆեյս, որը նման է իրական ինտերֆեյսի: Այն ունի հինգ կոճակ; ON / OFF, UP, DOWN, Sleep ռեժիմ և Միացում: Այս Android հավելվածը կկարողանա կոճակների սեղմումները հրամանի վերածել և հրամանները կուղարկի Bluetooth մոդուլին ՝ կատարման համար:

Այս ծրագիրը պատրաստված է MIT App Inventor- ի հետ, որը ծրագրավորման որևէ փորձ չի պահանջում: Հավելվածի գյուտարարը ծրագրավորողին թույլ է տալիս ծրագիր ստեղծել Android OS սարքերի համար ՝ օգտագործելով վեբ դիտարկիչ ՝ միացնելով ծրագրավորման բլոկները: Դուք կարող եք ներմուծել մեր ծրագիրը MIT հավելվածի գյուտարարին ՝ իմ համակարգչից սեղմելով Projects -> Import project (.aia) և ընտրելով.aia ֆայլը, որը ներառված է այս Հավելվածի Նշումում:

Android հավելված ստեղծելու համար պետք է սկսել նոր նախագիծ: Պահանջվում է հինգ կոճակ ՝ մեկը Bluetooth սարքերի ցուցակ ընտրողն է, իսկ մյուսները ՝ կառավարման կոճակները: Մենք պետք է ավելացնենք նաև Bluetooth հաճախորդ: Նկար 6 -ը մեր Android հավելվածի ինտերֆեյսի էկրանավորումն է:

Կոճակները ավելացնելուց հետո մենք յուրաքանչյուր կոճակի համար ծրագրային գործառույթ կհանձնենք: Մենք պատրաստվում ենք օգտագործել 4 բիթ `կոճակների կարգավիճակը ներկայացնելու համար: Յուրաքանչյուր կոճակի համար մեկ բիթ, հետևաբար, կոճակը սեղմելիս, Bluetooth- ի միջոցով որոշակի համար կուղարկվի ֆիզիկական միացման:

Այս թվերը ներկայացված են Աղյուսակ 1 -ում:

Եզրակացություն

Այս Instructable- ը նկարագրում է խելացի լուսամփոփը, որը կարելի է կառավարել երկու եղանակով. Android ծրագիր և իրական կոճակներ: GreenPAK SLG46620V- ում ներկայացված են չորս առանձին բլոկներ, որոնք վերահսկում են լույսի PWM- ի մեծացման կամ նվազման գործընթացի հոսքը: Բացի այդ, Sleep-mode գործառույթը նախանշված է որպես հավելվածի համար մատչելի լրացուցիչ մոդուլյացիայի օրինակ: Shownուցադրված օրինակը ցածր լարման է, բայց կարող է փոփոխվել ավելի բարձր լարման իրականացման համար:

Խորհուրդ ենք տալիս: