Կոճակ կոճակ. Ինչպես օգտագործել այս պարզ տարրը Arduino- ի հետ

կոճակ

Un կոճակը կոճակ է, որը թույլ է տալիս ընդհատել կամ ուղարկել էլեկտրոնային ազդանշան, Այս տարրով, որը զուգորդվում է այլ տարրերով, կարող եք նախագծեր ստեղծել բազմաթիվ ծրագրերի համար: Այս տեսակի կոճակների օգտագործումը շատ տարածված է, երբ խոսքը վերաբերում է Arduino- ի հետ նախագծերին: Եվ այս կոճակներից մի քանիսը համատեղելով ՝ դուք կարող եք ստեղծել մի փոքր ավելի բարդ ստեղնաշար, չնայած այդ ծրագրերի համար արդեն կան ծրագրավորվող ստեղնաշարեր ...

Ի դեպ, չպետք է կոճակը կոճակը շփոթել անջատիչի հետ, Դրանք բոլորովին այլ բաներ են: Տարբերությունն այն է, որ անջատիչը կամ անջատիչը ակտիվացված կամ անջատված են դրա վրա կատարված յուրաքանչյուր սեղմումով: Մինչդեռ կոճակը կմնա միայն մեկ վիճակում, մինչ դրա վրա ճնշում է գործադրվում: Ես մեկնաբանել եմ, որ այն կարող է ուղարկել կամ ընդհատել, դա այն պատճառով, որ կոճակները կան երկու հիմնարար տեսակ:

կոճակի խորհրդանիշ

Կան նաեւ ՈՉ կամ սովորաբար բաց կոճակներով և NC կամ սովորաբար փակ կոճակներով, Սա ձեզ համար նույնպես հնչում է ռելեներից: Եվ այո, դա ճիշտ նույն գործողությունն է: Երբ ունեք NC, այն թույլ կտա հոսանքն անցնել իր տերմինալներով և այն ընդհատվում է միայն այն ժամանակ, երբ դուք սեղմում եք այն: Մյուս կողմից, Ա NA-ն թույլ չի տալիս հոսանքն անցնել, երբ դրա վրա ճնշում չի գործադրվում, և այն կթողնի միայն այն սեղմելիս, երբ այն սեղմես:

Իմանալով դա, համարյա այն ամենն է, ինչ դուք պետք է իմանաք կոճակի մասին սկսել ձեր կապն ու ծրագրավորումը ՝ օգտագործելով Arduino: Truthշմարտությունն այն է, որ դա այնքան պարզ տարր է, որ այս տիպի կոճակների մասին շատ ավելին չկա ասելու:

Հրել կոճակի ինտեգրումը Arduino- ի հետ

միացում Arduino- ի հետ

La կոճակը միացնելը այն ավելի հեշտ դարձնել Arduino- ի հետ չի կարող լինել: Որպես օրինակ այն դիագրամն է, որը կարող եք տեսնել այս տողերի վրա: Դա կլինի ընդամենը փորձեր սկսելու համար: Բայց, իհարկե, այդ սխեմայով քիչ բան կարող ես անել: Ձեզ հարկավոր է մի փոքր ֆանտազիա դնել, որպեսզի որոշեք, թե ինչ է վերահսկելու այդ կոճակը: Փաստորեն, եթե hwlibre.es- ը հաճախ եք կարդում, արդեն տեսել եք որոշ հոդվածներ, որտեղ մենք օգտագործել ենք կոճակներ ...

Միացնելու եղանակները

քաշեք և ներքև քաշեք

Մի բան, որ դուք պետք է իմանաք, հակաբռնկման և ինչպես միացնել այս կոճակները, Սկզբից մենք գնում ենք դրանք միացնելու ճանապարհին, որը դուք արդեն գիտեք, որ կարող է լինել ձգվող և քաշվող դիմադրություններով:

  • Վեր հրել- Այս ռեզիստորի պարամետրով, երբ կոճակը սեղմվում է, միկրոկոնտրոլորը կամ Arduino- ն կարող են տեսնել կամ կարդալ այդ քորոցի վրա զրո: Այսինքն ՝ դա մեկնաբանում է որպես OWԱՐ ազդանշան:
  • Քաշեք ներքեւԱյս դեպքում հակառակն է. Միացված քորոցի միջոցով կարող եք կարդալ կամ ստանալ 1 կամ HIGH ազդանշան:

Մի շփոթեք այն NC կամ NA- ի հետ, ինչը այլ բան է, ինչ մենք տեսել ենք նախկինում: Սա անկախ է մյուս ...

Anti-Bounce

Կոճակները ունեն ա ցատկում էֆեկտ երբ սեղմվում է: Այսինքն, երբ այն սեղմվում կամ արձակվում է, ազդանշանի տատանում կա, որն անցնում է իր շփումներով և կարող է հանգեցնել նրան, որ HIGT վիճակից անցնի OWածր կամ հակառակը ՝ առանց իսկապես ցանկանալու, որ դա տեղի ունենա: Դա կարող է անցանկալի ազդեցություն թողնել Arduino- ի վրա և ստիպել նրան կատարել տարօրինակ բաներ, օրինակ ՝ ակտիվացնել մի տարր, երբ մենք իսկապես ցանկանում էինք անջատել այն կոճակի միջոցով և այլն: Դա այն պատճառով է, որ Arduino- ն ցատկում է այնպես, կարծես մեկ անգամ չէ, որ սեղմվել է ...

Այդ բացասական էֆեկտը այն ունի լուծում: Դրա համար մի փոքր կոնդենսատոր պետք է իրականացվի հակադարձ ցատկման շղթայում (ապարատային մեթոդ) կամ ծրագրակազմում (աղբյուրի կոդը փոփոխող) `լինի դա օգտագործված ձգողական կամ քաշվող կազմաձև, թե NC կամ NO: Այս բոլոր դեպքերում լուծումը պետք է իրագործվի ՝ այս անդրադարձումներից խուսափելու համար:

Օրինակ, ձգման և քաշման շղթաները հետ հակադարձ ցնցումային կոնդենսատոր նրանք այսպիսի տեսք կունենային.

ռիբաունդ

Ժամանակ ծրագրակազմի մեթոդը Դա կարելի է տեսնել այս կոդի հատվածում.

if (digitalRead (կոճակ) == LOW) // Ստուգեք կոճակը սեղմված է
{
սեղմված = 1; // Փոփոխականը փոխում է արժեքը
}
եթե (digital Կարդալ (կոճակ) == HIGH && սեղմված == 1)
{
// Կատարել ցանկալի գործողություն
սեղմված = 0; // Փոփոխականը վերադառնում է իր սկզբնական արժեքին
}

Projectրագրի պարզ օրինակ

հակաբշտիկային կոճակով և Arduino- ով

Երբ մենք սովորենք մեր կոճակը և հակաբաշխիչ միացումը միացնելու եղանակների թեման, մենք կտեսնենք գործնական օրինակ վերահսկել LED- ը կոճակով, Սխեման հավասարապես պարզ է, ինչպես տեսնում եք:

Connectedիշտ միացումից հետո հաջորդ բանը գրելն է ծածկագիրը Arduino IDE- ում ձեր վահանակը ծրագրավորելու և կոճակներով փորձեր կատարելու համար: Մեր շրջանը վերահսկելու համար պարզ կոդի օրինակ կլինի հետևյալը.

// Կոճակը կառավարելու ուրվագծի օրինակ
int քորոց = 2;
int պետություն;
զարկերակային int = 0;
անվավեր տեղադրում ()

{
pinMode (2, INPUT); // Կարդալ զարկերակը ՝ այդ քորոցը մուտքագրելով

pinMode (13, ԵԼՔ); // LED- ի համար

Serial.begin (9600);
}
անվավեր հանգույց ()

{
եթե (digitalRead (2) == HIGH)

{

քորոց = 2;

antiBounce (); // Callանգահարեք հակատանկման գործառույթին

}
}
// Softwareրագրային ապահովման հակազդման գործառույթ
անվավեր հակաբուժիչ ()

{
while (digitalRead (քորոց) == LԱ ;Ր);
պետություն = digitalRead (13);
digitalWrite (13,! պետություն);
while (digitalRead (քորոց) == HIGH);

}


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

5 մեկնաբանություն, թող ձերը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը:

  1.   Մարսելո Կաստիլյոյի տեղապահի պատկեր ասաց

    Թույն !!! Շատ շնորհակալ եմ, ես CNC եմ կառուցել և, պարադոքսալ կերպով, կոճակները մեղմացնելն ինձ համար ամենադժվարն էր:

  2.   Liliana ասաց

    Ողջու՜յն! Ես խորհրդակցում եմ որպես նորեկ, GND- ի հետ կապված… ..Սեւ մետաղալարը չպետք է դուրս գա բացասական գծից, որը գտնվում է 2-րդ գծապատկերում ցույց տրվածի վերևում:

  3.   John ասաց

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

  4.   Օմար Ռոմերո Ռինկոն ասաց

    Բարև Ձեզ, ես կատարում եմ նախագիծ երեք կոճակներով և 5 լուսադիոդներով հետևյալ հաջորդականությամբ.
    1 սեղմման կոճակը ազդանշան է ուղարկում 2 լուսադիոդների, որոնք ես անվանել եմ 1 և 2:
    երկրորդ կոճակը ազդանշան է ուղարկում 3 լուսադիոդների, որոնք կոչվում են 2,3 և 4:
    իմ երրորդ կոճակը ազդանշան է ուղարկում ևս 3 լուսադիոդների, որոնք կոչվում են 3,4 և 5:

    Ինձ հաջողվել է անել այդ հաջորդականությունը, միայն մեկ խնդիր ունեմ, 2 կոճակ սեղմելիս կեղծ ազդանշան է ուղարկում led-ին, որը պետք է միացված մնա, ընդհատումներով թարթելով, կառավարել եմ ուշացում (2 վայրկյան) դնելով. , որն ինձ պետք է, որ լուսադիոդները մնան միացված, հետո անջատվեն:Այնպես որ իմ հարցն այն է, թե ինչպես կարող եմ միլիս ֆունկցիան դնել իմ ծրագրի մեջ, ես չեմ հասկանում, թե ինչպես է աշխատում millis-ը, ուզում եմ իմանալ՝ կարող եք օգնել ինձ օրինակ անելով 3 կոճակների համար՝ օգտագործելով millis դրանցից յուրաքանչյուրում, ինձ անհրաժեշտ է millis, որպեսզի կարողանամ ցանկացած պահի սեղմել կոճակները՝ առանց arduino-ի հետաձգման:

    1.    Isaac ասաց

      Բարև Օմար,
      Խորհուրդ եմ տալիս դիտել մեր Arduino ձեռնարկը.
      https://www.hwlibre.com/programacion-en-arduino/
      Եվ դուք կարող եք նաև տեսնել մեր հոդվածը millis():
      https://www.hwlibre.com/millis-arduino/
      A Վողջյուններ.