Probleem met code voor tinkerkit shield

algemene C code
Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Probleem met code voor tinkerkit shield

Berichtdoor nicoverduin » 27 Mei 2014, 23:00

Als een knop is ingedrukt, dan moet je ff iets van 10-50 msec wachten en kijken of hij nog steeds is ingedrukt. Pas dan kun je stellen dat de toets is ingedrukt. Als een knop ingedrukt wordt, dan trillen de contacten ff na. Dan heb je meer tijd.
Wat je met toestand aan het doen bent is me niet helemaal duidelijk.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Advertisement

Berichten: 9
Geregistreerd: 15 Mei 2014, 19:20

Re: Probleem met code voor tinkerkit shield

Berichtdoor kennyquintens » 28 Mei 2014, 10:47

nicoverduin schreef:Als een knop is ingedrukt, dan moet je ff iets van 10-50 msec wachten en kijken of hij nog steeds is ingedrukt. Pas dan kun je stellen dat de toets is ingedrukt. Als een knop ingedrukt wordt, dan trillen de contacten ff na. Dan heb je meer tijd.
Wat je met toestand aan het doen bent is me niet helemaal duidelijk.


Met die "toestand" laat ik het programma 40 keren lopen en pas dan mag het knopje terug worden uitgelezen worden. Maar hierdoor verkrijg ik het probleem dat als ik druk wanneer deze teller op 20 staat, mijn drukknop niet wordt uitgelezen.

En hoe doe ik dat weer van die 10/50ms wachten?

Alvast bedankt.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Probleem met code voor tinkerkit shield

Berichtdoor nicoverduin » 28 Mei 2014, 12:46

Code: Alles selecteren
//
// uitgaande van HIGH = knop  is niet ingedrukt
//
toestandfrees = HIGH;
//
// eerste keer knop lezen
//
toestandfrees = digitalRead(drukknopfrees);
//
// kijk of hij is ingedrukt
//
if (toestandfrees == LOW) {
    //
    // ja dus nu ff 15 mSec wachten
    //
    delay(15);
    //
    // en nog een keer lezen
    //
    toestandfrees = digitalRead(drukknopfrees);
    //
    // eventueel wachten tot de knop is losgelaten
    //
    while(!digitalRead(drukknopfrees)){};
endif
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Vorige

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 31 gasten