找回密码
 立即注册

QQ登录

【GPIO】终端控制蜂鸣器发声

来源: 奥松-Neil 2017-2-7 11:47 显示全部楼层 |阅读模式
本帖最后由 奥松-Neil 于 2018-11-21 13:56 编辑

1、实验目的:
通过终端发送的数值来控制蜂鸣器发生频率及时间

2、实验环境:
实验硬件:
* Raspberry Pi 3 控制器套件
* 蜂鸣器 1个
* 实验连接线若干
软件环境
* 操作系统:2016-09-23-raspbian-jessie
* 编译器:Python3

3、硬件连接
Raspberry  Pi GPIO PIN  标号图
Raspberry  Pi GPIO PIN  标号图.jpg
硬件连接示意图:
02.jpg
实物接线图:
03.jpg

4、实验例程
  1. import RPi.GPIO as GPIO
  2. import time

  3. buzzer_pin = 18
  4. GPIO.setmode(GPIO.BCM)
  5. GPIO.setup(18, GPIO.OUT)

  6. def buzz(pitch, duration):
  7.         period = 1.0 / pitch
  8.         delay = period / 2
  9.         cycles = int(duration * pitch)
  10.         for i in range(cycles):
  11.                 GPIO.output(buzzer_pin, True)
  12.                 time.sleep(delay)
  13.                 GPIO.output(buzzer_pin, False)
  14.                 time.sleep(delay)
  15.                

  16. while True:
  17.         pitch_s = input("Enter Pitch (200 to 2000): ")
  18.         pitch = float(pitch_s)
  19.         duration_s = input("Enter Duration (seconds): ")
  20.         duration = float(duration_s)
  21.         buzz(pitch, duration)
复制代码

如下图所示为 Windows 环境下,使用 Notepad++ 进行的 Python 程序编辑,需要注意的是 Python 程序对于格式要求非常严格,所以大家编程时一定要注意格式的准确,否则在运行程序时会出现错误
04.png

5、程序下载
buzzer.py (558 Bytes, 下载次数: 11)

6、代码运行
(1)将编辑好的程序文件,保存为“buzzer.py”
(2)使用FileZilla软件上传程序到Raspberry Pi的/home/pi/Alsrobot目录下
(3)打开SSH登录Raspberry Pi控制器,输入下列指令运行程序,如图所示
  1. cd Alsrobot
  2. sudo python3 buzzer.py
复制代码
05.png
(4)首先输入音调的值,范围在200 - 2000之间,点击回车;然后输入声音持续时间(秒),再次点击回车,蜂鸣器就会发出声音
06.png
如上图所示,是设定了此发生,第一次音调设置为500,持续时间5秒;第二次音调设置为1000,持续时间3秒;当蜂鸣器完成一次发声以后,会自动返回到音调设置命令行,要退出程序,只需单击键盘的“Ctrl + X”键

7、简要说明
实验使用压电蜂鸣器,没有非常宽泛的频率范围,但是,我们可以通过改变它的音高值,产生不同的音调,这与代码产生的频率非常相似,本实验中,通过简单的切换GPIO18引脚打开和关闭的时间来实现功能,其中打开和关闭之间的延时,通过声音的音调设置确定,音调(频率)越高,延时就越短。


回复

使用道具 举报

大神点评17

回复学习
回复

使用道具 举报

fox1962 2017-2-22 21:59 显示全部楼层
好好学习,天天向上
回复 支持 反对

使用道具 举报

wang11876 2017-3-20 14:42 显示全部楼层
LLLLLLLLLLLLLLLLLLLLLLLL
回复 支持 反对

使用道具 举报

almeidals 2017-3-30 16:24 显示全部楼层
学习一下 谢谢!
回复 支持 反对

使用道具 举报

zhongdong 2017-4-1 22:39 显示全部楼层
88888888888888
回复 支持 反对

使用道具 举报

买了个蜂鸣器
回复 支持 反对

使用道具 举报

OUC_BD 2017-9-25 16:02 显示全部楼层
谢谢谢谢谢谢谢谢
回复 支持 反对

使用道具 举报

谢谢分享。
回复

使用道具 举报

wang1 2018-1-14 21:10 显示全部楼层
好书推荐【第二期】:《Raspberry Pi快速入门指南》
回复 支持 反对

使用道具 举报

您可能感兴趣的文章

您需要登录后才可以回帖 登录 | 立即注册

关注0

粉丝8

帖子147

发布主题
社区热门 MORE+
    社区热帖 MORE+