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;
}