首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

P4 如何使用树莓派控制蜂鸣器Buzzer

P4 如何使用树莓派控制蜂鸣器Buzzer

Introduction

此章节我们将学习如何使用树莓派+PNP晶体管来驱动一个有源蜂鸣器,使其发声。

What you will need

树莓派×1

线路板×1

网线×1

蜂鸣器×1

NPN 三级管 (8050)×1

电阻(1KΩ)×1

跳线

What you will do

作为一种带有集成结构的电子蜂鸣器,它采用直流电源,被广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话、语音设备定时器及其它电子产品。蜂鸣器可分为压电蜂鸣器和电磁蜂鸣器。压电蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器、谐振腔、壳、等组成。电磁式蜂鸣器则主要由振荡器、电磁线圈、磁铁、振动膜片、壳体等组成。蜂鸣器又可以分为有源和无源(见下面的图片)。当我们将两个蜂鸣器的引脚朝上放置时,我们能看到绿色电路板的就是无源蜂鸣器,而另外一个没有看到电路板的就是有源蜂鸣器了。

有源蜂鸣器和无源蜂鸣器的区别在于:

有源蜂鸣器有内置振荡源,所以只要它带电就可以发出声音。而无源蜂鸣器没有振荡源,在使用直流信号时,它不会鸣叫,所以你想要驱动它的话,只能利用频率在2K-5K的方波信号。由于存在多个内置振荡电路,有源蜂鸣器通常会比无源蜂鸣器价格更昂贵。

第一步:如下图所示连接电路

第二步:使用nano编辑和保存代码

Python code

#!/usr/bin/env python

import RPi.GPIO as GPIO

import time

BeepPin = 11 # pin11

def setup():

GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location

GPIO.setup(BeepPin, GPIO.OUT) # Set BeepPin's mode is output

GPIO.output(BeepPin, GPIO.HIGH) # Set BeepPin high(+3.3V) to off beep

def loop():

while True:

GPIO.output(BeepPin, GPIO.LOW)

time.sleep(0.1)

GPIO.output(BeepPin, GPIO.HIGH)

time.sleep(0.1)

def destroy():

GPIO.output(BeepPin, GPIO.HIGH) # beep off

GPIO.cleanup() # Release resource

if __name__ == '__main__': # Program start from here

print 'Press Ctrl+C to end the program...'

setup()

try:

loop()

except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child program destroy() will be executed.

destroy()

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180406G12O5F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券