Reset counter op nul
9 berichten
• Pagina 1 van 1
Reset counter op nul
ben bezig met een teller elke keer als de knop wordt ingedrukt telt deze er 1 bij op werkt perfect , nu wil ik er een knop in hebben die de teller weer op nul zet . dit zit al in script verwerkt alleen deel van de reset op nul niet van alles geprobeerd maar nee lukt ff niet.
- Code: Alles selecteren
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int switchPin = 13;
const int resetPin = 12;
int hits = 0;
int resetState = 0;
int currentState = 0;
int previousState = 0;
void setup() {
pinMode(switchPin, INPUT);
pinMode(resetPin, INPUT);
lcd.init();
lcd.backlight();
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("REDTEAM");
lcd.setCursor(0, 1);
lcd.print("Hit Pusbutton");
}
void loop() {
currentState = digitalRead(switchPin);
if (currentState != previousState) {
if (currentState == LOW) {
hits = hits + 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("REDTEAM Hits:");
lcd.setCursor(0, 1);
lcd.print(hits);
delay(200);
}
}
previousState = currentState;
}
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Reset counter op nul
Als je nergens die resetPin leest.......... of verwerkt......
Re: Reset counter op nul
klopt had ik verhaal ook aangegeven. ik zoek dus stukje script die dit gaat doen met resetPin
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Reset counter op nul
Je hebt het erboven staan?????? En dit is ook niet je eerste programma......
Re: Reset counter op nul
De delay van 200ms voorkomt bouncing van de knop.
Maar tijdens die 200ms kun je niet kijken of de reset knop wordt ingedrukt.
Er zijn libraries voor debounce die geen delay hebben, die werken intern met millis(). Misschien iets voor later.
Met wat commentaar erbij en een paar lege regels wordt het volgens mij duidelijker:
cpp code
Als het zelf invullen niet lukt, laat je dan zien wat je hebt, dan helpen we je.
Maar tijdens die 200ms kun je niet kijken of de reset knop wordt ingedrukt.
Er zijn libraries voor debounce die geen delay hebben, die werken intern met millis(). Misschien iets voor later.
Met wat commentaar erbij en een paar lege regels wordt het volgens mij duidelijker:
cpp code
void loop() {
//----------------------------------------
// Check the switch, and increment hits
//----------------------------------------
currentState = digitalRead(switchPin);
if (currentState != previousState) {
if (currentState == LOW) {
hits = hits + 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("REDTEAM Hits:");
lcd.setCursor(0, 1);
lcd.print(hits);
delay(200);
}
}
previousState = currentState;
//----------------------------------------
// Check the reset button, and clear hits
//----------------------------------------
zelf invullen: iets met digitalRead, check for LOW, hits = 0;
}
Als het zelf invullen niet lukt, laat je dan zien wat je hebt, dan helpen we je.
Re: Reset counter op nul
- Code: Alles selecteren
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int switchPin = 13;
const int buttonPin = 11;
int hits = 0;
int buttonState = 0;
int currentState = 0;
int previousState = 0;
void setup() {
pinMode(switchPin, INPUT);
pinMode(buttonPin, INPUT);
lcd.init();
lcd.backlight();
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("REDTEAM");
lcd.setCursor(0, 1);
lcd.print("Hit Pusbutton");
}
void loop() {
currentState = digitalRead(switchPin);
if (currentState != previousState) {
if (currentState == LOW) {
hits = hits + 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("REDTEAM Hits:");
lcd.setCursor(0, 1);
lcd.print(hits);
delay(200);
}
previousState = currentState;
digitalRead(buttonPin== LOW);
hits = 0;
}
}
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Reset counter op nul
Volgens mij worden we niet serieus genomen. De vorige keer liep je te piepen dat "we allemaal onderaan de ladder moesten beginnen". Maar zelf doen..... voorbeelden te over om een button te lezen.... dus kennelijk geldt jouw eigen uitspraak niet voor jezelf...
Re: Reset counter op nul
Uhm, dinoshop, die lege regels en dat commentaar waar ik het over had, dat was niet zomaar een opmerking.
Je hebt nu code toegevoegd binnen de code van de andere knop (om de 'hits' op te hogen). Met dat commentaar en die lege regels, dan zie je beter de afzonderlijke dingen binnen de loop().
Dus als je dat wilt doen, en dan nog een if-statement erbij.
Zo iets als: if ( digitalRead(buttonPin) == LOW ) dan de hits nul maken.
Waarschijnlijk wil je dan ook op het display laten zien dat de waarde nul is geworden.
Je hebt nu code toegevoegd binnen de code van de andere knop (om de 'hits' op te hogen). Met dat commentaar en die lege regels, dan zie je beter de afzonderlijke dingen binnen de loop().
Dus als je dat wilt doen, en dan nog een if-statement erbij.
Zo iets als: if ( digitalRead(buttonPin) == LOW ) dan de hits nul maken.
Waarschijnlijk wil je dan ook op het display laten zien dat de waarde nul is geworden.
9 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: uvdraiwee en 17 gasten