128
edits
Line 1: | Line 1: | ||
''07.12.22'' | ''07.12.22'' | ||
=='''Analog sound | =='''Analog sound and ultrasonic distance sensor'''== | ||
https://wiki.keyestudio.com/KS0035_Microphone_Sound_Sensor_with_Potentiometer | https://wiki.keyestudio.com/KS0035_Microphone_Sound_Sensor_with_Potentiometer | ||
Line 10: | Line 10: | ||
Ultrasound distance sensor consists of a trigger and receiver parts, one is releasing ultrasonic waves and the other is receiving the reflected waves to calculate the distance from the duration of the bouncing time. The detection range is 2-40cm. | Ultrasound distance sensor consists of a trigger and receiver parts, one is releasing ultrasonic waves and the other is receiving the reflected waves to calculate the distance from the duration of the bouncing time. The detection range is 2-40cm. | ||
'''connecting to Arduino''' | '''connecting to Arduino''' | ||
Line 17: | Line 18: | ||
To see the differences in the values, I put some track on the bluetooth speaker and moved it in front of the distance sensor. | To see the differences in the values, I put some track on the bluetooth speaker and moved it in front of the distance sensor. | ||
[[File:sd_jbl.jpg| | [[File:sd_jbl.jpg|300px]] | ||
[[File:sel_loud.png| | [[File:sel_loud.png|150px]] | ||
[[:File:sel_sound.mp4]] | |||
<source style="border:none; height:300; overflow:scroll;" lang="c" line start="55" highlight="4"> | |||
#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04 | |||
#define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04 | |||
int buzzer = 7; | |||
// defines variables | |||
long duration; // variable for the duration of sound wave travel | |||
int distance; // variable for the distance measurement | |||
void setup() { | |||
// put your setup code here, to run once: | |||
pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT | |||
pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT | |||
Serial.begin(9600); | |||
} | |||
void loop() { | |||
int val; | |||
val=analogRead(2); | |||
Serial.print("Loudness:"); | |||
Serial.println(val,DEC); | |||
delay(100); | |||
// Clears the trigPin condition | |||
digitalWrite(trigPin, LOW); | |||
delayMicroseconds(2); | |||
// Sets the trigPin HIGH (ACTIVE) for 10 microseconds | |||
digitalWrite(trigPin, HIGH); | |||
delayMicroseconds(10); | |||
digitalWrite(trigPin, LOW); | |||
// Reads the echoPin, returns the sound wave travel time in microseconds | |||
duration = pulseIn(echoPin, HIGH); | |||
// Calculating the distance | |||
distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back) | |||
Serial.print("Distance: "); | |||
Serial.print(distance); | |||
Serial.println(" cm"); | |||
</source> | |||
Line 30: | Line 81: | ||
added the code a condition about the distance. When the distance is smaller than 10cm, buzzer starts to buzz with the mapped values also from the sound and distance sensor. | added the code a condition about the distance. When the distance is smaller than 10cm, buzzer starts to buzz with the mapped values also from the sound and distance sensor. | ||
<source style="border:none; height:auto; overflow:scroll;" lang="c" line start="55" highlight="4"> | |||
if(distance<10) { | |||
long buzz = map(val, 0, 40, 1000, 5000); | |||
long del = map(distance, 2, 40, 100, 800); | |||
tone(buzzer, buzz); | |||
// tone() is the main function to use with a buzzer, it takes 2 or 3 parameters (buzzer pin, sound frequency, duration) | |||
delay(del); | |||
} | |||
else { | |||
tone(buzzer, 0); | |||
} | |||
</source> | |||
[[:File:sel_buzzer.mp4]] | |||
edits