Guys,
Help me out please.
I am using 2 Arduino Uno using APC 220 Radio Communication Modules. My problem is when i uploaded the code as in below, my piezo buzzer keep buzzing even i disconnected power for my transmitter.
Please help me. ![]()
Project:
- Arduino Uno + Ultrasonic Sensor + APC Radio Communication Module (Transmitter).
- Arduino Uno + Piezo Buzzer + APC Radio Communication Module (Receiver).
My Code:
- Arduino with Ultrasonic Sensor:
const int pingPin = 7;
void setup()
{
Serial.begin(9600);
}
void loop()
{
long duration, meters, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
meters = microsecondsToMeters(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
}
long microsecondsToMeters(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
- Arduino Uno with Piezo Buzzer:
const int pingPin = 7;
const int BUZZ = 5;
void setup()
{
pinMode(BUZZ, OUTPUT);
Serial.begin(9600);
}
void loop()
{
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
if(cm< 100)
{
analogWrite(BUZZ, (100 - cm) * 10);
}
else
{
digitalWrite(BUZZ, LOW);
}
delay(100);
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters (long microseconds)
{
return microseconds / 29 / 2;
}