Баскыч: Arduino менен ушул жөнөкөй элементти кантип колдонсо болот

баскычы

Un баскыч - электрондук сигналды токтотууга же жөнөтүүгө мүмкүндүк берген баскыч. Ушул жөнөкөй элементтин жардамы менен сиз көптөгөн тиркемелерге долбоор түзө аласыз. Arduino долбоорлору жөнүндө сөз болгондо, ушул түрдөгү баскычтарды колдонуу абдан көп кездешет. Ушул баскычтардын бир нечесин бириктирип, бир аз татаал баскычтопту түзсөңүз болот, бирок буга чейин колдонууга программаланган баскычтоптор бар ...

Айтмакчы, баскычты күйгүзгүч менен чаташтырбашыңыз керек. Алар такыр башка нерселер. Айырмасы, баскыч же баскыч ага жасалган ар бир басылган сайын жандырылат же өчүрүлөт. Ал эми баскыч баскыч ага басым жасалып жатканда бир абалда гана калат. Мен аны жөнөтүп же үзгүлтүккө учурата алат деп комментарий бердим, анткени эки баскычтын негизги түрлөрү бар.

баскычтын белгиси

бар ЖОК же адатта ачык баскычтар жана NC же адатта жабык баскычтар. Бул эстафеталардан сизге да угулат. Ооба, ал так ушул эле операция. Сизде NC бар болсо, ал токту анын терминалдары аркылуу өткөрөт жана сиз басканда гана үзгүлтүккө учурайт. Башка жагынан алганда, NA ага басым жасабаганда ток өткөрбөйт жана аны басканда гана өткөрөт.

Муну билүү менен, баскыч баскычы жөнүндө билишиңиз керек болгон нерсенин бардыгы туташууңузду жана Arduino программасын колдонуп баштоо үчүн. Чындыгында, ал ушунчалык жөнөкөй элемент болгондуктан, баскычтардын бул түрү жөнүндө көп нерсе айта албайбыз.

Ардуино менен баскычты интеграциялоо

Arduino менен схема

La баскычты туташтыруу аны Arduino менен өз ара байланышуу үчүн жөнөкөй болушу мүмкүн эмес. Мисалга ушул сызыктардан көрө алган диаграмма келтирилген. Эксперимент баштоо үчүн бул жетиштүү болмок. Бирок, албетте, ошол схема менен сиз аз нерсе жасай аласыз. Ошол баскыч эмнени башкарарын чечүү үчүн бир аз элестетүү керек. Чындыгында, hwlibre.esди көп окусаңыз, анда биз баскычтарды колдонгон айрым макалаларды көрө аласыз ...

Аны туташтыруу жолдору

тартуу жана түшүрүү

Сиз билишиңиз керек болгон нерсе, секирүүгө каршы жана бул баскычтарды кантип туташтыруу керек. Алгач, аларды бириктирүүчү жолго түшөбүз, бул сиз билип тургандай, суурулуп чыгуу жана жыгылуу резисторлору менен болушу мүмкүн:

  • Тартуу- Бул резистордун конфигурациясы менен, баскыч басылганда, микроконтроллер же Arduino ал штырдагы нөлдү көрүп же окуй алат. Башкача айтканда, аны ТӨМӨН сигнал катары чечмелейт.
  • Тартуу: бул учурда тескерисинче, туташкан төөнөгүч аркылуу 1 же ЖОГОРКУ сигналын окуй аласыз же кабыл аласыз.

Аны NC же NA менен чаташтырбаңыз, буга чейин көргөндөй башка нерсе. Бул башка көз карандысыз ...

Секирүү

Баскычтардын а кайтарым эффект басканда. Башкача айтканда, ал басылганда же коё берилгенде, анын контакттары аркылуу өткөн сигналдын олку-солку болушу жана анын HIGT абалынан ТӨМӨНГӨ же тескерисинче, андай болушун каалабастан өтүшү мүмкүн. Бул Arduinoго керексиз таасир этип, аны таң калыштуу нерселерге түртүшү мүмкүн, мисалы, биз баскычты баскыч менен өчүргүбүз келген элементти ж.б. Себеби Arduino секирүүлөрдү бир нече жолу басылгандай чечмелейт ...

Ошол терс таасир анын чечими бар. Ал үчүн кичине конденсатор секирүүгө каршы же контур конфигурациясы колдонулганбы же NC же NO болсо дагы, секирүүгө каршы схемада (аппараттык ыкма) же программалык камсыздоодо (баштапкы кодду өзгөртүү) ишке ашырылышы керек. Ушул учурлардын бардыгында, ушул ребактардан сактануу үчүн чечим ишке ашырылышы керек.

Мисалы, тартылуу жана түшүрүү схемалары секирүүгө каршы конденсатор алар мындай көрүнүштө болмок:

rebounder

жатканда программалык камсыздоо ыкмасы Бул коддун үзүндүсүнөн көрүнүп турду:

if (digitalRead (button) == LOW) // баскычтын басылгандыгын текшерүү
{
басылган = 1; // Өзгөрмө маанини өзгөртөт
}
if (digitalRead (pushbutton) == HIGH && pressed == 1)
{
// Каалаган аракеттерди жасаңыз
басылган = 0; // өзгөрүлмө баштапкы маанисине кайтып келет
}

Жөнөкөй долбоордун мисалы

басуу баскычы жана Arduino менен секирүүгө каршы

Биздин баскычты жана анти-калыбына келтирүү схемасын туташтыруунун жолдору темасын үйрөнгөндөн кийин, биз практикалык мисал көрөбүз баскыч менен жарык диодун башкарыңыз. Схема сиз көрүп тургандай бирдей жөнөкөй.

Туура туташтырылгандан кийин, кийинки нерсе жазуу керек коду Arduino IDE панелиңизди программалап, баскычтар менен тажрыйба баштоо үчүн. Районду башкаруу үчүн жөнөкөй код мисалы төмөнкүлөр болмок:

// Баскычты башкаруу үчүн эскиздин мисалы
int pin = 2;
int абалы;
пульсацияланган int = 0;
жараксыз орнотуу ()

{
pinMode (2, INPUT); // Ошол төөнөгүч киргизүү менен тамырдын кагышын окуу

pinMode (13, OUTPUT); // LED үчүн

Serial.begin (9600);
}
жараксыз цикл ()

{
if (digitalRead (2) == HIGH)

{

пин = 2;

antiBounce (); // Секирүүгө каршы функцияны чакыруу

}
}
// Программанын секирүүгө каршы функциясы
секирүүгө каршы жараксыз ()

{
while (digitalRead (pin) == LOW);
state = digitalRead (13);
digitalWrite (13 ,! штаты);
while (digitalRead (pin) == HIGH);

}


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

3 комментарий, өзүңүздүкүн калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   Марсело Кастилло placeholder image ал мындай деди:

    Баракелде!!! Чоң рахмат, мен CNC куруп жатам жана парадоксалдуу түрдө баскычтар мен үчүн эң кыйын болду.

  2.   Лилиана ал мындай деди:

    Салам! Мен жаңы баштоочу катары кеңешип жатам, GND менен байланышта ... ..кара зым 2-диаграммада көрсөтүлгөндөн жогору жайгашкан терс сызыктан чыкпашы керекпи?

  3.   Giovanni ал мындай деди:

    Мыкты түшүндүрмө .. эки жыл мурун мен машине иштетүү боюнча долбоор иштеп чыккам жана чындыгында мен эч качан туура бастыра албайм. жардам