prirátanie hodnoty do premennej po stlačení tlačidla

Odpovědět
Riso
Příspěvky: 13
Registrován: 24 srp 2018, 15:36
Reputation: 0

prirátanie hodnoty do premennej po stlačení tlačidla

Příspěvek od Riso » 21 pro 2018, 19:51

Zdravím mám problém, neviem či ja robím nejakú chybu alebo či to môže byť pokazeným arduinom alebo čím. Po stlačení tlačidla chcem aby sa mi do premennej prirátala 1. No mám problém ukazuje mi ako keby bolo tlačidlo stále zopnuté. Skúšal som káblik ktorý vedie do pinu vytiahnuť z tlačidla a aj tak stále ukazovalo ako keby bolo tlačidlo zopnuté. skúšal som meniť piny a robí to na každom.

Tu je kód na ktorom sa to snažím nejak spraviť:

int tlacidlo= 12;
int a=0;
int abc;
void setup() {
Serial.begin(9600);
pinMode (tlacidlo,INPUT);
}

void loop() {
abc=digitalRead(tlacidlo);
if(abc==HIGH)
{
a++;
}

Serial.print("A: ");
Serial.println(a);

}

martinius96
Příspěvky: 359
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: prirátanie hodnoty do premennej po stlačení tlačidla

Příspěvek od martinius96 » 21 pro 2018, 20:18

Povedal by som, že nemáš zapojené tlačidlo do kríža, že ho spínaš proti +5V, ale máš spojený kontakt furt na vývodoch pod sebou.
A +1 sa ti rozhodne nepriráta, keďže tam bude séria zákmitov pri každom stlačení tlačidla. Teda sa ti započíta tak +3 a viac na každé stlačenie tlačidla. To budeš potrebovať v ďalšom vývoji odstrániť.
Pridaj schému zapojenia. Možno si si spálil aj ten pin, ak si to zapojil rovno proti 5V out Arduina bez odporu.
Portfólio realizovaných projektov: https://arduino.php5.sk
Znova tvorím softvér pre webovo orientované projekty!

Riso
Příspěvky: 13
Registrován: 24 srp 2018, 15:36
Reputation: 0

Re: prirátanie hodnoty do premennej po stlačení tlačidla

Příspěvek od Riso » 21 pro 2018, 20:30

Zapojené to mám takto https://ctrlv.cz/cfR4
Skúšal som rôzne piny a robí to na každom.
Správa sa to tak ako keby to tlačidlo bolo zopnuté stále dokým nevytiahnem káblik priamo z arduina.
Arduino je len čínsky klon takže je dosť možné že proste odišlo, len som sa chcel uistiť či tam nie je nejaká chyba keďže tlačidlá mi na tomto arduine už dávnejšie fungovali a dnes keď som to spravil už to neišlo ako malo.

martinius96
Příspěvky: 359
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: prirátanie hodnoty do premennej po stlačení tlačidla

Příspěvek od martinius96 » 21 pro 2018, 21:01

Zapojenie vyzerá byť v poriadku.
Nemáš tlačidlo otočené o 90°? Ak by tomu tak bolo, tak by vždy Arduino nameralo high hodnotu ako píšeš.
Portfólio realizovaných projektov: https://arduino.php5.sk
Znova tvorím softvér pre webovo orientované projekty!

gilhad
Příspěvky: 153
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: prirátanie hodnoty do premennej po stlačení tlačidla

Příspěvek od gilhad » 21 pro 2018, 21:42

Jo a priprav se na to, ze ti to nepricte jednicku pri kazdem stisknuti, ale pri kazdem stisknuti to zacne pocitat jak splasene, dokud to tlacitko nepustis (hadej proc :) )

Jinak jeste jednodussi je to bez toho odporu proti zemi, nastavit INPUT_PULLUP a brat stitknuti jako LOW.

Pokud se chces podivat, jak to udelat lepe a vyresit si nejen debouncing, tak si procti a promysli tohleto:

http://robodoupe.cz/2018/drobnicky-006- ... e-klikacu/

( jsou tam tri tlacitka s osetrenim proti zakmitu a nezavisle bezici proces klikani mysi - tebe bude asi zajimat ta cast okolo zvysovani/snizovani rychlosti klikani - ja tam promenne posouvam (nasobim/delim 2), ty pricitas a vypisujes. Tu cast s mysi tedy muzes odpreparovat :) )

Riso
Příspěvky: 13
Registrován: 24 srp 2018, 15:36
Reputation: 0

Re: prirátanie hodnoty do premennej po stlačení tlačidla

Příspěvek od Riso » 22 pro 2018, 11:20

Jasné :D viem že mi to nepripočíta len jednotku 😀 to nie je presne čo chcem spraviť len na tom zisťujem prečo mi nefunguje to tlačidlo keďže už som ho v tom projekte používal a zrazu nefunguje. Skúsim to ešte s tým INPUT_PULLUP

VĎAKA ZA RADY ;)

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host