此教程教学使用有源蜂鸣器鸣叫、有有节奏地鸣叫/无源蜂鸣器控制输出“哆来咪”、演奏歌曲。

蜂鸣器

蜂鸣器分为有源蜂鸣器与无源蜂鸣器

·无源蜂鸣器内部不带震荡源,所以如果用直流电信号则无法令其鸣叫,须用2K-5K的方波(PWM)驱动;

声音频率可控,可以做出“哆来咪发索拉西”的效果。

·有源蜂鸣器内部带震荡源,通电就鸣叫。

方便程序控制,一个高地电平就可以让其发出声音。

线路连接(有源蜂鸣器与无源蜂鸣器方法相同)

蜂鸣器上的VCC(正极)端连接树莓派3.3v引脚(物理引脚1),I/O端连接树莓派GPIO.0(物理引脚11),将GND(负极)对接GND引脚(物理引脚9)。连接稳固后上电开机。*连接线路时树莓派务必断电操作

有源蜂鸣器鸣叫

编写程序bee.py

import RPi.GPIO as GPIO #导入函数

import time

GPIO.setmode(GPIO.BOARD) #定义数据口

GPIO.setup(11, GPIO.OUT)

while True:

GPIO.output(11, GPIO.HIGH) #根据模块高低电平调整时间及模式

time.sleep(3)

GPIO.output(11, GPIO.LOW) #如是低电平触发,结果为每相隔3秒蜂鸣器鸣叫0.1秒

time.sleep(0.1)

GPIO.cleanup() #结束进程,释放GPIO引脚

运行程序结果为蜂鸣器每3秒蜂鸣器短鸣一声。可以调整时间改变想要的效果。

有源 蜂鸣器有节奏地鸣叫

编写程序bee2.py

import RPi.GPIO as GPIO #导入函数

import time

GPIO.setmode(GPIO.BOARD) #定义数据口

GPIO.setup(11, GPIO.OUT)

def beep(seconds):

GPIO.output(11, GPIO.LOW) #根据模块高低电平触发调正输出信号

time.sleep(seconds)

GPIO.output(11, GPIO.HIGH)

def beepAction(secs, sleepsecs, times):

for i in range(times):

beep(secs)

time.sleep(sleepsecs)

beepAction(0.02,0.2,15) #(鸣叫时间,停顿间隔时间,总时长)

GPIO.cleanup() #结束进程,释放GPIO引脚

运行程序结果蜂鸣器有节奏的鸣叫,可以修改程序中调用函数beepActionde的参数让鸣叫不一样。

更换为无源蜂鸣器模块进行以下教程 *连接线路时树莓派务必断电操作

无源蜂鸣器控制输出“哆来咪”

编写程序beeDRM.py

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11, GPIO.OUT)

def buzz(pitch, duration):

period = 1.0/pitch

delay = period / 2

cycles=int(duration*pitch)

for i in range(cycles):

GPIO.output(11, GPIO.LOW)

time.sleep(delay)

GPIO.output(11, GPIO.HIGH)

time.sleep(delay)

while(True):

pitch_s = input("Enter Pitch (200 to 2000,do262,rui294,mi330)")

pitch= float(pitch_s)

duration_s= input("Enter Duration (Seconds)")

duration=float(duration_s)

buzz(pitch, duration)

运行程序在命令行窗口是显示出输入频率(200-2000)然后是输入鸣叫时间,分别输入回车确认就可以根据所输入的数值鸣叫。

无源 蜂鸣器演奏歌曲

编写程序beestar.py

import RPi.GPIO as GPIO

import time

Buzzer = 11

CM = [0, 330, 350, 393, 441, 495, 556, 624] #定义频率

song_3 = [ CM[1],CM[1],CM[5],CM[5],CM[6],CM[6],CM[5],CM[4],CM[4],CM[3],

CM[3],CM[2],CM[2],CM[1],CM[5],CM[5],CM[4],CM[4],CM[3],CM[3],

CM[2],CM[5],CM[5],CM[4],CM[4],CM[3],CM[3],CM[2],CM[1],CM[1],

CM[5],CM[5],CM[6],CM[6],CM[5],CM[4],CM[4],CM[3],CM[3],CM[2],

CM[2],CM[1],]

beat_3 = [ 0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,

0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,0.5,1,]

def setup():

GPIO.setmode(GPIO.BOARD)

GPIO.setup(Buzzer, GPIO.OUT)

global Buzz

Buzz = GPIO.PWM(Buzzer, 440)

Buzz.start(50) #按50%工作定额启动蜂鸣器引脚

def loop():

while True:

print('\n Playing song 3...')

for i in range(1, len(song_3)):

Buzz.ChangeFrequency(song_3[i])

time.sleep(beat_3[i]) #延迟一个节拍* 0.2秒的音符

def destory():

Buzz.stop()

GPIO.output(Buzzer, 1)

GPIO.cleanup()

if __name__ == '__main__':

setup()

try:

loop()

except KeyboardInterrupt:

executed.

destory()

运行程序蜂鸣就会演奏小星星歌曲,可以找寻歌曲的曲谱更改程序的参数来演奏。

树莓派蜂鸣器python代码_树莓派之蜂鸣器模块基础应用相关推荐

  1. 树莓派蜂鸣器python代码_树莓派+蜂鸣器=整点报时器

    试了下用树莓派外加一个有源蜂鸣器,实现了一个简单的报时功能. 对于有源.无源蜂鸣器的区别,简短介绍下: 一.无源蜂鸣器: 1.无源内部不带震荡源,所以如果用直流信号无法令其鸣叫.必须用2K~5K的方波 ...

  2. 树莓派蜂鸣器python代码_树莓派接入无源蜂鸣器

    x淘购得一无源蜂鸣器,附带文档只有Arduino的测试代码. 只有自行探索接线方式以及测试代码. 无源蜂鸣器需要脉宽调制(PWM)信号,查询得知GPIO的物理pin 12有此功能.用杜邦线连接无源蜂鸣 ...

  3. 在树莓派里面运行python代码_树莓派如何运行python程序

    树莓派如何运行python程序 发布时间:2020-09-23 12:03:39 来源:亿速云 阅读:128 作者:小新 这篇文章主要介绍了树莓派如何运行python程序,具有一定借鉴价值,需要的朋友 ...

  4. 树莓派小车python代码_【树莓派】树莓派小车(二)树莓派、小车和红外线模块连接...

    上一篇文章介绍了小车底盘以及驱动板的安装,这一次来讲一讲树莓派与驱动板以及红外线模块的安装. 树莓派的GPIO引脚定义: 树莓派的GPIO引脚共分为两种类型,一种是PHYSICAL NUMBERING ...

  5. 人口发展方程python代码_中国大学mooc2020Python编程基础答案查题公众号

    如果y=k1/2,s=0.4,折旧率=20%,稳态人均资本存量为().A.4B.8C.12D.16 根据索洛经济增长模型,一国人均收入的长期增长主要取决于资本积累速度,即取决于储蓄率. 程序计数器PC ...

  6. python猜谜语小游戏代码_树莓派趣学实战100例--网络应用+Python编程+传感器+服务器搭建...

    导语 内容提要 本书是面向第4代树莓派(Raspberry Pi4B)的全新实战指南.树莓派(Raspberry Pi)是一款价格低廉.只有一张信用卡大小的计算机.然而麻雀虽小,却五脏俱全,树莓派是一 ...

  7. 树莓派能直接运行python程序_树莓派怎么运行python程序

    树莓派运行Python程序的方法: 一.RaspBerry系统设置 1.首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器.比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包 ...

  8. 树莓派python蓝牙_树莓派的蓝牙操作

    树莓派端的蓝牙操作 首先利用ssh登录树莓派(假设用户名为pi) ssh pi@xxx.xxx.xxx.xxx 更新软件源.软件包等相关操作: sudo apt-get update sudo apt ...

  9. 树莓派python摄像头_树莓派摄像头Camera的使用

    树莓派摄像头Camera的使用 一.安装 1.硬件安装 2.打开Raspberry Pi配置工具开启Camera 二. 如何通过命令行控制摄像头模块 现在您的相机模块已连接且软件已启用,请尝试使用命令 ...

  10. python树莓派串口通信实例_树莓派通过串口发送数据

    可以通过串口登陆树莓派,也可以通过串口向其他主机发送数据.树莓派的串口接受数据科技爱好者博客已经写过,可以参考这篇文章:树莓派与arduino串口通信实践.这篇文章教大家如果通过树莓派的串口发送数据. ...

最新文章

  1. tp剩余未验证内容-8
  2. Fitnesse测试系列--如何做成模块Module供调用
  3. RuntimeError: Found dtype Double but expected Float”
  4. pythonurllib模块-python爬虫之urllib模块和requests模块学习
  5. 第五十三篇、OC利用AFN上传视频到服务器
  6. angular接口传参
  7. 51nod 1101 换零钱 简单dp
  8. django处理select下拉表单(从model到前端到post到form)
  9. centeros mysql_center os 7 Mysql 安装
  10. 【大数据】0002---MongoDB集群自动分离创建新集群
  11. 电脑只有一个c盘怎么办_新买的电脑,拿到手只有一个C盘,如何分成两个盘
  12. 从一个小程序说起 - C++快速入门02
  13. 手机微商城可以安装到虚拟服务器,安装使用:百家CMS微商城系统安装教程(图文说明)...
  14. 数学:深入浅出通信原理(陈爱军)
  15. 【制作脑图】万彩脑图大师教程 | 概括主题
  16. 【Virtual Box 错误】0x00000000 指令引用的 0x00000000 内存。该内存不能为written
  17. 不积跬步,无以至千里 small tips
  18. 同学,你这简历上没项目啊!
  19. 微信小程序实现腾讯地图定位功能-demo
  20. Software Architecture Pattern(Mark Richards)笔记

热门文章

  1. 远程唤醒、WOL、Magic_Packet
  2. UiPath Computer Vision本地版使用
  3. 优化 | 线性化:两个0-1变量相乘的线性化
  4. Response.AddHeader 参数
  5. 计算机网络信息安全毕业设计题目,网络信息安全系统毕业设计
  6. HTML .CSS实现商品详情(detail)
  7. epub文件一揽子解决方案
  8. 抖音返利分销模式及代理系统开发
  9. 问卷java_Java 问卷调查
  10. 关于表单流程设计器 以及 问卷调查生成器的开发准备