Button debounce hardwarematig
33 berichten
• Pagina 3 van 4 • 1, 2, 3, 4
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Button debounce hardwarematig
inderdaad. Ligt aan jou. Werkt als een tierelierHanneman schreef:Het zal wel aan mij liggen maar buttons op de analoge inputs lijkt me niet handig en ik krijg hem niet op de digitale inputs.
Advertisement
Re: Button debounce hardwarematig
Ik bedoel dat op de site van de library een voorbeeld aangehaald wordt waarin de button op een analoge input aangesloten wordt.
Dat lijkt mij helemaal niet handig.
Ik probeerde die te veranderen naar een digitale input in de code, maar dan krijg ik een error.
Dat lijkt mij helemaal niet handig.
Ik probeerde die te veranderen naar een digitale input in de code, maar dan krijg ik een error.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Button debounce hardwarematig
Welke error.... ???
Ik ben het wel met Shooter eens dat men tegenwoordig wel steeds vager wordt.......
Ik ben het wel met Shooter eens dat men tegenwoordig wel steeds vager wordt.......
Re: Button debounce hardwarematig
Ik heb de library geimporteerd, staat ook in de lijst.
Ik voeg die code in en krijg de volgende error:
sketch_aug15c:14: error: no matching function for call to 'OneButton::OneButton(const uint8_t&)'
Ik voeg die code in en krijg de volgende error:
sketch_aug15c:14: error: no matching function for call to 'OneButton::OneButton(const uint8_t&)'
- Code: Alles selecteren
#include <OneButton.h>
/*
S01_SimpleOneButton
Simple OneButton sketch that shows how to ???
The circuit:
* Connect a pushbutton to pin A1 (ButtonPin) and ground
* and see results on pin 13 (StatusPin).
* 03.03.2011 created by Matthias Hertel
*/
// Setup a new OneButton on pin A1.
OneButton button(A1);
// setup code here, to run once:
void setup() {
// enable the standard led on pin 13.
pinMode(13, OUTPUT); // sets the digital pin as output
// link the doubleclick function to be called on a doubleclick event.
button.attachDoubleClick(doubleclick);
} // setup
// main code here, to run repeatedly:
void loop() {
// keep watching the push button:
button.tick();
// You can implement other code in here or just wait a while
delay(10);
} // loop
// this function will be called when the button was pressed 2 times in a short timeframe.
void doubleclick() {
static int m = LOW;
// reverse the LED
m = !m;
digitalWrite(13, m);
} // doubleclick
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Button debounce hardwarematig
En heb je al gecontroleerd of die functie er echt niet is? Dus de code bekijken van die library?
@edit: soms is de beschrijving van een intro scherm achterhaald???? En is het altijd handiger om de meegeleverde voorbeelden te bekijken..........
@edit: soms is de beschrijving van een intro scherm achterhaald???? En is het altijd handiger om de meegeleverde voorbeelden te bekijken..........
Re: Button debounce hardwarematig
Ik ben aan het vogelen met jouw debounce code, ik krijg de error:
'checkbutton' cannot be used as a function
dit zit in de switch:
Dit staat ervoor (ook in de void loop):
'checkbutton' cannot be used as a function
dit zit in de switch:
- Code: Alles selecteren
case stap16:
if (checkButton(knopPin)) {
volgendeStap = volgendeStap +3;
}
//
// alleen uitvoeren als de tijd is verstreken
//
if (millis() > timer) {
lightLeds (0b10000000, 0b00000000);
// digitalWrite(LED1, !digitalRead(LED1)); // Flip led 1
teller++; // verhoog teller
if (teller > 1) { // alles gehad?
volgendeStap++; // we zijn hier klaar
}
else {
snelheid = snelheid*2;
timer = millis() + snelheid; // we zijn er nog niet dus de timer zetten
}
}
break;
Dit staat ervoor (ook in de void loop):
- Code: Alles selecteren
/**
* @name checkButton (uint8_t dataPin)
* @param dataPin index to button in array
* @returns boolean true=pressed, false=not pressed
* checks if a button is processable or waiting for release. If processable, it checks for the ACTIVE_BUTTON state
*/
boolean checkButton(knopPin);
boolean returnStatus = false; // default button is not pressed
//
// check switch color button
//
if (buttons[knopPin].waitForReleased) {
//
// we are still waiting for the release of the button to be able to process the next
//
if (digitalRead(buttons[knopPin].pin) == !ACTIVE_BUTTON) {
//
// yep button is released
//
buttons[knopPin].waitForReleased = false;
}
} else {
//
// check if the button is pressed
//
if (digitalRead(buttons[knopPin].pin) == ACTIVE_BUTTON) {
//
// wait debounce time
//
delay(DEBOUNCE);
if (digitalRead(buttons[knopPin].pin) == ACTIVE_BUTTON) {
//
// set the return status
//
returnStatus = true;
//
// and do not process this button until it is released
//
buttons[knopPin].waitForReleased = true;
}
}
}
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Button debounce hardwarematig
Ik zou ff alles op zij gooien en een week vrij nemen...... je maakt nu de ene zorgvuldigheidsfout na de andere..... Je kopieert een functie in een loop()? en maakt van de functie header een statement en het kwartje valt niet.......
Re: Button debounce hardwarematig
De sample sketch van de one button library zelf werkt idd wel, die op de site staat bevat een fout.
Re: Button debounce hardwarematig
Dat is misschien wel het beste jah,
helder nadenken zit er blijkbaar ff niet meer in
Ik ga maar weer verder Dirty Harry uit '71 kijken
helder nadenken zit er blijkbaar ff niet meer in
Ik ga maar weer verder Dirty Harry uit '71 kijken
33 berichten
• Pagina 3 van 4 • 1, 2, 3, 4
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 70 gasten