piezo foutje???

geachte,

ik zit met een (denk ik ) probleempje
wil een schakeling waarbij wanneer er op de drukknop word gedrukt en een led gaat en zo opteld
nu alles werkt, en wil ik er een zoemer bij plaatsen telkens de drukknop hoog is.
met een simulatie werkt dit en wanneer ik dit maakt blijft de zoemer altijd werken.
wat is er fout????

frankdewispelaere:
geachte,

ik zit met een (denk ik ) probleempje
wil een schakeling waarbij wanneer er op de drukknop word gedrukt en een led gaat en zo opteld
nu alles werkt, en wil ik er een zoemer bij plaatsen telkens de drukknop hoog is.
met een simulatie werkt dit en wanneer ik dit maakt blijft de zoemer altijd werken.
wat is er fout????

Je bent vergeten de code erbij te zetten.......

Sorry,
eerste keer hier op forum
dus dit is de code, weliswaar hoofdzakelijk van internet gehaald met hier en daar wat aanpassingen, maar zoals eerder al gezegd zonder piezo werkt het perfect zoals ik wil met piezo ook behalve dat de piezo blijft gaan terwijl het de bedoeling is enkel als de button 1 is .

mvg
frank

int buttonPin = 12;
int buzzerPin = 10;
int fi = 7;
int se = 8;
int th = 9;
const int toneFreq = 2200;

int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;

void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(fi, OUTPUT);
pinMode(se, OUTPUT);
pinMode(th, OUTPUT);

digitalWrite(fi, LOW);
digitalWrite(se, LOW);
digitalWrite(th, LOW);

digitalWrite(fi, LOW);
digitalWrite(se, LOW);
digitalWrite(th, LOW);
}

void loop()
{
// read the pushbutton input pin:
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH){
tone(buzzerPin, toneFreq);
delay(200);
}
if (buttonState == LOW){
noTone(10);
}

// compare the buttonState to its previous state
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH then the button
// wend from off to on:
buttonPushCounter++;
if(buttonPushCounter == 5){ buttonPushCounter = 1;}
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
}
else {
// if the current state is LOW then the button
// went from on to off:
Serial.println("off");
}
}
// save the current state as the last state,
//for next time through the loop
lastButtonState = buttonState;
switch(buttonPushCounter)
{
case 1:
digitalWrite(fi, HIGH);
digitalWrite(se, LOW);
digitalWrite(th, LOW);
break;
case 2:
digitalWrite(fi, HIGH);
digitalWrite(se, HIGH);
digitalWrite(th, LOW);
break;
case 3:
digitalWrite(fi, HIGH);
digitalWrite(se, HIGH);
digitalWrite(th, HIGH);
break;
case 4:
digitalWrite(fi, LOW);
digitalWrite(se, LOW);
digitalWrite(th, LOW);
break;
}
Serial.println(buttonState);
}

Heb je al eens de tone library bekeken welke functies er in zitten? Want daar staat precies jouw antwoord in.

En twee tips voor de volgende keer:

  1. Lees je eigen post een keer terug voor je op post drukt. De zinnen die schrijft zijn krom, missen leestekesn en is steeds eigenlijk een mega lange zin.

  2. Als je code plaatst, die dit tussen code-tags. Zet [code ] en [/code ] (zonder spatie) om je code heen. Ook te doen via </> in het menu. Dit maakt code veel leesbaarder.