Тастер: како користити овај једноставни елемент са Ардуином

дугме

Un тастер је дугме које вам омогућава да прекидате или шаљете електронски сигнал. Помоћу овог једноставног елемента у комбинацији са другим елементима можете креирати пројекте за мноштво апликација. Употреба ове врсте тастера је врло честа када су у питању Ардуино пројекти. А комбинацијом неколико ових дугмади можете створити нешто сложенију тастатуру, иако за ову употребу већ постоје програмабилне тастатуре ...

Успут не би требало да бркате тастер са прекидачем. То су потпуно различите ствари. Разлика је у томе што се прекидач или прекидач активира или деактивира при сваком притиску који се на њему изврши. Док ће дугме остати само у једном стању док се на њега врши притисак. Коментарисао сам да може да шаље или прекида, јер постоје две основне врсте тастера.

тастер симбол

Има их НЕ или нормално отворени тастери и НЦ или нормално затворени тастери. Ово ће вам такође звучати из релеја. И да, то је потпуно иста операција. Када имате НЦ, он ће пустити струју да пролази кроз његове терминале и прекида га само док га притискате. С друге стране, НА не пушта струју да прође када се на њу не врши притисак и пропустиће је само кад је притиснете.

Знајући да, је готово све што треба да знате о тастеру да бисте започели везу и програмирање помоћу Ардуина. Истина је да је то толико једноставан елемент да се о овој врсти тастера нема много више рећи.

Интеграција тастера са Ардуином

коло са Ардуином

La повезивање тастера учинити интеракцију са Ардуином не може бити једноставније. Пример је дијаграм који можете видети на овим линијама. То би било све што је потребно да би се започело експериментисање. Али наравно, са том шемом можете мало учинити. Требало би да уложите мало маште да бисте одлучили шта ће то дугме контролисати. У ствари, ако често читате хвлибре.ес, већ сте видели неке чланке у којима смо користили дугмад ...

Начини повезивања

повлачење и повлачење

Једна ствар коју бисте требали знати је питање против одбијања и како повезати ове тастере. Прво идемо на начин њиховог повезивања, за који већ знате да може бити са пулл-уп и пулл-довн отпорницима:

  • Пулл-Уп- Са овом конфигурацијом отпорника, када се притисне тастер, микроконтролер или Ардуино могу да виде или очитају нулу на том пину. Односно, тумачи га као НИСКИ сигнал.
  • Повуци доле: У овом случају је супротно, можете прочитати или примити сигнал 1 или ХИГХ кроз прикључени пин.

Не мешајте га са НЦ или НА, што је нешто друго другачије као што смо раније видели. Ово је независно од осталих ...

Анти-Боунце

Тастери имају а повратни ефекат када се притисне. Односно, када се притисне или отпусти, долази до флуктуације сигнала који пролази кроз његове контакте и може довести до тога да пређе из ВИСОКОГ стања у НИСКО или обрнуто, а да заиста не жели да се то догоди. То може произвести нежељени ефекат на Ардуино и натерати га да ради чудне ствари, попут активирања елемента када смо заиста желели да га искључимо дугметом итд. То је зато што Ардуино тумачи одскоке као да је притиснут више пута ...

Тај негативни ефекат има решење. Због тога у кочију за одбијање (хардверска метода) или софтвер (модификовање изворног кода) мора да се примени мали кондензатор, без обзира да ли је коришћена пулл-уп или пулл-довн конфигурација или је НЦ или НО. У свим овим случајевима, решење се мора применити како би се избегли ови скокови.

На пример, пулл-уп и пулл-довн кругови са кондензатор против одбијања изгледали би отприлике овако:

одскочити

Док је софтверска метода То се може видети у овом исечку кода:

иф (дигиталРеад (буттон) == ЛОВ) // Проверите да ли је дугме притиснуто
{
притиснуто = 1; // Променљива мења вредност
}
иф (дигиталРеад (тастер) == ХИГХ && притиснуто == 1)
{
// Извршите жељену радњу
притиснуто = 0; // Променљива се враћа на првобитну вредност
}

Једноставан пример пројекта

анти-боунце са дугметом и Ардуино

Једном када научимо тему начина повезивања нашег дугмета и проту-одскочног круга, видећемо практични пример управљајте ЛЕД помоћу тастера. Шема је једнако једноставна као што видите.

Једном када се правилно повежете, следећа ствар је писање код у Ардуино ИДЕ да програмирате свој панел и започнете експериментисање са тастерима. Једноставан пример кода за контролу нашег кола био би следећи:

// Пример скице за управљање дугметом
инт пин = 2;
инт стате;
пулсирајући инт = 0;
воид сетуп ()

{
пинМоде (2, ИНПУТ); // За очитавање импулса уношењем тог пин-а

пинМоде (13, ОУТПУТ); // За ЛЕД

Сериал.бегин (9600);
}
воид лооп ()

{
иф (дигиталРеад (2) == ХИГХ)

{

пин = 2;

антиБоунце (); // Позив на функцију против одбијања

}
}
// Софтверска функција против одбијања
воид анти-боунце ()

{
вхиле (дигиталРеад (пин) == ЛОВ);
стање = дигиталРеад (13);
дигиталВрите (13 ,! држава);
вхиле (дигиталРеад (пин) == ХИГХ);

}


5 коментара, остави свој

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Слика чувара места Марцело Цастилло дијо

    Хладан!!! Пуно вам хвала, правим ЦНЦ и парадоксално ми је било најтеже подесити тастере.

  2.   Лилиана дијо

    Здраво! Саветујем се као новак, у вези са ГНД-ом ... ..црна жица не би требало да излази из негативне линије која се налази изнад оне приказане на дијаграму 2?

  3.   Џон дијо

    Одлично објашњење .. пре неколико година урадио сам пројекат паљења аутомобила и истина је да никада нисам могао да направим тачан притисак на тастер. За паљење .. Испробаћу ову методу. Велико хвала на великој помоћи

  4.   омар ромеро ринкон дијо

    Здраво, радим пројекат са три дугмета и 5 ЛЕД диода са следећом секвенцом.
    1 дугме шаље сигнал на 2 ЛЕД диоде, које сам назвао 1 и 2.
    други тастер шаље сигнал на 3 ЛЕД диоде, назване 2,3 и 4.
    мој трећи тастер шаље сигнал на још 3 ЛЕД диоде, назване 3,4, 5 и XNUMX.

    Успео сам да урадим ту секвенцу, имам само један проблем, када притиснем 2 дугмета, шаље лажни сигнал на ЛЕД који треба да остане упаљен због чега повремено трепери, контролисао сам га тако што сам ставио одлагање (од 2 секунде , то је оно што ми треба да ЛЕД диоде остану упаљене а затим се угасе.онда моје питање је како да ставим миллис функцију у свој програм, не разумем како миллис функционише, желим да знам да ли можете да ми помогнете правећи пример за 3 дугмета користећи милисе у сваком од њих, потребан ми је милис да бих могао да притиснем дугмад у било ком тренутку без одлагања ардуина.

    1.    Исак дијо

      здраво Омар,
      Препоручујем да погледате наш водич за Ардуино:
      https://www.hwlibre.com/programacion-en-arduino/
      Такође можете видети наш чланак о миллису ():
      https://www.hwlibre.com/millis-arduino/
      Поздрав.