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

Կրկնակի կոճակ LED միացում `5 քայլ
Կրկնակի կոճակ LED միացում `5 քայլ

Video: Կրկնակի կոճակ LED միացում `5 քայլ

Video: Կրկնակի կոճակ LED միացում `5 քայլ
Video: ASECAM տեսախցիկ, որն աշխատում է ԱՌԱՆՑ ԵԼՔԻ ԵՎ ԻՆՏԵՐՆԵՏԻ!!! 2024, Նոյեմբեր
Anonim
Կրկնակի կոճակով LED միացում
Կրկնակի կոճակով LED միացում

Ես ամեն ինչ անելու եմ, որ ծերուկ լինեմ ծրագրավորման և արդուինոների հետ աշխատելու մեջ, բայց, ճիշտն ասած, իրականում ինձ այս բաները ծանոթացրին ընդամենը մի քանի օր առաջ, ուստի և իմ հսկայական ուրախությունը հաջողությամբ ստեղծելու և ծրագրավորելու համար սեփական նախագիծը այդքան շուտ:

Այս նախագիծը իրականում սկիզբ առավ իմ ծնողների ճարտարագետ ընկերոջ համարձակությունից, որը ես մի քանի օր ստաժ էի: Ես սիրում եմ մարտահրավերները, մարտահրավեր նետելու մեջ կա մի բան, որն ինձ ոգեշնչում է և ինձ գոհունակության զգացում է պարգևում, երբ ես հաջողության եմ հասնում, և ես հույս ունեմ, որ դուք նույնպես դա կանեք:

Այս ուսանելի, իմ առաջին ՝ D- ում, ես ձեզ ցույց կտամ, թե ինչպես միացնել շղթան այն բանի համար, ինչ ես անվանել եմ իմ Mark One նախագիծը, մի շրջան, որտեղ երկու կոճակ վերահսկում է LED- ի պայծառությունը (մեկը կբարձրացնի պայծառությունը, իսկ երկրորդը) կնվազեցնի այն), ինչպես նաև այն, թե ինչպես ծրագրավորել այն և ձեր արդյունքները նախագծել սերիական մոնիտորի գործիքի վրա: Ես ձեզ ցույց կտամ այն, ինչ ձեզ հարկավոր է, ինչպես նաև այն կառուցելու քայլ առ քայլ ուղեցույց: Իմ նախագիծը ներառում է հրահանգների վեբ կայքի և՛ կոճակի, և՛ խամրած դասի տարրերը, և շատ մեկնաբանվում է ինչպես իմ, այնպես էլ ձեր հարմարության համար: Եթե դեռ ծանոթ չեք ծրագրավորման լեզվին, խնդրում ենք ժամանակ հատկացնել, դա արժե այն:

Վայելեք:

Քայլ 1: Նյութեր + Գործիքներ

Նյութեր + Գործիքներ
Նյութեր + Գործիքներ

Նյութեր:

1. Arduino տախտակ (ես օգտագործել եմ Mega 2560)

2. Հացաթուղթ (առնվազն 60 տողերով)

3. Մեկ LED (ցանկացած գույն, ես օգտագործել եմ կարմիր)

4. Երկու ստանդարտ կոճակ

5. Հինգ կապույտ լար (բացասական հոսանքը ցույց տալու համար)

6. Երեք կարմիր լար (դրական հոսանքը ցույց տալու համար)

7. Մեկ նարնջագույն, կանաչ և դեղին մետաղալար (PWM կառավարման լարերը `3 հիմնական բաղադրիչների միջև տարբերակման համար)

8. Չորս սպիտակ լար (միացումը միացնելու համար)

9. Երեք 10K Օմ դիմադրություն (շագանակագույն, սև, նարնջագույն, ոսկի)

Գործիքներ:

1. Նոթբուք

2. Arduino IDE ծրագիրը (ներբեռնվում է Microsoft Play խանութից

ԿԱՄ

2. Arduino- ն ստեղծում է առցանց կայք (եթե դա այն է, ինչ նախընտրում եք)

3. imարպիկ ձեռքեր

4. Google (ուսանելի կայքերն ինձ շատ օգնեցին)

5. Համբերություն, Դ

Քայլ 2: Կարգավորեք ձեր անալոգային սխեման

Կարգավորեք ձեր անալոգային սխեման
Կարգավորեք ձեր անալոգային սխեման

Անալոգային և թվային համակարգերի միջև տարբերությունն այն է, որ անալոգային համակարգերը ծածկագրում են տարբեր վիճակներ, ինչպիսիք են LED- ի տարբեր պայծառությունը, մինչդեռ թվայինը ծածկագրում է միայն երկու վիճակի համար (կամ միացված է, կամ անջատված):

Այս միացումն անալոգային է, քանի որ նպատակն էր ստիպել լույսը փոխել պայծառությունը, այլ ոչ թե պարզապես միացնել կամ անջատել:

Այն կարգավորելու համար.

1. Վերցրեք մեկ կապույտ (բացասական) մետաղալար և միացրեք այն (Arduino- ին) էներգիայի նավահանգիստների GND (ստորգետնյա) նավահանգիստներից որևէ մեկում և միացրեք այն տախտակի վրա ցանկացած վայրում `կապույտ բացասական գետնի կողքին:

2. Վերցրեք մեկ կարմիր (դրական) մետաղալար և միացրեք այն (Arduino- ին) 5V նավահանգստում ՝ հոսանքի նավահանգիստներում և միացրեք այն կարմիր դրական դրական գծի հարևանությամբ գտնվող տախտակի տողին [familiarանոթացեք ձեզ, թե ինչպես դասավորությունը տեղադրված է, և ինչ տողեր են միացված և այլն: Հրահանգներն ու Arduino կայքը շատ կոկիկ դասեր ունեն հենց դա անելու համար]

3. Հացաթխի հակառակ ծայրում դուք օգտագործում եք մեկ կապույտ և մեկ կարմիր մետաղալար `գետնագծերը միացնելու համար:

4. Հետո չորս սպիտակ լարերով միացրեք ինչպես դրական, այնպես էլ բացասական գրունտի տողերը միջնամասի 30 -րդ շարքի երկու կողմերին (դրանք պետք է կամրջեն մի փոքր բացը)

Քայլ 3: Կարգավորեք կոճակները

Կարգավորեք կոճակները
Կարգավորեք կոճակները

1. Այժմ վերցրեք ձեր կոճակները և դրանք միացրեք այնպես, որ այն ցանկացած պահի հեռանա հացահատիկի միջին խզվածքից (ես սիրում եմ իմ իրերը մի փոքր շպրտել, որպեսզի կարողանամ ավելի հեշտությամբ փոխել և շտկել իրերը:

2. Վերցրեք երկու կարմիր մետաղալար և միացրեք կոճակների աջ ոտքը դեպի ձեր կողմը `գետնի դրական գծով:

3. Վերցրեք երկու կապույտ մետաղալարեր և կապույտ բացասական գծի գիծը կենտրոնական տողերով միացրեք կոճակների ձախ ոտքերից մի քանի տող ՝ թողնելով տարածք դիմադրիչների համար:

4. Այժմ միացրեք 10K ռեզիստորները (շագանակագույն, սև, նարնջագույն, ոսկեգույն) մեկ ոտքով նույն բացասական կապույտ մետաղալարով, իսկ մյուս ոտքը նույն շարքում, ինչպես կոճակի ձախ ոտքը:

[Այս ամենը դեռ միացված է տախտակի մեջտեղի բաժանման մի կողմում, բացի կոճակներից, որոնք տեղակայված են ճեղքվածքի և սպիտակ, կարմիր և կապույտ լարերի համար `անալոգային տեղադրման համար]

5. Այժմ վերցրեք դեղին և կանաչ մետաղալարերը և միացրեք ձախ ոտքը կենտրոնի բաժանման հակառակ կողմում ՝ 9 և 11 կապումներով [NB: Անալոգը գործում է միայն 3, 5, 6, 9, 10 և 11 կապում]: Այս լարերը նախատեսված են Arduino- ի հետ հաղորդակցության համար:

Քայլ 4: Տեղադրեք LED- ը

Տեղադրեք LED- ը
Տեղադրեք LED- ը

1. Վերցրեք LED- ն (ձեր նախընտրած գույնը) և տեղադրեք այն բաժանման այն կողմում, որտեղ ձեր միացումների մեծ մասն է:

2. Վերցրեք մեկ կապույտ մետաղալար և միացրեք բացասական կապույտ հողային գիծը նույն շարքով, ինչ LED- ի կարճ ոտքը (անոդը) [Շղթան կաշխատի միայն այն դեպքում, երբ բացասական կապույտ գիծը միացված է LED i.o.w.- ի աջ ոտքին: անոդը:

3. Վերցրեք ևս 10K օմ դիմադրիչ և միացրեք այն շարանը, որի մեջ կաթոդը (LED- ի դրական երկար ոտքը) միացված է կենտրոնի բաժանման նույն կողմի մոտակա տողով:

4. Այժմ վերցրեք նարնջագույն մետաղալարը և միացրեք դիմադրությունը Arduino- ի 3 -րդ կապում

Ձեր միացումն այժմ ավարտված է: Մնում է միայն ամեն ինչ ծրագրավորել

Քայլ 5. Շրջանի ծրագրավորում

Ես մի փոքր նոր եմ այս ամենի մեջ, ուստի խնդրում եմ ներողություն խնդրել, որ ես միայն ծածկագրում եմ պատճենը և տեսանյութ չեմ ստեղծում…

Ահա սխեմայի ծածկագիրը.

// Իմ (Altus Lourens) առաջին սեփական նախագիծը. // Ստեղծվել է 2018 թվականի հունիսի 29 -ից 30 -ը

// Նշում ինքս ինձ համար. AnalogWrite- ն աշխատում է միայն 3, 5, 6, 9, 10 և 11 համարներում

// ՆՇ.

// LED- ը դուրս կգա

// սեղմման կոճակները կլինեն մուտքեր

// pushButton1- ը յուրաքանչյուր սեղմման դեպքում կբարձրացնի պայծառությունը մեկ fadeAmount- ով

// pushButton2- ը նվազեցնելու է պայծառությունը յուրաքանչյուր սեղմումով մեկ fadeAmount- ով

// հաստատունները չեն փոխվի, սահմանեք PWM կապի համարները

const int ledPin = 3; // PWM LED քորոցի համարը

const int fadeAmount = 50; // պայծառության փոփոխություն կոճակի յուրաքանչյուր սեղմումով

const int buttonPin1 = 11;

const int buttonPin2 = 9; // սեղմման կոճակի համարը

// փոփոխական, որը կփոխվի.

int պայծառություն = 5; // LED- ների մեկնարկային պայծառություն

int կոճակ State1 = 0; // նշեք կոճակը, որը սկսվում է որպես LOW

int կոճակ State2 = 0; // նշեք կոճակը, որը սկսվում է որպես LOW

void setup () {

// տեղադրեք ձեր տեղադրման կոդը այստեղ ՝ մեկ անգամ գործարկելու համար.

// նախաստորագրեք LED քորոցը որպես ելք.

pinMode (ledPin, OUTPUT);

// նախաստորագրեք կոճակները որպես մուտքագրումներ.

pinMode (buttonPin1, INPUT);

pinMode (buttonPin2, INPUT);

Serial.begin (9600); // հաղորդակցության արագությունը միացումում

}

// buttonPin1- ը կբարձրացնի լուսադիոդի պայծառությունը

// buttonPin2- ը կնվազեցնի LED- ի պայծառությունը

դատարկ շրջան () {

// տեղադրեք ձեր հիմնական կոդը այստեղ ՝ բազմիցս գործարկելու համար.

// սահմանել 9 -րդ կապի պայծառությունը.

analogWrite (ledPin, պայծառություն); // պայծառություն = 5, LED- ը միացված է

պայծառություն = սահմանափակում (պայծառություն, 0, 255); // սահմանափակել պայծառությունը 0 -ից 255 -ի միջև

// կարդալ կոճակի արժեքի վիճակը.

buttonState1 = digitalRead (buttonPin1);

buttonState2 = digitalRead (կոճակ Pin2);

// ստուգեք, արդյոք կոճակները սեղմված են.

// եթե դա -> buttonState = HIGH:

// կոճակ 1:

եթե (buttonState1 == HIGH) {

պայծառություն = պայծառություն + fadeAmount; // բարձրացնել պայծառությունը.

analogWrite (ledPin, brightness + fadeAmount);

}

else {// պայծառությունը մնում է նույն մակարդակի վրա, և LED- ն դեռ անջատված է.

analogWrite (ledPin, պայծառություն);

}

// կոճակ 2:

եթե (buttonState2 == HIGH) {

պայծառություն = պայծառություն - fadeAmount; // նվազեցնել պայծառությունը.

analogWrite (ledPin, պայծառություն - fadeAmount);

}

ուրիշ {

// պայծառությունը մնում է նույն մակարդակի վրա, որևէ փոփոխություն տեղի չի ունենում.

analogWrite (ledPin, պայծառություն);

}

Serial.print («պայծառություն»);

Serial.println (պայծառություն); }

Այժմ կարող եք կարգավորել հաղորդակցության արագությունը և մի փոքր խաղալ դրա հետ, մինչև չգտնեք արագություն, որը կատարյալ աշխատում է սերիական մոնիտորի գործիքի համար [9600 Baud- ն ընդամենը ստանդարտ արագություն է]

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