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

Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ ՝ 4 քայլ
Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ ՝ 4 քայլ

Video: Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ ՝ 4 քայլ

Video: Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ ՝ 4 քայլ
Video: 🔵 Blackview Tab 16 - Պլանշետների ՄԱՆՐԱՄԱՍՆԱԿԱՆ ԴԻՏՈՒՄ 2024, Հուլիսի
Anonim
Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ
Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ
Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ
Անլար արագացուցիչ ՝ վերահսկվող Rgb-LED- ներ

MEMS (Միկրոէլեկտրամեխանիկական համակարգեր) արագացուցիչները լայնորեն օգտագործվում են որպես բջջային հեռախոսների և տեսախցիկների թեքության տվիչներ: Պարզ արագացուցիչները հասանելի են ինչպես ic-chip- ի, այնպես էլ էժան զարգացման pcb- տախտակների տեսքով:

Անլար չիպսերը նույնպես մատչելի են և հասանելի հավաքված սխեմաներում ՝ համապատասխան ալեհավաքի ցանցով և անջատման կափարիչներով: Սերիական ինտերֆեյսի միջոցով միացրեք ինչպես անլար տախտակը, այնպես էլ արագացուցիչը մինչև միկրոկառավարիչը, և դուք ունեք անլար վերահսկիչ ՝ nintendo-wii գործառույթներով: Այնուհետև կառուցեք ընդունիչ նույն տիպի անլար չիպով և pwm վերահսկվող rgb-LED- ներով, voila, դուք ունեք անլար, թեքությամբ վերահսկվող գունավոր սենյակի կայծակ: Պահեք հաղորդիչ-տախտակի մակարդակը, երբ տախտակը նայում է վերև, և LED- ը սառը կապույտ է, միայն կապույտ լեդն է ակտիվ: Այնուհետև հաղորդիչը թեքեք մեկ ուղղությամբ և խառնեք կարմիրի կամ կանաչի ՝ կախված նրանից, թե որ ուղղությամբ եք այն թեքում: Թեքեք մինչև 90 աստիճան, և անցեք կարմիր և կապույտ, կանաչ և կապույտ բոլոր խառնուրդների միջով, մինչև միայն կարմիր կամ կանաչը ակտիվանա 90 աստիճանի թեքությամբ: Թեքեք մի փոքր և x, և y ուղղությամբ, և կստանաք բոլոր գույների խառնուրդ: Բոլոր ուղղություններով 45 աստիճանի դեպքում լույսը հավասար է կարմիր, կանաչ և կապույտ, այլ կերպ ասած ՝ սպիտակ լույսի խառնուրդին: Օգտագործված մասերը հասանելի են ինտերնետային հոբբի-էլեկտրոնային խանութներից: Պետք է նույնականացվի որոշ նկարներից:

Քայլ 1: Հաղորդիչ արագացուցիչով

Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով
Հաղորդիչ արագացուցիչով

Հաղորդիչը հիմնված է Atmel avr168 միկրոկոնտրոլերի վրա: 168-ի հարմար կարմիր տախտակը արդուինո տախտակ է `լարման կարգավորիչով և միացումով: Արագացուցիչը avr- ին միացված է բիթով հարվածված i2c ավտոբուսով, իսկ անլար տախտակը միացված է ապարատային SPI- ով, (Serial Peripheral Interface):

Հացատախտակն ամբողջովին անլար է, որի տակ ամրացված է 4, 8 Վ մարտկոցով տուփը: Անլար տախտակը և arduino- ն ընդունում են մինչև 9 Վ լարման և ունեն ներկառուցված գծային լարման կարգավորիչ, սակայն արագացուցիչին անհրաժեշտ է 3, 3 Վ լարման կարգավորվող երկաթուղուց:

Քայլ 2. Ստացող RGB-LED- ով

Ընդունիչ RGB-LED- ով
Ընդունիչ RGB-LED- ով
Ընդունիչ RGB-LED- ով
Ընդունիչ RGB-LED- ով
Ընդունիչ RGB-LED- ով
Ընդունիչ RGB-LED- ով

Ստացողը հիմնված է atmel avr169 թիթեռի թիթեռի վրա: Տախտակն ունի բազմաթիվ առանձնահատկություններ, որոնք չեն օգտագործվել այս նախագծում: Անլար տրանսը միացված է PortB- ին, իսկ pwm- ով կառավարվող led- ը միացված է PortD- ին: Էլեկտրաէներգիան մատակարարվում է ISP- ի վերնագրով, 4.5V- ը բավարար է: Անլար տախտակը կարող է հանդուրժել 5 Վ մուտքային/ելքային կապերի վրա, սակայն կարիք ունի 3.3 Վ լարման, որը մատակարարվում է բորտ կարգավորիչի կողմից:

Rf tranceiver- ի փոփոխված վերնագիր-մալուխը իսկապես հարմար է և միացնում է անլար տախտակը թիթեռի էներգիայի և ապարատային spi վերահսկիչի հետ: Shiftbright- ը rgb- ով ղեկավարվող զարկերակի լայնության մոդուլյացիայի վերահսկիչ է, որն ընդունում է 4 բայթ հրաման, որը կողպված է, իսկ հետո կողպված է ելքային կապում: Իրոք, հեշտ է միացնել շարքը: Պարզապես դուրս հանեք շատ հրամայական բառեր, և առաջինը տեղափոխվածը կավարտվի երիցուկի շղթայի վերջին միացված LED- ով:

Քայլ 3: C- ծրագրավորում

Կոդը գրված է C- ով, քանի որ ես հոգ չէի սովորելու «ավելի հեշտ» մշակման լեզուն, որի վրա հիմնված է arduino- ն: Ես սովորելու փորձի համար ինքս եմ գրել SPI և rf tranceiver ինտերֆեյսը, բայց i2c հավաքողի կոդը վերցրել եմ avrfreaks.net- ից: Shiftbright ինտերֆեյսը bitbanged է C- կոդի մեջ: Խնդիրներից մեկը, որին ես հանդիպեցի, արագացուցիչի թողարկման փոքր ճառագայթային տատանումներն էին: Ես դա լուծեցի ծրագրային ապահովման ցածրորակ զտիչով: Շարժվող միջին կշռված արագացուցիչի արժեքների վրա: rf-tranceiver- ը աջակցում է ապարատային crc և ack ավտոմատ վերահաղորդմամբ, սակայն այս նախագծի համար առավել կարևոր էր led- ների իրական ժամանակի սահուն թարմացումը: Արագացուցիչի արժեքներով յուրաքանչյուր փաթեթ կարիք չունի անձեռնմխելի հասնել ստացողի մոտ, քանի դեռ վնասված փաթեթներն անտեսվում են: Ես խնդիրներ չունեի կորած ՌԴ փաթեթների հետ 20 մետր հեռավորության վրա: Բայց ավելի հեռու կապը դարձավ անկայուն, և led- ները անընդհատ չէին թարմացվում: Հաղորդիչի հիմնական հանգույցը կեղծ կոդով. Սկզբնականացնել (); իսկ (ճշմարիտ) {Արժեքներ = abs (ստանալ x, y, z արագացուցիչի արժեքներ ()); RF_send (արժեքներ); ուշացում (20 ms);} Ստացողի հիմնական հանգույցը կեղծ կոդի մեջ. սկզբնականացնել (); իսկ (ճշմարիտ) {newValues = blocking_receiveRF ()); rgbValues = rgbValues + 0.2*(newValues-rgbValues); գրել rgbValues to shiftbrigth;}

Քայլ 4: Արդյունքը

Արդյունքը
Արդյունքը
Արդյունքը
Արդյունքը
Արդյունքը
Արդյունքը
Արդյունքը
Արդյունքը

Ես զարմացած էի, թե որքան սահուն և ճշգրիտ էր հսկողությունը: Դուք իսկապես ունեք մատների ծայրերի գույնի ճշգրտություն: Pwm-LED- կարգավորիչը յուրաքանչյուր գույնի համար ունի 10 բիթ թույլատրելիություն, ինչը կազմում է միլիոնավոր հնարավոր գույներ: Unfortunatelyավոք, արագացուցիչը ունի ընդամենը 8 բիթ թույլատրելիություն, ինչը տեսական գույների թիվը հասցնում է հազարների: Բայց դեռ հնարավոր չէ ընկալել գույնի փոփոխության որևէ քայլ: Ես ընդունիչը դրեցի IKEA- լամպի մեջ և ներքևում նկարեցի տարբեր գույների: Կա նաև տեսանյութ, (չնայած սարսափելի որակի)

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