实验七:无源蜂鸣器模块实验

来自丢石头百科
Yousimaier17讨论 | 贡献2024年12月5日 (四) 11:59的版本

Arduino

实验现象

  • 蜂鸣器每1s响一次。
  • 通过电位器控制蜂鸣器的频率。

电路连接

  • 实验七:无源蜂鸣器实验 接线1.png

主要程序

#define Pot A0
#define Buzzer 2

int PotBuffer = 0;

void setup()
{
  pinMode(Buzzer,OUTPUT);           //蜂鸣器引脚设定为输出
}

void loop()
{
  PotBuffer = analogRead(Pot);      //读取AD值
  
  for(int i = 0 ; i < 100 ; i++)    //循环100次
  {
    digitalWrite(Buzzer,LOW);      //设置输出低电平
    delayMicroseconds(PotBuffer);   //延时PotBuffer值 us
    digitalWrite(Buzzer,HIGH);       //设置输出高电平
    delayMicroseconds(100);         //延时100us
  }
  delay(1000);                      //延时1000ms
}

树莓派

电路连接

  • 实验七:无源蜂鸣器实验 接线2.png

程序运行

Python

  • 安装gpiozero库
    • 可以使下面命令来安装该库
sudo apt update
sudo apt install python3-gpiozero
  • 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
  • 运行以下语句可以查看树莓派GPIO口定义
pinout
  • 下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行
cd raspberrypi/7/python_gpiozero
python Buzzer.py
  • 此时可看见树莓派在正确运行无源蜂鸣器程序,若想退出,按ctrl+C即可
  • 指令说明:gpiozero.TonalBuzzer(pin, initial_value, mid_tone. octaves)
    • 主要参数:
      • pin: GPIO口编号,
      • initial_value:
        • 如果为None(默认值),蜂鸣器初始状态为关闭。
        • 可以将-1和1之间的值指定为蜂鸣器的初始值。
      • mid_tone: 表示设备中间值(0)的音调。默认值为“A4”。
      • octaves: 与基音相差的八度数,默认基本音符为A4
        • 如果为1,表示比基本音符高一个八度,即A5。
        • 如果为-1,表示比基本音符低一个八度,即A4。。
  • 更多指令请查看gpiozero文档

例程下载

相关例程

Arduino和树莓派基础实验套件例程
教程名2
  • 列表2
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6