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

Հաշվիչ, օգտագործելով կոճակը - Tinker Cad: 3 քայլ
Հաշվիչ, օգտագործելով կոճակը - Tinker Cad: 3 քայլ
Anonim
Image
Image
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ

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

Քայլ 1: Պահանջվող բաղադրիչներ

Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ

1. Arduino UNO

2. Հացաթուղթ

3. Սեղանի կոճակ

4. Ռեզիստոր

5. Թռիչքային լարեր

Քայլ 2: Շղթայի դիագրամ

Image
Image

Միացրեք երեք լար լարին: Առաջինը սեղմման կոճակի մի ոտքից անցնում է ներքև քաշվող ռեզիստորի միջոցով (այստեղ ՝ 10k ohm) մինչև գետնին: Երկրորդը սեղմման կոճակի համապատասխան ոտքից անցնում է 5 վոլտ լարման: Երրորդը միանում է թվային I/O կապին (այստեղ ՝ pin 2), որը կարդում է կոճակի վիճակը:

Երբ սեղմման կոճակը բաց է (չճզմված), կոճակի երկու ոտքերի միջև կապ չկա, այնպես որ քորոցը միացված է գետնին (ներքևի դիմադրության միջոցով), և մենք կարդում ենք. ԱOWՐ: Երբ կոճակը փակ է (սեղմված), այն կապ է հաստատում իր երկու ոտքերի միջև ՝ կապը կապելով լարման հետ, այնպես որ մենք կարդում ենք HIGH: (Քորոցը դեռ միացված է գետնին, բայց ռեզիստորը դիմադրում է հոսանքի հոսքին, ուստի նվազագույն դիմադրության ճանապարհն է +5 Վ): Դա պայմանավորված է նրանով, որ մուտքը «լողացող» է, այսինքն ՝ կապված չէ լարման կամ գետնի հետ: Այն քիչ թե շատ պատահականորեն կվերադառնա կամ ԲԱՐՁՐ, կամ OWԱOWՐ: Ահա թե ինչու դուք պետք է քաշեք ներքևի դիմադրություն միացումում:

Քայլ 3: Կոդ

Ավելի հետաքրքիր նախագծերի համար կապվեք ինձ հետ ՝ Youtube:

Ֆեյսբուքյան էջ ՝

Instagram ՝

int կոճակ = 2;

int a, i = 0; void setup () {Serial.begin (9600); pinMode (կոճակ, Մուտք); } void loop () {a = digitalRead (կոճակ); եթե (a == 1) {i = i+1; Serial.print ("Counter ="); Serial.println (i); } այլ {i = 0; }}

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