Բովանդակություն:
- Քայլ 1. Projectրագրի առանձնահատկությունները և ինտերֆեյսը
- Քայլ 2. GreenPAK ձևավորում
- Քայլ 3: UART ընդունիչ
- Քայլ 4: Վերահսկիչ միավոր
- Քայլ 5: CLK գեներատորներ և մուլտիպլեքսեր
- Քայլ 6: PWM
- Քայլ 7: Android հավելված
Video: DIY Smart LED Dimmer վերահսկվող Bluetooth- ի միջոցով `7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Այս 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րագրի առանձնահատկությունները և ինտերֆեյսը
Նախագծի առանձնահատկությունները
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 ընդունիչ
Նախ, մենք պետք է կարգավորենք 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 գեներատորներ և մուլտիպլեքսեր
Այս բաժնում կստեղծվի երեք հաճախականություն, բայց միայն մեկը կսահմանափակի FSM- ները ցանկացած ժամանակ: Առաջին հաճախականությունը RC OSC է, որը դուրս է բերվում 0 -ից P0 մատրիցայից: Երկրորդ հաճախականությունը LF OSC- ն է, որը նույնպես դուրս է բերվում 0 -ից P1 մատրիցայից; երրորդ հաճախականությունը CNT7 թողարկումն է:
3-բիթանոց LUT9- ը և 3-բիթանոց LUT11- ը թույլ են տալիս անցնել մեկ հաճախականություն ՝ ըստ 3-բիթանոց LUT14 ելքի: Դրանից հետո ընտրված ժամացույցը փոխանցում է FSM0- ին և FSM1- ին CNT1- ի և CNT3- ի միջոցով:
Քայլ 6: PWM
Վերջապես, FSM0 արժեքը փոխակերպվում է PWM ազդանշանի և հայտնվում է 20 -րդ կապի միջոցով, որը նախաստորագրված է որպես ելք և միացված է արտաքին LED- ներին:
Քայլ 7: 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ուցադրված օրինակը ցածր լարման է, բայց կարող է փոփոխվել ավելի բարձր լարման իրականացման համար:
Խորհուրդ ենք տալիս:
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարում. 5 քայլ
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարելը. Բարև բոլորին, այսօր մենք ձեզ ցույց կտանք, թե ինչպես կարող եք վերահսկել LED- ը սմարթֆոնի միջոցով ինտերնետում
Bluetooth- ով վերահսկվող LED- ը Arduino Uno- ի միջոցով. 7 քայլ
Bluetooth- ով կառավարվող LED- ը Arduino Uno- ի միջոցով. Այս նախագիծը վերաբերում է Arduino- ի և Bluetooth հավելվածի միջոցով LED լույսերը կառավարելուն: Այս նախագծի համար ես օգտագործել եմ Arduino Uno- ն, բայց դուք կարող եք օգտագործել ցանկացած Arduino տախտակ: Ներբեռնեք այս աղբյուրի կոդը և վերբեռնեք այն ձեր տախտակին ՝ նախագիծը սկսելուց առաջ
Arduino ռոբոտ ՝ հեռավորության, ուղղության և ռոտացիայի աստիճանի (Արևելք, Արևմուտք, Հյուսիս, Հարավ) ձայնով վերահսկվող Bluetooth մոդուլի և ինքնավար ռոբոտի շարժման միջոցով. 6 քայլ
Arduino ռոբոտը ՝ հեռավորության, ուղղության և ռոտացիայի աստիճանի (Արևելք, Արևմուտք, Հյուսիս, Հարավ), որը վերահսկվում է ձայնով ՝ օգտագործելով Bluetooth մոդուլ և ինքնավար ռոբոտների շարժում. , Ձախ, Աջ, Արևելք, Արևմուտք, Հյուսիս, Հարավ) պահանջվում է հեռավորություն սանտիմետրերով ՝ օգտագործելով ձայնային հրամանը: Ռոբոտը կարող է տեղափոխվել նաև ինքնավար
RC Car Hack - Bluetooth վերահսկվող Android հավելվածի միջոցով. 3 քայլ (նկարներով)
RC Car Hack - Bluetooth վերահսկվող Android հավելվածի միջոցով. Ես վստահ եմ, որ ձեզանից յուրաքանչյուրը կարող է տանը գտնել չօգտագործված RC մեքենա: Այս հրահանգը կօգնի ձեզ փոխել ձեր հին RC մեքենան օրիգինալ նվերի :) Շնորհիվ այն բանի, որ RC մեքենան, որը ես ունեի, փոքր էր, ես ընտրել եմ Arduino Pro Mini- ն որպես հիմնական վերահսկիչ: Մեկ այլ
Gեստերով վերահսկվող մարզվող ռոբոտը ՝ Bluetooth- ով Arduino- ի միջոցով. 4 քայլ
Gեստերով վերահսկվող մարզվող ռոբոտի ձեռքը Bluetooth- ով Arduino- ի միջոցով. Թևում կան երկու ռեժիմ: Նախ ՝ ձեռքով ռեժիմն է, որը կարող եք բջջային հեռախոսի մեջ թևը շարժել Bluetooth- ով ՝ տեղափոխելով սահիչները ծրագրի վրա: Միևնույն ժամանակ, դուք կարող եք պահպանել ձեր դիրքերը և կարող եք խաղալ … Երկրորդը ժեստի ռեժիմն է, որն օգտագործում է ձեր ph