树莓派接入无源蜂鸣器
x淘购得一无源蜂鸣器,附带文档只有Arduino的测试代码。
只有自行探索接线方式以及测试代码。
无源蜂鸣器需要脉宽调制(PWM)信号,查询得知GPIO的物理pin 12有此功能。用杜邦线连接无源蜂鸣器的VCC到GPIO的pin1(3.3v),GND接pin9(GND),I/O接pin12。如上图所示。
测试代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Connect: hello@tyrantek.com
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
p = GPIO.PWM(12, 35) # 通道为 12 频率为 50Hz
p.start(0)
try:
while 1:
for dc in range(0, 101, 5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
for dc in range(100, -1, -5):
p.ChangeDutyCycle(dc)
time.sleep(0.1)
except KeyboardInterrupt:
pass
p.stop()
GPIO.cleanup()
可听到蜂鸣器滴滴滴的声音。