If you want to close the buzzer, just set PWM frequency of the buzzer pin to 0.
void stopAlertor(int pin){
softToneWrite(pin,0);
}
The related functions of softTone is described as follows:
int softToneCreate (int pin) ;
This creates a software controlled tone pin.
void softToneWrite (int pin, int freq) ;
This updates the tone frequency value on the given pin.
For more details about softTone, please refer to :http://wiringpi.com/reference/software-tone-library/
Python Code 6.2.1 Alertor
First observe the project result, and then analyze the code.
1. Use cd command to enter 06.2.1_Alertor directory of Python code.
cd ~/Freenove_Ultimate_Starter_Kit_for_Raspberry_Pi/Code/Python_Code/06.2.1_Alertor
2. Use the python command to execute the Python code “Alertor.py”.
python Alertor.py
After the program is executed, press the button, then the buzzer sounds. When the button is released, the
buzzer will stop sounding.
The following is the program code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
im port RPi. GPIO as GPIO
im port time
im port math
buzzerPin = 11 # define the buzzerPin
buttonPin = 12 # define the buttonPin
def setup():
g lobal p
p rint ('Program is starting...')
GPIO. setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO. setup(buzzerPin, GPIO. OUT) # Set buzzerPin's mode is output
GPIO. setup(buttonPin, GPIO. IN, pull_up_down=GPIO.PUD_UP) # Set buttonPin's mode is
input, and pull up to high level(3.3V)
p = GPIO. PWM(buzzerPin, 1)
p. start(0);
def loop():
w hile Tr ue:
if GPIO.input(buttonPin)==GPIO.LOW:
alertor()
print ('buzzer on ...')