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

Գունավոր խառնիչ Arduino- ով. 9 քայլ (նկարներով)
Գունավոր խառնիչ Arduino- ով. 9 քայլ (նկարներով)

Video: Գունավոր խառնիչ Arduino- ով. 9 քայլ (նկարներով)

Video: Գունավոր խառնիչ Arduino- ով. 9 քայլ (նկարներով)
Video: արագ կաթնաշոռ կրեմ համար հավասարեցում եւ ձեւավորում ! Շատ համեղ եւ կայուն! 2024, Հուլիսի
Anonim
Image
Image

Հետևեք հեղինակի ավելին ՝

Գունավոր ոլորտ Arduino- ի հետ
Գունավոր ոլորտ Arduino- ի հետ
Doodle Bot դիզայնի գործընթացով
Doodle Bot դիզայնի գործընթացով
Doodle Bot դիզայնի գործընթացով
Doodle Bot դիզայնի գործընթացով
Arduino Touch դաշնամուր
Arduino Touch դաշնամուր
Arduino Touch դաշնամուր
Arduino Touch դաշնամուր

Մասին ՝ Միշտ սովորելով….. Ավելին tliguori330- ի մասին »

Գույնի խառնիչը հիանալի ծրագիր է բոլորի համար, ովքեր աշխատում և աճում են Arduino- ի հետ: Այս հրահանգի ավարտին դուք կկարողանաք խառնել և համադրել գրեթե բոլոր երևակայելի գույները ՝ պտտելով 3 բռնակ: Հմտության մակարդակը բավական ցածր է, որ նույնիսկ ամբողջական նորեկը կարող է այն հաջողությամբ ավարտել, բայց նաև բավական հետաքրքիր, որպեսզի հաճելի լինի փորձառու անասնաբույժի համար: Այս նախագծի արժեքը գրեթե ոչինչ չէ, և Arduino- ի հավաքածուների մեծ մասը գալիս է անհրաժեշտ նյութերով: Այս օրենսգրքի հիմքում ընկած են arduino- ի հիմնական գործառույթները, որոնք arduino օգտագործող ցանկացած անձ կցանկանա հասկանալ: Մենք ավելի մանրամասն կքննարկենք analogRead () և analogWrite () գործառույթների մասին, ինչպես մենք սովորական քարտեզ () կոչվող գործառույթների մասին: Այս հղումները ձեզ բերում են arduino- ի հղման էջեր այս գործառույթների համար:

Քայլ 1: Մասեր և բաղադրիչներ

Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ
Մասեր և բաղադրիչներ

Արդուինո Ունո

Պոտենցիոմետր (x3)

RGB LED

220 օմ դիմադրություն (x3)

Թռիչքային լարեր (x12)

Հացի տախտակ

Քայլ 2: Պլանավորեք ձեր առաջընթացը

Պլանավորեք ձեր առաջընթացը
Պլանավորեք ձեր առաջընթացը

Կարող է շատ օգտակար լինել պլանավորել, թե ինչպես կավարտեք ձեր նախագիծը: Կոդավորումը վերաբերում է տրամաբանական առաջընթացին մեկ քայլից մյուսը: Ես կազմել եմ հոսքի աղյուսակ, որն ընդգծում է, թե ինչպես եմ ցանկանում, որ իմ ուրվագիծը գործի: Ընդհանուր նպատակն է ունենալ 3 կոճ (պոտենցիոմետր), որոնք վերահսկում են RGB LED- ի երեք գույներից յուրաքանչյուրը: Դա իրականացնելու համար մենք պետք է ստեղծենք հոսքի գծապատկերին համապատասխան ուրվագիծ: Մենք կցանկանանք….

1) Կարդացեք 3 տարբեր պոտենցիոմետրեր և պահպանեք դրանց արժեքները փոփոխականների մեջ:

2) Մենք այդ արժեքները կփոխարկենք համապատասխանելու RGB LED- ի տիրույթին:

3) Հետո, վերջապես, մենք կգրենք այդ փոխարկված արժեքները RGB- ի յուրաքանչյուր գույնի վրա:

Քայլ 3. Ինչպես օգտագործել պոտենցիոմետրեր

Ինչպես օգտագործել պոտենցիոմետրեր
Ինչպես օգտագործել պոտենցիոմետրեր
Ինչպես օգտագործել պոտենցիոմետրեր
Ինչպես օգտագործել պոտենցիոմետրեր

Էլեկտրոնիկայի հավաքածուի ամենակարևոր բաղադրիչներից մեկը `պոտենցիոմետրը կարող է օգտագործվել տարբեր նախագծերում: պոտենցիոմետրերի գործառույթը թույլ է տալիս օգտագործողին ֆիզիկապես փոխել շրջանի դիմադրությունը: Պոտենցիոմետրի ամենահեռավոր օրինակը լուսամփոփն է: բռնակը սահելը կամ պտտելը փոխում է շրջանի երկարությունը: ավելի երկար ճանապարհը հանգեցնում է ավելի մեծ դիմադրության: Ընդլայնված դիմադրությունը հակադարձորեն նվազեցնում է հոսանքը և լուսավորությունը: Դրանք կարող են լինել տարբեր ձևի և չափի, բայց շատերն ունեն նույն հիմնական կառուցվածքը: Մի ուսանող օգնություն խնդրեց իր կիթառը շտկելու համար, և մենք պարզեցինք, որ դրա վրայի կոճակները նույնն են, ինչ պոտենցիոմետրերը: Ընդհանուր առմամբ, դուք արտաքին ոտքերն եք, որոնք միացված էին 5 վոլտ և գետնին, իսկ միջին ոտքը անցնում է A0- ի նման անալոգային քորոցին

Քայլ 4. Միացման սխեմատիկ (3x) պոտենցիոմետրի համար

Միացման սխեմատիկ (3x) պոտենցիոմետրի համար
Միացման սխեմատիկ (3x) պոտենցիոմետրի համար
Միացման սխեմատիկ (3x) պոտենցիոմետրի համար
Միացման սխեմատիկ (3x) պոտենցիոմետրի համար
Միացման սխեմատիկ (3x) պոտենցիոմետրի համար
Միացման սխեմատիկ (3x) պոտենցիոմետրի համար

Ձախ ոտքը միացված կլինի 5 վ -ին, իսկ աջը `GND- ին: Դուք կարող եք իրականում շրջել այս երկու քայլերը, և դա շատ չի վնասի նախագծին: Այն, ինչ կփոխվի, այն է, որ կողպեքը մինչև ձախ թեքելը կլինի ամբողջ լուսավորություն ՝ ամբողջ ճանապարհի փոխարեն: Միջին ոտքը միացված կլինի Arduino- ի անալոգային կապումներից մեկին: Քանի որ մենք ունենալու ենք երեք բռնակ, մենք կցանկանանք եռապատկել մեր կատարած աշխատանքը: Յուրաքանչյուր բռնակին անհրաժեշտ է 5 վ և GND, որպեսզի դրանք հնարավոր լինի կիսել հացի տախտակի միջոցով: Հացի տախտակի վրա կարմիր ժապավենը միացված է 5 վոլտ, իսկ կապույտ շերտը `գետնին: Յուրաքանչյուր բռնակ կարիք ունի իր անալոգային քորոցի, այնպես որ դրանք միացված են A0, A1, A2- ին:

Քայլ 5: AnalogRead () և փոփոխականների օգտագործումը

Potիշտ տեղադրված պոտենցիոմետրով մենք պատրաստ ենք կարդալ այդ արժեքները: Երբ մենք ցանկանում ենք դա անել, մենք օգտագործում ենք analogRead () գործառույթը: Syntիշտ շարահյուսությունը analogRead է (փին#); մեր միջին պոտենցիոմետրը կարդալու համար մենք անալոգ կկարդայինք (A1); Arduino- ի կոճակից ուղարկվող թվերի հետ աշխատելու համար մենք կցանկանանք նաև պահել այդ թվերը փոփոխականի մեջ: Կոդի տողը կկատարի այս խնդիրը, երբ մենք կարդում ենք պոտենցիոմետրը և պահում ենք նրա ընթացիկ թիվը «val» ամբողջ փոփոխականում:

int val = analogRead (A0);

Քայլ 6. Սերիական մոնիտորի օգտագործումը 1 կոճակով

Image
Image

Ներկայումս մենք կարող ենք արժեքներ ստանալ կոճակներից և դրանք պահել փոփոխականի մեջ, բայց օգտակար կլիներ, եթե կարողանայինք տեսնել այդ արժեքները: Դա անելու համար մենք պետք է օգտագործենք ներկառուցված սերիական մոնիտորը: Ստորև բերված ծածկագիրը առաջին ուրվագիծն է, որը մենք իրականում գործարկելու ենք Arduino IDE- ում, որը կարելի է ներբեռնել իրենց կայքում: Void setup- ում () մենք կակտիվացնենք յուրաքանչյուր միջին ոտքին միացված անալոգային կապում որպես INPUT և կակտիվացնենք Serial.begin- ը ՝ օգտագործելով Serial.begin (9600); հաջորդը մենք կարդում ենք բռնակներից միայն մեկը և այն պահում ենք փոփոխականի մեջ, ինչպես նախկինում: Այժմ փոփոխությունն այն է, որ մենք ավելացրել ենք մի տող, որը տպում է այն թիվը, որը պահվում է փոփոխականի մեջ: Եթե կազմեք և գործարկեք ուրվագիծը, ապա կարող եք բացել ձեր Սերիայի մոնիտորը և տեսնել էկրանին պտտվող թվեր: Ամեն անգամ, երբ կոդը շրջվում է, մենք կարդում և տպում ենք մեկ այլ թիվ: Եթե պտտեք կոճակը, որը միացված է A0- ին, ապա պետք է տեսնեք 0-1023-ի սահմաններում գտնվող արժեքներ: Հետագայում նպատակը կլինի կարդալ բոլոր 3 պոտիոմետրերը, որոնց պահպանման և տպման համար կպահանջվի ևս 2 անալոգային ընթերցում և 2 տարբեր փոփոխական:

void setup () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Serial.begin (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }

Քայլ 7: RGB LED- ի օգտագործումը

RGB LED- ի օգտագործումը
RGB LED- ի օգտագործումը
RGB LED- ի օգտագործումը
RGB LED- ի օգտագործումը
RGB LED- ի օգտագործումը
RGB LED- ի օգտագործումը

4 ոտանի RGB LED- ն Arduino- ի իմ ամենասիրելի բաղադրիչներից մեկն է: Ես գրավիչ եմ համարում այն ձևը, որով նա կարողանում է անվերջ գույներ ստեղծել 3 հիմնական գույների խառնուրդներից: Կարգավորումը նման է ցանկացած սովորական LED- ի, բայց այստեղ մենք հիմնականում ունենք կարմիր, կապույտ և կանաչ LED- ներ `միասին համակցված: Կարճ ոտքերը յուրաքանչյուրը կառավարվելու են arduino- ի PWM կապերից մեկի միջոցով: Ամենաերկար ոտքը միացված կլինի 5 վոլտին կամ գետնին `կախված ձեր ընդհանուր անոդից կամ ընդհանուր կաթոդ LED- ից: Խնդիրը լուծելու համար դուք պետք է փորձեք երկու ուղին: Մենք արդեն կունենանք 5 վ և GND- ը, որը միացված է սեղանին, պետք է հեշտությամբ փոխվի: Վերևի դիագրամը ցույց է տալիս նաև 3 դիմադրության օգտագործումը: Իրականում ես հաճախ բաց եմ թողնում այս քայլը, քանի որ չեմ ունեցել և LED- ն պայթում է ինձ վրա:

Գույներ ստեղծելու համար մենք կօգտագործենք analogWrite () գործառույթը ՝ վերահսկելու համար, թե որքան կարմիր, կապույտ կամ կանաչ ավելացնել: Այս գործառույթն օգտագործելու համար հարկավոր է ասել, թե որ պին# -ի հետ ենք խոսելու և մի թիվ 0-255 միջև: 0 -ն ամբողջովին անջատված է, իսկ 255 -ը `մեկ գույնի ամենաբարձր գումարը: Եկեք կարմիր ոտքը միացնենք 9 -ի, կանաչը ՝ 10 -ի, իսկ կապույտը ՝ 11 -ի: Սա կարող է որոշակի փորձ և սխալ պահանջել ՝ պարզելու համար, թե որ ոտքն ինչ գույն է: Եթե ես ուզում էի մանուշակագույն երանգ ստեղծել, ես կարող էի անել շատ կարմիր, ոչ կանաչ, և գուցե կապույտի կես ուժ: Ես խրախուսում եմ ձեզ շոշափել այս թվերը, դա իսկապես հուզիչ է: Որոշ սովորական օրինակներ ներկայացված են վերևի նկարներում

void setup () {

pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}

Քայլ 8. Պոտենցիոմետրերի օգտագործումը RGB LED- ը վերահսկելու համար (մեկ վրիպակով)

Պոտենցիոմետրերի օգտագործումը ՝ RGB LED- ը վերահսկելու համար (մեկ վրիպակով)
Պոտենցիոմետրերի օգտագործումը ՝ RGB LED- ը վերահսկելու համար (մեկ վրիպակով)
Պոտենցիոմետրերի օգտագործումը ՝ RGB LED- ը վերահսկելու համար (մեկ վրիպակով)
Պոտենցիոմետրերի օգտագործումը ՝ RGB LED- ը վերահսկելու համար (մեկ վրիպակով)
Պոտենցիոմետրերի օգտագործում RGB LED- ը վերահսկելու համար (մեկ վրիպակով)
Պոտենցիոմետրերի օգտագործում RGB LED- ը վերահսկելու համար (մեկ վրիպակով)

Itամանակն է սկսել համատեղել մեր երկու կոդերը միասին: Ստանդարտ տախտակի վրա դուք պետք է բավականաչափ տեղ ունենաք ՝ տեղավորելու բոլոր 3 բռնակներն ու RGB LED- ը: Գաղափարն այն է, որ կարմիր կապույտի և կանաչի արժեքները մուտքագրելու փոխարեն, մենք օգտագործելու ենք յուրաքանչյուր պոտենիոմետրից պահպանված արժեքները ՝ գույներն անընդհատ փոխելու համար: այս դեպքում մեզ անհրաժեշտ կլինի 3 փոփոխական: կարմիր, կանաչ, կապույտ բոլոր տարբեր փոփոխականներ են: Հիշեք, որ այս փոփոխականներին կարող եք անվանել այն, ինչ ցանկանում եք: եթե պտտեք «կանաչ» կոճակը և կարմիր գումարը փոխվի, կարող եք անվանումները ճիշտ համընկնել: այժմ կարող եք պտտել յուրաքանչյուր բռնակ և վերահսկել գույները !!

void setup () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void setup () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, greenVal); analogWrite (11, blueVal); }

Քայլ 9: ԲՈՆՈՍ. Քարտեզ () գործառույթը և մաքրող ծածկագիրը

Դուք կարող եք նկատել, որ երբ սկսում եք պտտել բռնակը մեկ գույնի համար, այն կաճի, այնուհետև հանկարծակի կիջնի և անջատվելու է: Աճման և արագ անջատման այս ձևը կրկնվում է 4 անգամ, երբ կողպեքը ամբողջովին շրջում եք: Եթե հիշում եք, մենք ասացինք, որ պոտենցիոմետրերը կարող են կարդալ արժեքներ 0 -ից 1023 -ի միջև: analogWrite () գործառույթը ընդունում է միայն 0 -ից 255 -ի արժեքները: երբ պոտենցիոմետրը անցնում է 255 -ից, այն հիմնականում սկսում է 0 -ից: Գոյություն ունի մի լավ գործառույթ, որն օգնում է սխալ, որը կոչվում է քարտեզ (): մեկ քայլով կարող եք թվերի մի շարք վերածել թվերի այլ տիրույթի: 0-1023-ից թվերը կդարձնենք 0-255-ի թվեր: Օրինակ, եթե կոճակը դրված էր կես ճանապարհի վրա, այն պետք է կարդա մոտ 512: այդ թիվը կփոխվի 126 -ի, ինչը LED- ի կես ուժն է: Այս վերջին ուրվագծում ես իմ հարմարության համար անվանեցի փոփոխական անուններով կապում: Այժմ դուք ունեք ավարտված գույնի խառնիչ փորձարկելու համար:

// փոփոխական անուններ պոտենցիոմետրերի կապում

int redPot = A0; int greenPot = A1; int bluePot = A2 // փոփոխական անուններ RGB կապում int redLED = 9; int կանաչ LED = 10; int blueLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (կարմիր LED, OUTPUT); pinMode (կանաչ LED, OUTPUT); pinMode (կապույտ LED, OUTPUT); Սերիա, սկիզբ (9600); } void loop () {// կարդալ և պահպանել արժեքները պոտենցիոմետրերից int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // փոխարկել 0-1023-ից 0-255 արժեքները RGB LED redVal = քարտեզի համար (redVal, 0, 1023, 0, 255); greenVal = քարտեզ (greenVal, 0, 1023, 0, 255); blueVal = քարտեզ (blueVal, 0, 1023, 0, 255); // գրել այս փոխարկված արժեքները RGB LED analogWrite- ի յուրաքանչյուր գույնի (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // ցույց տալ արժեքները Սերիական մոնիտորի Serial.print ("կարմիր:"); Serial.print (redVal); Serial.print ("կանաչ:"); Serial.print (greenVal); Serial.print ("կապույտ"); Serial.println (blueVal); }

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