www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Tipka in Arduino

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Čet Dec 24, 2020 9:38 pm    Naslov sporočila:  Tipka in Arduino Odgovori s citatom

Hi

Prvič, Vsem skupaj vesele Božične praznike.

Kako naj napišem program, da vsakič ko pritisnem Tipko prišteje samo eno število, tudi če držim dlje časa?

Sedaj mi prišteva dokler držim tipko.

Koda:


void loop(){

  tipkaStanje = digitalRead(tipkaPin);

  if (tipkaStanje == HIGH){
    xy = ++xy;
     
   Serial.print("Stanje :");
   Serial.println(xy);
  }
}

 
 
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 611
Aktiv.: 4.46
Kraj: Vrhnika

PrispevekObjavljeno: Čet Dec 24, 2020 11:41 pm    Naslov sporočila:   Odgovori s citatom

Vsakic ko preberes stanje tipke si ga zapomni. V naslednjem branju novega primerjaj z prejsnjim.
V bistvu te zanima samo kdaj se zgodi prehod iz 0->1 oz. obratno.
Pa ne vsak cikel zanke brat tipke zaradi moznosti odskakovanja. Bo ok ce beres tipke vsakih 40-60ms. Ce pa imas na vhodu RC filter potem lahko to tudi izpustis.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tlogar
Član
Član



Pridružen-a: Pon 23 Mar 2015 16:57
Prispevkov: 186
Aktiv.: 1.69

PrispevekObjavljeno: Pet Dec 25, 2020 10:52 am    Naslov sporočila:   Odgovori s citatom

Tako kot je napisal mato11. V tem primeru, ko držiš tipko, ti v vsakem ciklu programa prišteje. Naredi samo ob prehodu. Na spletu boš sigurno kaj pametnega našel.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Pet Dec 25, 2020 6:55 pm    Naslov sporočila:   Odgovori s citatom

https://www.arduino.cc/en/Tutorial/BuiltInExamples/StateChangeDetection/
_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
marko11
Član
Član



Pridružen-a: Ned 14 Dec 2003 17:47
Prispevkov: 866
Aktiv.: 3.90
Kraj: Dobrepolje

PrispevekObjavljeno: Pet Dec 25, 2020 9:36 pm    Naslov sporočila:   Odgovori s citatom

Hi

Našel sem kodo na internetu, ki deluje, hvala vsem.

Lp,

Koda:

const int BUTTON_PIN = 14;       


int lastState = LOW; 
int currentState; 


void setup(){

 pinMode(BUTTON_PIN, INPUT_PULLUP); 


}

void loop(){

  currentState = digitalRead(BUTTON_PIN);
   
  if(lastState == HIGH && currentState == LOW){
  xy= ++xy;
 
   Serial.print(" Tipka Pritisnjena : ");
    Serial.println(xy);
}
 else if(lastState == LOW && currentState == HIGH){
    Serial.println("Tipka NI PRITISNJENA");
 } 
 
lastState = currentState; 


}   
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group