打印
[技术讨论]

在全志H616核桃派开发板GPIO基础实验之有源蜂鸣器

[复制链接]
477|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
神棍地海棠|  楼主 | 2024-5-22 10:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言[color=var(--ifm-link-color)]​
日常生活中我们不少电子设备在遇到故障时都会报警,而声音比指示灯往往更容易引起人们的注意,本节我们来学习一下核桃派驱动有源蜂鸣器。
实验目的[color=var(--ifm-link-color)]​
编程实现蜂鸣器发出滴滴响声。
实验讲解[color=var(--ifm-link-color)]​
蜂鸣器主要分为有源蜂鸣器和无源蜂鸣器,有源蜂鸣器通过高低电平控制发出声音(频率固定),无源蜂鸣器通过PWN波控制(可以发出不同频率声音),这节我们讲解一下有源蜂鸣器的使用。
有源蜂鸣器的用法跟LED类似,只需要给蜂鸣器高电平就可以发声。
有源蜂鸣器跟核桃派的连接方式:GND--GND , VCC -- 3.3V, IO -- PI15 (也可以改成自己想用的GPIO)

核桃派PI15在Python库中的名称为board.KEY :


digitalio对象[color=var(--ifm-link-color)]​
在CircuitPython中可以直接使用 digitalio(数字 IO)模块编程实现IO输入从而实现高低电平输出。具体介绍如下表:
构造函数[color=var(--ifm-link-color)]​[color=var(--prism-color)]active_buzzer=digitalio.DigitalInOut(pin)



参数说明:
  • pin 开发板引脚编号。例:board.PI15
使用方法[color=var(--ifm-link-color)]​[color=var(--prism-color)]active_buzzer.direction = value



引脚定义输入/输出。value匹配值如下:
  • digitalio.Direction.INPUT :输入。
  • digitalio.Direction.OUTPUT :输出。

time对象[color=var(--ifm-link-color)]​
time可以用于延时。
构造函数[color=var(--ifm-link-color)]​[color=var(--prism-color)]import time



时间模块,直接import使用:
使用方法[color=var(--ifm-link-color)]​[color=var(--prism-color)]time.sleep(value)



延时。
  • value指延时时间,单位秒,数值为1表示1秒,数值为0.1表示0.1秒,即100ms。

有源蜂鸣器跟LED一样用到digitalio对象,输出方式方式,我们可以通过代码实现每隔0.5秒输入高低电平变化实现蜂鸣器滴滴响声。






导入digitalio相关模块
构建active_buzzer对象
打开蜂鸣器
延时0.5秒
关闭蜂鸣器

参考代码[color=var(--ifm-link-color)]​[color=var(--prism-color)]'''
实验名称:有源蜂鸣器
实验平台:核桃派
'''

#导入相关模块
import board, time
from digitalio import DigitalInOut, Direction, Pull

#构建蜂鸣器对象和初始化
active_buzzer = DigitalInOut(board.PI15) #定义引脚编号
active_buzzer.direction = Direction.OUTPUT  #IO为输出

for i in range(5):
   
    active_buzzer.value = False #打开蜂鸣器
    time.sleep(0.5) #延时1秒
    active_buzzer.value = True #关闭蜂鸣器
    time.sleep(0.5) #延时1秒   



实验结果[color=var(--ifm-link-color)]​
这里使用Thonny远程核桃派运行以上Python代码,关于核桃派运行python代码方法请参考: [color=var(--ifm-link-color)]运行Python代码
运行代码可以听到有源蜂鸣器周期性发出“滴滴”响声。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

260

主题

268

帖子

0

粉丝