Բովանդակություն:
- Քայլ 1: UART ընդունիչ
- Քայլ 2: PWM միավոր
- Քայլ 3: Վերահսկիչ միավոր
- Քայլ 4: Android հավելված
- Քայլ 5: Արդյունքներ
Video: DIY Control RGB LED գույն Bluetooth- ի միջոցով `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Խելացի լամպերը վերջերս աճում են ժողովրդականությամբ և անշեղորեն դառնում են խելացի տան գործիքակազմի հիմնական մասը: Խելացի լամպերը թույլ են տալիս օգտվողին կառավարել իրենց լույսը օգտագործողի խելացի հեռախոսի հատուկ հավելվածի միջոցով. լամպը կարող է միացվել և անջատվել, և գույնը կարող է փոխվել կիրառման միջերեսից: Այս նախագծում մենք կառուցեցինք խելացի լամպի վերահսկիչ, որը կարող է կառավարվել Bluetooth- ի միջոցով ձեռքով կոճակից կամ բջջային հավելվածից: Այս նախագծին որոշակի հմայք ավելացնելու համար մենք ավելացրել ենք որոշ առանձնահատկություններ, որոնք թույլ են տալիս օգտվողին ընտրել լուսավորման գույնը հավելվածի ինտերֆեյսում ներառված գույների ցանկից: Այն կարող է նաև ակտիվացնել «ավտոմատ խառնուրդ» ՝ գունային էֆեկտներ ստեղծելու և լուսավորությունը փոխելու համար ամեն վայրկյան: Օգտագործողը կարող է ստեղծել իր սեփական գունային խառնուրդը `օգտագործելով PWM հնարավորությունը, որը կարող է օգտագործվել նաև որպես լուսավորիչ երեք հիմնական գույների համար (կարմիր, կանաչ, կապույտ): Մենք նաև արտաքին կոճակներ ավելացրեցինք սխեմայի մեջ, որպեսզի օգտվողը կարողանա անցնել ձեռքի ռեժիմի և փոխել արտաքին գույնի լույսի գույնը:
Այս հրահանգը բաղկացած է երկու բաժնից. GreenPAK ™ դիզայնը և Android հավելվածի դիզայնը: GreenPAK- ի դիզայնը հիմնված է հաղորդակցության համար UART ինտերֆեյսի օգտագործման վրա: UART- ն ընտրված է, քանի որ այն ապահովված է Bluetooth մոդուլների մեծամասնությամբ, ինչպես նաև այլ ծայրամասային սարքերով, օրինակ ՝ WIFI մոդուլներով: Հետևաբար, GreenPAK- ի դիզայնը կարող է օգտագործվել միացման բազմաթիվ տեսակների մեջ:
Այս նախագիծը կառուցելու համար մենք պատրաստվում ենք օգտագործել SLG46620 CMIC- ը, Bluetooth մոդուլը և RGB LED- ը: GreenPAK IC- ն լինելու է այս ծրագրի վերահսկիչ առանցքը. այն ստանում է տվյալներ Bluetooth մոդուլից և/կամ արտաքին կոճակներից, այնուհետև սկսում է անհրաժեշտ ընթացակարգը `ճիշտ լուսավորությունը ցուցադրելու համար: Այն նաև առաջացնում է PWM ազդանշան և թողարկում այն LED- ին: Ստորև բերված նկար 1 -ը ցույց է տալիս բլոկ -դիագրամը:
Այս նախագծում օգտագործվող GreenPAK սարքը պարունակում է SPI կապի միջերես, PWM բլոկներ, FSM և բազմաթիվ այլ օգտակար լրացուցիչ բլոկներ մեկ IC- ում: Այն բնութագրվում է նաև իր փոքր չափսերով և էներգիայի ցածր սպառմամբ: Սա թույլ կտա արտադրողներին կառուցել մի փոքր գործնական միացում `օգտագործելով մեկ IC, ուստի արտադրության ծախսերը նվազագույնի կհասցվեն նմանատիպ համակարգերի համեմատ:
Այս նախագծում մենք վերահսկում ենք մեկ RGB LED: Նախագիծը առևտրային առումով կենսունակ դարձնելու համար համակարգը, ամենայն հավանականությամբ, պետք է բարձրացնի լուսավորության մակարդակը `զուգահեռաբար միացնելով բազմաթիվ LED- ներ և օգտագործելով համապատասխան տրանզիստորներ. պետք է հաշվի առնել նաև հոսանքի սխեման:
Դուք կարող եք անցնել բոլոր քայլերը `հասկանալու համար, թե ինչպես է GreenPAK չիպը ծրագրավորվել Bluetooth- ի միջոցով վերահսկել RGB LED գույնը: Այնուամենայնիվ, եթե դուք պարզապես ցանկանում եք հեշտությամբ ծրագրավորել IC- ն ՝ առանց հասկանալու բոլոր ներքին սխեմաները, ներբեռնեք GreenPAK ծրագիրը ՝ արդեն ավարտված GreenPAK դիզայնի ֆայլը դիտելու համար: Միացրեք GreenPAK Development Kit- ը ձեր համակարգչին և հարվածեք ծրագրին ՝ Bluetooth- ով RGB LED գույնը կառավարելու համար անհատական IC ստեղծելու համար:
GreenPAK- ի նախագիծը բաղկացած է ստորև բերված քայլերում նկարագրված UART ընդունիչից, PWM միավորից և կառավարման միավորից:
Քայլ 1: 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- ը գնում է OWԱՐ, մենք գիտենք, որ ստացել ենք 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- ի ժամաչափից հետո, ինչը մեր 104 μs SCLK ժամանակաշրջանի կեսն է: Երբ CNT6- ը բարձր է, 2-բիթանոց LUT1 AND դարպասը թույլ է տալիս 2MHz OSC ազդանշանին անցնել EXT: CLK0 մուտքագրում, որի ելքը միացված է CNT0- ին:
Քայլ 2: PWM միավոր
PWM ազդանշանը ստեղծվում է PWM0- ի և հարակից ժամացույցի զարկերակի գեներատորի (CNT8/DLY8) միջոցով: Քանի որ զարկերակի լայնությունը վերահսկելի է օգտվողի կողմից, մենք օգտվում ենք FSM0- ից (որը կարելի է միացնել PWM0- ին) `օգտվողի տվյալները հաշվելու համար:
SLG46620- ում 8-բիթանոց FSM1- ը կարող է օգտագործվել PWM1- ի և PWM2- ի հետ: Bluetooth մոդուլը պետք է միացված լինի, ինչը նշանակում է, որ պետք է օգտագործվի SPI զուգահեռ ելքը: SPI զուգահեռ ելքային բիթերը 0 -ից 7 -ը խառնվում են DCMP1, DMCP2 և LF OSC CLK- ի OUT1 և OUT0 հետ: PWM0- ն իր ելքը ստանում է 16-բիթանոց FSM0- ից: Եթե անփոփոխ մնա, դա զարկերակի լայնության գերբեռնում է առաջացնում: Հաշվիչի արժեքը 8 բիթով սահմանափակելու համար ավելացվում է մեկ այլ FSM; FSM1- ը օգտագործվում է որպես ցուցիչ `իմանալու համար, երբ հաշվիչը հասնում է 0 -ի կամ 255 -ի: FSM0- ն օգտագործվում է PWM զարկերակի առաջացման համար: FSM0- ը և FSM1- ը պետք է համաժամեցված լինեն: Քանի որ երկու FSM- ներն ունեն ժամացույցի կանխադրված ընտրանքներ, CNT1 և CNT3 օգտագործվում են որպես միջնորդներ ՝ CLK- ն երկու FSM- ներին փոխանցելու համար: Երկու հաշվիչները դրված են նույն արժեքի վրա, որը 25 է այս Instructable- ի համար: Մենք կարող ենք փոխել PWM- ի արժեքի փոփոխության արագությունը `փոխելով այդ հաշվիչ արժեքները:
FSM- ների արժեքը մեծանում և նվազում է '+' և '-' ազդանշաններով, որոնք բխում են SPI- ի զուգահեռ ելքից:
Քայլ 3: Վերահսկիչ միավոր
Կառավարման միավորի ներսում ստացված բայթը Bluetooth մոդուլից տեղափոխվում է SPI զուգահեռ ելք և այն փոխանցվում է համապատասխան գործառույթներին: Սկզբում PWM CS1 և PWM CS2 ելքերը կստուգվեն `պարզելու համար` PWM օրինակը ակտիվացված է, թե ոչ: Եթե այն ակտիվացված է, ապա այն կորոշի, թե որ ալիքն է թողարկում PWM- ը LUT4, LUT6 և LUT7 միջոցով:
LUT9, LUT11 և LUT14- ը պատասխանատու են մյուս երկու LED- ների վիճակը ստուգելու համար: LUT10- ը, LUT12- ը և LUT13- ը ստուգեք `ձեռքով կոճակն ակտիվացված է, թե ոչ: Եթե ձեռքով ռեժիմն ակտիվ է, ապա RGB- ի ելքերը գործում են ըստ D0, D1, D2 ելքային վիճակների, որոնք փոխվում են ամեն անգամ, երբ Գույն կոճակը սեղմելիս: Այն փոխվում է աճող եզրով, որը գալիս է CNT9- ից, որն օգտագործվում է որպես բարձրացող եզրերի ապակողմնորոշիչ:
Pin 20 -ը կազմաձևված է որպես մուտքագրում և օգտագործվում է Ձեռնարկի և Bluetooth կառավարման միջև անցնելու համար:
Եթե ձեռքով ռեժիմն անջատված է, և ավտոմատ խառնիչի ռեժիմն ակտիվացված է, ապա գույնը փոխվում է յուրաքանչյուր 500 մ / վ -ով `CNT7- ից բարձրացող եզրով: 4-բիթանոց LUT1- ը օգտագործվում է D0 D1 D2- ի համար «000» վիճակը կանխելու համար, քանի որ այս վիճակի պատճառով լույսը անջատվում է Auto mixer ռեժիմի ժամանակ:
Եթե ձեռքի ռեժիմը, PWM ռեժիմը և Auto mixer ռեժիմը միացված չեն, ապա կարմիր, կանաչ և կապույտ SPI հրամանները հոսում են դեպի 12, 13 և 14 կապում, որոնք կազմաձևված են որպես ելքեր և միացված են արտաքին RGB LED- ին:
DFF1, DFF2 և DFF3 օգտագործվում են 3-բիթանոց երկուական հաշվիչ կառուցելու համար: Հաշվիչի արժեքը մեծանում է CNT7 իմպուլսներով, որոնք անցնում են P14- ով Auto mixer ռեժիմում, կամ ձեռքով ռեժիմում Գույնի կոճակից (PIN3) եկող ազդանշաններից:
Քայլ 4: Android հավելված
Այս բաժնում մենք պատրաստվում ենք կառուցել Android ծրագիր, որը վերահսկելու և ցուցադրելու է օգտվողի կառավարման ընտրանքները: Ինտերֆեյսը բաղկացած է երկու բաժնից. Առաջին բաժինը պարունակում է մի շարք կոճակներ, որոնք ունեն կանխորոշված գույներ, այնպես որ այս կոճակներից որևէ մեկին սեղմելիս լուսավորվում է նույն գույնի լուսադիոդ: Երկրորդ բաժինը (MIX քառակուսի) օգտագործողի համար ստեղծում է խառը գույն:
Առաջին բաժնում օգտագործողը ընտրում է LED փին, որով ցանկանում է, որ PWM ազդանշանը անցնի. PWM ազդանշանը կարող է միաժամանակ փոխանցվել միայն մեկ կապին: Ստորին ցուցակը վերահսկում է մյուս երկու գույները տրամաբանորեն միացված/անջատված PWM ռեժիմի ընթացքում:
Ավտոմատ խառնիչի կոճակը պատասխանատու է լույսի փոփոխման ավտոմատ ռեժիմի գործարկման համար, որտեղ լույսը փոխվում է ամեն կես վայրկյան: MIX բաժինը պարունակում է երկու վանդակի ցուցակ, որպեսզի օգտագործողը կարողանա որոշել, թե որ երկու գույներն են իրար խառնել:
Մենք ստեղծեցինք հավելվածը ՝ օգտագործելով MIT հավելվածի գյուտարարի կայքը: Այն կայք է, որը թույլ է տալիս Android ծրագրեր ստեղծել առանց ծրագրային նախնական փորձի ՝ օգտագործելով գրաֆիկական ծրագրային բլոկներ:
Սկզբում մենք նախագծեցինք գրաֆիկական ինտերֆեյս `ավելացնելով մի շարք կոճակներ, որոնք պատասխանատու են կանխորոշված գույները ցուցադրելու համար, ավելացրեցինք նաև երկու վանդակի ցուցակ, և յուրաքանչյուր ցուցակ ունի 3 տարր: յուրաքանչյուր տարր ուրվագծված է իր առանձին վանդակում, ինչպես ցույց է տրված Նկար 5 -ում:
Օգտագործողի միջերեսի կոճակները կապված են ծրագրային ապահովման հրամանների հետ. Աղյուսակ 1 -ը ցույց է տալիս GreenPAK- ին ուղարկված հրամանների շրջանակների ձևը:
Առաջին երեք բիթերը ՝ B0, B1 և B2, կպահպանեն RGB LED- ների վիճակը ՝ անմիջական վերահսկման ռեժիմում ՝ կանխորոշված գույների կոճակներով: Այսպիսով, դրանցից որևէ մեկին սեղմելիս կոճակի համապատասխան արժեքը կուղարկվի, ինչպես ցույց է տրված Աղյուսակ 2 -ում:
B3 և B4 բիթերը պահում են «+» և «-» հրամանները, որոնք պատասխանատու են զարկերակի լայնությունը մեծացնելու և նվազեցնելու համար: Երբ կոճակը սեղմվում է, բիտ արժեքը կլինի 1, իսկ երբ կոճակը բաց է թողնվում, բիտ արժեքը կլինի 0:
B5 և B6 բիթերը պատասխանատու են PWM ազդանշանի միջոցով քորոցի (գույնի) ընտրության համար. Այս բիթերի գույնի նշումները ներկայացված են աղյուսակ 3 -ում: Վերջին բիթը ՝ B7- ը, պատասխանատու է ավտոմատ խառնիչի ակտիվացման համար:
Նկար 6 -ը և Նկար 7 -ը ցույց են տալիս կոճակները ծրագրավորման բլոկների հետ կապելու գործընթացը, որոնք պատասխանատու են նախորդ արժեքները ուղարկելու համար:
Theրագրի ամբողջական դիզայնը դիտելու համար կարող եք ներբեռնել կցված «.aia» ֆայլը ծրագրի ֆայլերով և բացել այն հիմնական կայքում:
Ստորև բերված նկար 8 -ը ցույց է տալիս վերին մակարդակի միացման սխեմա:
Քայլ 5: Արդյունքներ
Կառավարիչը հաջողությամբ փորձարկվեց, և գույնի խառնուրդը, ինչպես նաև այլ հատկանիշներ, ցույց տվեց, որ աշխատում է համապատասխան կերպով:
Եզրակացություն
Այս Instructable- ում խելացի լամպի միացում է ստեղծվել, որը պետք է անլար վերահսկվի Android հավելվածի կողմից: Այս նախագծում օգտագործված GreenPAK CMIC- ը նաև օգնեց կրճատել և ներառել լույսի կառավարման մի քանի էական բաղադրիչներ մեկ փոքր IC- ի մեջ:
Խորհուրդ ենք տալիս:
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարում. 5 քայլ
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարելը. Բարև բոլորին, այսօր մենք ձեզ ցույց կտանք, թե ինչպես կարող եք վերահսկել LED- ը սմարթֆոնի միջոցով ինտերնետում
Control House Lights- ը Google Օգնականի միջոցով Arduino- ի միջոցով. 7 քայլ
Control House Lights with Google Assistant- ը Arduino- ի միջոցով. աշխատեք հիմա, բայց կարող եք հետևել դրան որպես տեղեկանք և փոփոխել ըստ
DIY փոփոխական LED վահանակ (երկակի գույն). 16 քայլ (նկարներով)
DIY փոփոխական LED վահանակ (երկակի գույն). Բարելավեք ձեր լուսավորությունը ՝ պատրաստելով մատչելի DIY վերալիցքավորվող LED վահանակ: Հագեցած երկակի գույնի պայծառության ճշգրտմամբ ՝ այս նախագիծը ձեզ տալիս է ճկունություն ՝ ձեր լույսի աղբյուրի սպիտակ հավասարակշռությունը հարմարեցնելու ձեր շրջապատի շրջապատող լուսին
Մանրանկարչություն RGB LED նշանների հավաքում (պինդ գույն) ՝ 4 քայլ
Մանրանկարչություն RGB LED նշանների հավաքում (պինդ գույն). Այս հրահանգում ես կցանկանայի պատմել, թե ինչպես եմ կառուցել այս LED նշանը տարբեր միջոցառումներում օգտագործելու համար: Ես սիրում եմ լուսավորվող նախագծերը, և ես վերջերս շահագրգռված եմ լուսավորող նշաններ անել համաժողովների և տոնավաճառների համար, որտեղ մենք կարող ենք ինչ-որ բան ցուցադրել
Neopixel RGB LED 5-գույն հեծանվորդ (Arduino) ՝ 3 քայլ
Neopixel RGB LED 5-գույնի հեծանվորդ (Arduino). Այս նախագիծը 12 RGB LED- ների օղակ է, որոնք վերահսկվում են տարբեր գույներ ցուցադրելու համար (ժպիտի ձևով) ՝ հիմնված սլայդ պոտենցիոմետրի դիմադրության վրա: Եթե որևէ մեկը որևէ առաջարկ ունի, ես ուրախ կլինեի կարդալ դրանք, քանի որ բարելավումներ միշտ կարող են լինել: