Spiedpoga: kā izmantot šo vienkāršo elementu ar Arduino

pogu

Un spiedpoga ir poga, kas ļauj pārtraukt vai nosūtīt elektronisku signālu. Izmantojot šo vienkāršo elementu kopā ar citiem elementiem, jūs varat izveidot projektus daudzām lietojumprogrammām. Šāda veida spiedpogu izmantošana ir ļoti izplatīta, kad runa ir par projektiem ar Arduino. Apvienojot vairākas no šīm pogām, jūs varat izveidot nedaudz sarežģītāku tastatūru, lai gan šīm vajadzībām jau ir programmējamas tastatūras ...

Starp citu, nevajadzētu jaukt spiedpogu ar slēdzi. Tās ir pilnīgi dažādas lietas. Atšķirība ir tāda, ka slēdzis vai slēdzis tiek aktivizēts vai deaktivizēts ar katru nospiedumu, kas uz tā tiek izdarīts. Tā kā spiedpoga paliks tikai vienā stāvoklī, kamēr uz to tiek izdarīts spiediens. Esmu komentējis, ka tas var nosūtīt vai pārtraukt, tas ir tāpēc, ka ir divi pamatpogu veidi.

spiedpogas simbols

Ir NO vai parasti atvērtas spiedpogas un NC vai parasti slēgtas spiedpogas. Tas jums izklausīsies arī no stafetēm. Un jā, tā ir tieši tā pati darbība. Kad jums ir NC, tas ļaus strāvai iziet cauri spailēm, un tas pārtrauc tikai tad, kad jūs to nospiežat. No otras puses, NA nelaiž cauri strāvu, kad uz to netiek izdarīts spiediens, un izlaidīs to tikai tad, kad to nospiedīsit.

Zinot to, ir gandrīz viss, kas jums jāzina par spiedpogu lai sāktu savienojumu un programmēšanu, izmantojot Arduino. Patiesība ir tāda, ka tas ir tik vienkāršs elements, ka par šāda veida spiedpogām nav daudz ko teikt.

Pogas pogas integrācija ar Arduino

ķēde ar Arduino

La pieslēdzot spiedpogu lai tas mijiedarbotos ar Arduino, nevar būt vienkāršāk. Piemērs ir diagramma, kuru varat redzēt šajās līnijās. Tas būtu viss, kas nepieciešams, lai sāktu eksperimentēt. Bet, protams, ar šo shēmu jūs varat darīt maz. Jums būtu nepieciešams mazliet iztēles, lai izlemtu, ko šī poga kontrolēs. Patiesībā, ja jūs bieži lasāt vietni hwlibre.es, jūs jau esat redzējis dažus rakstus, kuros mēs izmantojām spiedpogas ...

Veidi, kā to savienot

pull-up un pull-down

Viena lieta, kas jums jāzina, ir jautājums par atlēcienu un kā savienot šīs spiedpogas. Vispirms mēs ejam uz to savienošanas veidu, kas, kā jūs jau zināt, var būt ar pievilkšanas un nolaišanas rezistoriem:

  • Uzvilkt- Izmantojot šo rezistora iestatījumu, nospiežot pogu, mikrokontrolleris vai Arduino var redzēt vai nolasīt uz šīs tapas nulli. Tas ir, tas to interpretē kā LOW signālu.
  • Vilkt lejā: Šajā gadījumā ir pretēji, caur pievienoto tapu var nolasīt vai saņemt signālu 1 vai HIGH.

Nejauciet to ar NC vai NA, kas ir kaut kas cits, kā mēs redzējām iepriekš. Tas nav atkarīgs no citiem ...

Pretlēciens

Spiedpogām ir a lielības efekts nospiežot. Tas ir, nospiežot vai atlaižot, signālā ir svārstības, kas iet caur kontaktiem un var izraisīt tā pāreju no HIGT stāvokļa uz LOW vai otrādi, patiesībā nevēloties, lai tas notiktu. Tas var radīt nevēlamu efektu uz Arduino un likt tam darīt dīvainas lietas, piemēram, aktivizēt elementu, kad mēs patiešām vēlējāmies to izslēgt ar spiedpogu utt. Tas ir tāpēc, ka Arduino atlēcienus interpretē tā, it kā tas būtu nospiests vairāk nekā vienu reizi ...

Šī negatīvā ietekme tam ir risinājums. Lai to izdarītu, pretelēciena ķēdē (aparatūras metode) vai programmatūrā (avota koda modificēšana) jāievieš mazs kondensators, neatkarīgi no tā, vai ir izmantota pievilkšanas vai nolaižamā konfigurācija, vai tas ir NC vai NO. Visos šajos gadījumos risinājums ir jāievieš, lai izvairītos no šīm atsitieniem.

Piemēram, pull-up un pull-down ķēdes ar pretelēciena kondensators viņi izskatītos apmēram šādi:

atsitējs

Kamēr programmatūras metode To varēja redzēt šajā koda fragmentā:

if (digitalRead (poga) == ZEMS) // Pārbaudiet, vai poga ir nospiesta
{
nospiests = 1; // Mainīgais maina vērtību
}
ja (digitalRead (poga) == HIGH && nospiests == 1)
{
// Veiciet vēlamo darbību
nospiests = 0; // Mainīgais atgriežas sākotnējā vērtībā
}

Vienkāršs projekta piemērs

anti-lielība ar spiedpogu un Arduino

Kad būsim iemācījušies tēmu par veidiem, kā savienot mūsu spiedpogu un pretatsitienu ķēdi, mēs redzēsim praktisku piemēru kontrolēt LED ar spiedpogu. Shēma ir vienlīdz vienkārša, kā jūs varat redzēt.

Kad tas ir pareizi izveidots, nākamā lieta ir rakstīšana kodu Arduino IDE lai ieprogrammētu paneli un sāktu eksperimentēt ar pogām. Vienkāršs koda piemērs, lai kontrolētu mūsu ķēdi, būtu šāds:

// Pogas vadīšanas skices piemērs
int tapa = 2;
int stāvoklis;
pulsējoša int = 0;
anulēt iestatīšanu ()

{
pinMode (2, INPUT); // Lai lasītu impulsu, veicot šo tapas ievadi

pinMode (13, OUTPUT); // LED

Serial.begin (9600);
}
void loop ()

{
ja (digitalRead (2) == AUGSTS)

{

tapa = 2;

antiBounce (); // Izsaukums pret atlēciena funkciju

}
}
// Programmatūras atlēciena funkcija
anulēt pret atlēcienu ()

{
while (digitalRead (piespraude) == ZEMS);
stāvoklis = digitalRead (13);
digitalWrite (13 ,! stāvoklis);
while (digitalRead (piespraude) == AUGSTS);

}