Stop the buzzer

Hi everyone, how stop the buzzer tone?
Thank you

#include <Arduino.h>
#include <stdio.h>
#define ON 1
#define OFF 0
int vibration_Sensor = A5;
const int buzzer = 6;

int present_condition = 0;
int previous_condition = 0;

int lowerThreshold = 424;
int upperThreshold = 478;

#define sensorPower 7
#define sensorPin A0

int val = 0;
int redLED = 2;
int yellowLED = 3;
int greenLED = 4;

void setup() {
pinMode(vibration_Sensor, INPUT);
pinMode(buzzer, OUTPUT);

Serial.begin(9600);
pinMode (buzzer, OUTPUT);
pinMode(sensorPower, OUTPUT);
digitalWrite(sensorPower, LOW);

pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);

digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);

}

void loop() {

previous_condition = present_condition;
present_condition = digitalRead(A5);
if (previous_condition = present_condition)
tone(buzzer, 3000);
delay(500);
noTone(buzzer);
delay(500);
int level = readSensor();

if (level == 0) {
Serial.println("Water Level: Empty");
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
}
else if (level > 0 && level <= lowerThreshold) {
Serial.println("Water Level: Low");
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);

}
else if (level > lowerThreshold && level <= upperThreshold) {
Serial.println("Water Level: Medium");
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH);
digitalWrite(greenLED, LOW);
tone(buzzer, 1000);
delay(1000);
noTone(buzzer);
delay(1000);
}
else if (level > upperThreshold) {
Serial.println("Water Level: High");
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, HIGH);
tone(buzzer, 3000);
delay(500);
noTone(buzzer);
delay(500);
}
delay(1000);
}

//This is a function used to get the reading
int readSensor() {
digitalWrite(sensorPower, HIGH);
delay(10);
val = analogRead(sensorPin);
digitalWrite(sensorPower, LOW);
return val;
}

Step 1. Format your code...

#include <Arduino.h>
#include <stdio.h>
#define ON 1
#define OFF 0
int vibration_Sensor = A5;
const int buzzer = 6;

int present_condition = 0;
int previous_condition = 0;

int lowerThreshold = 424;
int upperThreshold = 478;

#define sensorPower 7
#define sensorPin A0

int val = 0;
int redLED = 2;
int yellowLED = 3;
int greenLED = 4;

void setup() {
  pinMode(vibration_Sensor, INPUT);
  pinMode(buzzer, OUTPUT);

  Serial.begin(9600);
  pinMode (buzzer, OUTPUT);
  pinMode(sensorPower, OUTPUT);
  digitalWrite(sensorPower, LOW);

  pinMode(redLED, OUTPUT);
  pinMode(yellowLED, OUTPUT);
  pinMode(greenLED, OUTPUT);

  digitalWrite(redLED, LOW);
  digitalWrite(yellowLED, LOW);
  digitalWrite(greenLED, LOW);

}

void loop() {

  previous_condition = present_condition;
  present_condition = digitalRead(A5);
  if (previous_condition = present_condition)
    tone(buzzer, 3000);
  delay(500);
  noTone(buzzer);
  delay(500);
  int level = readSensor();

  if (level == 0) {
    Serial.println("Water Level: Empty");
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, LOW);
  }
  else if (level > 0 && level <= lowerThreshold) {
    Serial.println("Water Level: Low");
    digitalWrite(redLED, HIGH);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, LOW);

  }
  else if (level > lowerThreshold && level <= upperThreshold) {
    Serial.println("Water Level: Medium");
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, HIGH);
    digitalWrite(greenLED, LOW);
    tone(buzzer, 1000);
    delay(1000);
    noTone(buzzer);
    delay(1000);
  }
  else if (level > upperThreshold) {
    Serial.println("Water Level: High");
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, HIGH);
    tone(buzzer, 3000);
    delay(500);
    noTone(buzzer);
    delay(500);
  }
  delay(1000);
}

//This is a function used to get the reading
int readSensor() {
  digitalWrite(sensorPower, HIGH);
  delay(10);
  val = analogRead(sensorPin);
  digitalWrite(sensorPower, LOW);
  return val;
}

Tell us what this does:

tone(buzzer, 3000);


Tell us what this does:

tone(buzzer, 3000, 500);


Tell us what happens during the delay time:

delay(1000);

Hi everyone. I want to stop the buzzer once its ring. Can you help me?

int lowerThreshold = 424;
int upperThreshold = 478;

#define sensorPower 7
#define sensorPin A0

int val = 0;

int redLED = 2;
int yellowLED = 3;
int greenLED = 4;
const int buzzer = 6;

void setup() {
Serial.begin(9600);
pinMode (buzzer, OUTPUT);
pinMode(sensorPower, OUTPUT);
digitalWrite(sensorPower, LOW);

pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);

digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);

}

void loop() {
int level = readSensor();

if (level == 0) {
Serial.println("Water Level: Empty");
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
}
else if (level > 0 && level <= lowerThreshold) {
Serial.println("Water Level: Low");
digitalWrite(redLED, HIGH);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);

}
else if (level > lowerThreshold && level <= upperThreshold) {
Serial.println("Water Level: Medium");
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, HIGH);
digitalWrite(greenLED, LOW);
tone(buzzer, 1000);
delay(1000);
noTone(buzzer);
delay(1000);
}
else if (level > upperThreshold) {
Serial.println("Water Level: High");
digitalWrite(redLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, HIGH);
tone(buzzer, 3000);
delay(500);
noTone(buzzer);
delay(500);
}
delay(1000);
}

//This is a function used to get the reading
int readSensor() {
digitalWrite(sensorPower, HIGH);
delay(10);
val = analogRead(sensorPin);
digitalWrite(sensorPower, LOW);
return val;
}

Why are you asking the same question ?

Your HC-SR04 is not set up correctly, and until it is, your buzzer will always ring.

Hello

Try this example : t940977.ino - Wokwi ESP32, STM32, Arduino Simulator

@aryhapsara

you should post your code as described in this tutorial

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.