Բովանդակություն:
- Քայլ 1: RGB գունային տարածք
- Քայլ 2. Լավ նավը Lissajous
- Քայլ 3. Սպասեք. Ինչպե՞ս կարող ենք LED վարել սինուսոիդ ալիքով:
- Քայլ 4: Եկեք կառուցենք եռանդուն 3D օրինաչափություն
- Քայլ 5: Այս ամենը միասին դնել Arduino- ի վրա
- Քայլ 6: Ի՞նչ է հաջորդը:
Video: Գունավոր տարածքի ուսումնասիրություն. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Մեր աչքերը ընկալում են լույսը ընկալիչների միջոցով, որոնք զգայուն են տեսողական սպեկտրի կարմիր, կանաչ և կապույտ գույների նկատմամբ: Մարդիկ այս փաստն օգտագործել են ֆիլմերի, հեռուստատեսության, համակարգիչների և այլ սարքերի միջոցով գունավոր պատկերներ տրամադրելու համար մոտ հարյուր տարվա ընթացքում:
Համակարգչի կամ հեռախոսի էկրանին պատկերները ցուցադրվում են բազմաթիվ գույներով `փոխելով կարմիր, կանաչ և կապույտ LED- ների ինտենսիվությունը, որոնք գտնվում են էկրանի կողքին: Կարմիր, կանաչ կամ կապույտ LED- ներից լույսի ինտենսիվությունը փոխելով կարող են ցուցադրվել միլիոնավոր տարբեր գույներ:
Այս նախագիծը կօգնի ձեզ ուսումնասիրել կարմիր, կանաչ և կապույտ (RGB) գունային տարածքը ՝ օգտագործելով Arduino, RGB LED և մի փոքր մաթեմատիկա:
Դուք կարող եք մտածել երեք գույնի ՝ կարմիր, կանաչ և կապույտ ինտենսիվությունների մասին ՝ որպես խորանարդի կոորդինատներ, որտեղ յուրաքանչյուր գույն գտնվում է մեկ առանցքի երկայնքով, և բոլոր երեք առանցքները ուղղահայաց են միմյանց վրա: Որքան մոտ եք առանցքի զրոյական կետին կամ սկզբնաղբյուրին, այնքան քիչ է այդ գույնը: Երբ բոլոր երեք գույների արժեքները գտնվում են զրոյական կետում կամ սկզբնաղբյուրում, ապա գույնը սև է, իսկ RGB LED- ն ամբողջովին անջատված է: Երբ բոլոր երեք գույների արժեքներն այնքան բարձր են, որքան հնարավոր է (մեր դեպքում ՝ 255 երեք գույներից յուրաքանչյուրի համար), RGB LED- ն ամբողջությամբ միացված է, և աչքը գույների այս համադրությունը ընկալում է որպես սպիտակ:
Քայլ 1: RGB գունային տարածք
Շնորհակալություն Kenneth Moreland- ին ՝ իր գեղեցիկ կերպարն օգտագործելու թույլտվության համար:
Մենք կցանկանայինք ուսումնասիրել 3D գունային տարածության խորանարդի անկյունները ՝ օգտագործելով Arduino- ին միացված RGB LED, բայց նաև ցանկանում ենք դա անել հետաքրքիր ձևով: Մենք կարող էինք դա անել ՝ երեք օղակ տեղադրելով (մեկը ՝ կարմիրի, կանաչի և կապույտի համար), և յուրաքանչյուր հնարավոր գունային համադրությամբ անցնելը, բայց դա իսկապես ձանձրալի կլիներ: լազերային շոու? Կախված պարամետրերից, Lissajous- ի օրինակը կարող է ունենալ անկյունագծային գծի, շրջանակի, 8-ի պատկեր կամ դանդաղ պտտվող թիթեռի նմանվող դանդաղ պտտվող նախշ: Lissajous օրինաչափությունները ստեղծվում են x-y (կամ, մեր դեպքում, x-y-z կամ R-G-B) առանցքների վրա գծված երկու (կամ ավելի) տատանումների սինուսոիդային ազդանշանների հետևման միջոցով:
Քայլ 2. Լավ նավը Lissajous
Առավել հետաքրքիր Lissajous նախշերը հայտնվում են, երբ սինուսոիդային ազդանշանների հաճախականությունները փոքր չափով տարբերվում են: Այստեղ տատանումների լուսանկարում հաճախականությունները տարբերվում են 5 -ից 2 հարաբերությամբ (երկուսն էլ պարզ թվեր են): Այս օրինակը բավականին լավ է ծածկում իր քառակուսին և գեղեցիկ է մտնում անկյունները: Բարձրագույն պարզ թվերն ավելի լավ աշխատանք կունենային ՝ ծածկելով քառակուսին և ավելի խորը թեքվելով դեպի անկյունները:
Քայլ 3. Սպասեք. Ինչպե՞ս կարող ենք LED վարել սինուսոիդ ալիքով:
Դու բռնեցիր ինձ! Մենք ցանկանում ենք ուսումնասիրել 3D գունային տարածությունը, որը տատանվում է անջատված (0) -ից մինչև ամբողջական (255) երեք գույներից յուրաքանչյուրի համար, սակայն սինուսոիդալ ալիքները տատանվում են -1 -ից +1 -ի սահմաններում: Մենք այստեղ մի փոքր մաթեմատիկա և ծրագրավորում ենք անելու ՝ մեր ուզածին հասնելու համար:
- Յուրաքանչյուր արժեքը բազմապատկեք 127 -ով `ստանալու արժեքներ, որոնք տատանվում են -127 -ից +127 -ի սահմաններում
- Ավելացրեք 127 և կլորացրեք յուրաքանչյուր արժեք ՝ 0 -ից 255 -ի սահմաններում արժեքներ ստանալու համար (մեզ համար բավական մոտ 255 -ին)
0-ից 255-ի սահմաններում գտնվող արժեքները կարող են ներկայացվել մեկ բայթ թվերով (տվյալների «տեսակ» C- ի նման Arduino ծրագրավորման լեզվում), այնպես որ մենք կպահպանենք հիշողությունը ՝ օգտագործելով մեկ բայթ ներկայացում:
Բայց ինչ վերաբերում է անկյուններին: Եթե դուք օգտագործում եք աստիճաններ, ապա sinusoid- ի անկյունները տատանվում են 0 -ից 360 -ի սահմաններում: Եթե դուք օգտագործում եք ռադիաններ, ապա անկյունները տատանվում են 0 -ից 2 անգամ π («pi»): Մենք կանենք մի բան, որը կրկին կպահպանի մեր հիշողությունը մեր Արդուինոյում, և կմտածենք 256 մասի բաժանված շրջանակի մասին և կունենանք «երկուական անկյուններ», որոնք տատանվում են 0 -ից 255 -ի սահմաններում, այնպես որ յուրաքանչյուր գույնի «անկյունները» կարող են լինել այստեղ ներկայացված է նաև մեկ բայթ թվերով կամ տառերով:
Arduino- ն իր տեսքով բավականին զարմանալի է, և չնայած այն կարող է հաշվարկել սինուսոիդալ արժեքները, մեզ ավելի արագ բան է պետք: Մենք նախապես կհաշվենք արժեքները և դրանք կդնենք 256 մուտքագրված մեր ծրագրում մեկ բայթ կամ char արժեքների երկար տեսականու մեջ (տե՛ս Arduino ծրագրի SineTable […] հայտարարագիրը):
Քայլ 4: Եկեք կառուցենք եռանդուն 3D օրինաչափություն
Երեք գույներից յուրաքանչյուրի համար աղյուսակը տարբեր հաճախականությամբ շրջելու համար մենք կպահպանենք մեկ ինդեքս մեկ գույնի համար և գույների միջով անցնելիս յուրաքանչյուր ինդեքսին կավելացնենք համեմատաբար առաջնային փոխհատուցումներ: Մենք կընտրենք 2, 5 և 11 -ը որպես կարմիր, կանաչ և կապույտ ինդեքսի արժեքների համեմատաբար առաջնային փոխհատուցում: Arduino- ի սեփական ներքին մաթեմատիկական կարողությունները կօգնեն մեզ ՝ ինքնաբերաբար փաթաթվելով, երբ յուրաքանչյուր ինդեքսին ավելացնում ենք օֆսեթ արժեքը:
Քայլ 5: Այս ամենը միասին դնել Arduino- ի վրա
Arduinos- ի մեծ մասն ունի մի շարք PWM (կամ զարկերակի լայնության մոդուլյացիա) ալիքներ: Մեզ երեքը պետք կգան այստեղ: Arduino UNO- ն հիանալի է դրա համար: Նույնիսկ մի փոքր 8-բիթանոց Atmel միկրոկոնտրոլերը (ATTiny85) աշխատում է առասպելական:
PWM ալիքներից յուրաքանչյուրը կշարժի RGB LED- ի մեկ գույն ՝ օգտագործելով Arduino- ի «AnalogWrite» գործառույթը, որտեղ սինուսոիդալ ցիկլի շուրջ յուրաքանչյուր կետի գույնի ինտենսիվությունը ներկայացված է զարկերակի լայնությամբ կամ աշխատանքային ցիկլով 0 -ից (բոլորը անջատված է) մինչև 255 (բոլորը միացված): Մեր աչքերը ընկալում են այս զարկերակի տարբեր լայնությունները, որոնք կրկնվում են բավական արագ, որպես LED- ի տարբեր ինտենսիվություններ կամ պայծառություններ: Երեք գույներից յուրաքանչյուրը RGB լուսադիոդով համատեղելով բոլոր երեք PWM ալիքները, մենք ստանում ենք 256*256*256 կամ ավելի քան տասնվեց միլիոն գույներ ցուցադրելու հնարավորություն:
Դուք պետք է ստեղծեք Arduino IDE (Ինտերակտիվ զարգացման միջավայր) և միացրեք այն ձեր Arduino տախտակին ՝ օգտագործելով նրա USB մալուխը: Գործարկեք թռիչքներ PWM 3, 5 և 6 ելքերից (պրոցեսորային կապում 5, 11 և 12) մինչև երեք 1 KΩ (հազար օմ) ռեզիստորներ ձեր նախատախտակի կամ պրոտո վահանի վրա, իսկ դիմադրիչներից մինչև LED R, G, և B կապում:
- Եթե RGB LED- ը սովորական կաթոդ է (բացասական տերմինալ), ապա կաթոդից մի մետաղալար անցեք դեպի Arduino- ի GND կապը:
- Եթե RGB LED- ը սովորական անոդ է (դրական տերմինալ), ապա անոդից մի մետաղալար անցեք դեպի Arduino- ի +5V կապը:
Arduino- ի էսքիզը կաշխատի ցանկացած դեպքում: Ես պատահաբար օգտագործեցի SparkFun Electronics / COM-11120 RGB ընդհանուր կաթոդ LED (նկարը ՝ վերևում, SparkFun վեբ կայքից): Ամենաերկար քորոցը սովորական կաթոդն է:
Ներբեռնեք RGB-Instructable.ino ուրվագիծը, բացեք այն Arduino IDE- ով և փորձարկեք կազմեք այն: Համոզվեք, որ նշեք Arduino- ի ճիշտ թիրախը կամ չիպը, այնուհետև ծրագիրը բեռնեք Arduino- ում: Այն պետք է անմիջապես սկսվի:
Դուք կտեսնեք RGB LED ցիկլը այնքան գույներով, որքան կարող եք անվանել, իսկ միլիոնավորները ՝ ոչ:
Քայլ 6: Ի՞նչ է հաջորդը:
Մենք նոր ենք սկսել ուսումնասիրել RGB գունային տարածքը մեր Arduino- ով: Որոշ այլ բաներ, որոնք ես արել եմ այս հայեցակարգի հետ, ներառում են.
Ուղղակիորեն գրել չիպային գրանցամատյաններին, AnalogWrite- ի փոխարեն, իրերն իսկապես արագացնելու համար
- Շրջանակի փոփոխում այնպես, որ IR հարևանության տվիչը արագացնի կամ դանդաղեցնի ցիկլը ՝ կախված նրանից, թե որքան մոտ եք մոտենում
- Atmel ATTiny85 8-պին միկրոկառավարիչի ծրագրավորում Arduino բեռնիչով և այս էսքիզով
Խորհուրդ ենք տալիս:
Սիմուլյացիոն ուսումնասիրություն. 9 քայլ
Սիմուլյացիոն ուսումնասիրություն. Այս ուսանելիում ես օգտագործել եմ Autodesk- ի fusion 360- ը: Սա ուսանելի է մոդելավորման ուսումնասիրության համար: Այս դեպքում ես օգտագործել եմ 360 գրասեղանի միաձուլման մոդելի և մոդելավորման աշխատանքային տարածքը: Ես ուսումնասիրել եմ 10 N ուժգնությամբ երկայնական ուժերի մոդելավորում:
Raspberry Pi- ի և MXC6226XU- ի հետ կողմնորոշման ուսումնասիրություն Python- ի միջոցով. 6 քայլ
Raspberry Pi- ի և MXC6226XU- ի հետ կողմնորոշման ուսումնասիրություն Python- ի միջոցով. Աղմուկները պարզապես մեքենայի աշխատանքի մի մասն են: Տրանսպորտային միջոցի շատ կարգավորված շարժիչի հռհռոցը հոյակապ ձայն է: Անվադողը տրտնջում է ճանապարհի վրա, քամին թրթռում է, երբ պտտվում է հայելիների շուրջը, պլաստմասե կտորները և վահանակի կտորները արտադրում են լ
Ուսումնասիրության տարածքի ցուցիչ (SAI) `8 քայլ
Ուսումնական տարածքի ցուցիչ (SAI). Wantանկանու՞մ եք ավելի հեշտ դարձնել ուսումնական վայր գտնելը եզրափակիչ շաբաթվա ընթացքում: Մտածեք ուսումնասիրության տարածքի ցուցանիշների կառուցման մասին: Ամենապարզ համակարգն ուսումնասիրության տարածքի ցուցանիշների (SAI) հավաքածու է, որոնք կապված են էներգիայի հիմնական աղբյուրի հետ, որոնք ցույց են տալիս
Պարզ ներդաշնակ շարժման փորձնական ուսումնասիրություն. 5 քայլ
Պարզ ներդաշնակ շարժման փորձնական ուսումնասիրություն. Դասարանում մենք հաճախ օգտագործում ենք վայրկյանաչափ ՝ ճոճանակի փորձարկում կամ պարզ ներդաշնակ շարժման փորձ: Ահա մարտահրավեր. Կարո՞ղ ենք արդյոք կազմել դրա շարժման իրական գրաֆիկը և տեսնել, թե որն է ակնթարթային անկյունային դիրքն ու արագությունը
3D CAD - Ստանդարտ աշխատանքային տարածքի կարգավորումներ և ստեղծում. 14 քայլ
3D CAD - Ստանդարտ աշխատանքային տարածքի կարգավորումներ և ստեղծում. իմանալով, որ կոնկրետ հիմնական պարամետրերն արդեն կան - նվազագույնի հասցնել պարբերականում կրկնվող աշխատանքի ծավալը