打印
[嵌入式Linux]

BakeBit - Buzzer+Button结合示例

[复制链接]
875|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
  • BakeBit - Buzzer是一个无源蜂鸣器模块,无源蜂鸣器内部有音圈和钼片,输入2.7KHz的PWM信号时,PWM信号通过绕在支架上的线包在支架的芯柱上产生一交变的磁通,交变的磁通和磁环恒定磁通进行叠加,使钼片以给定的PWM信号频率振动并配合共振腔发声。
  • 通过调整输入PWM信号的频率即可使无源蜂鸣器发出频率不同的声音。
  • BakeBit - Button是一个瞬时(非自锁)按钮开关模块,用于检测按键事件,按钮被释放后自动恢复到常态。
  • 在按钮未被按下时模块输出高电平,按钮被按下后输出低电平。
  • http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Button/zh
  • http://wiki.friendlyarm.com/wiki/index.php/BakeBit_-_Buzzer/zh
  • https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-7494828559.5.XnK9o0&id=544520132488
  • 准备好器材,NanoPi NEO,NanoHat Hub扩展板,无源蜂鸣器模块,按键模块,串口转接板,class10 sd卡,定制排线
  • 简单的将 蜂鸣器 模块插入 D3接口,将 按键 插入 D4 接口,如下面这样:
  • 安装BakeBit源代码
  • 第1步 - 通过ssh,或者串口终端进入开发板的命令行,从 github 上下载BakeBit代码:
    cd  ~git clone https://github.com/friendlyarm/BakeBit.git

    • 第2步 - 使用如下命令在开发板上安装BakeBit:
    cd BakeBit/Scriptchmod +x install.sh./install.sh

    • 第3步 - 重启开发板:
    reboot
  • 第4步 - 运行示例程序:
  • 可以在开发板上进入 BakeBit/Software/Python目录,运行bakebit_prj_Button_And_Buzzer.py:
    cd ~/BakeBit/Software/Pythonsudo python bakebit_prj_Button_And_Buzzer.py
  • 运行结果
    当按下按键时,蜂鸣器会响起,松开按键时,蜂鸣器停止。
  • 示例源代码import bakebitimport time# Connect the BakeBit Ultrasonic Ranger to digital port D4# SIG,NC,VCC,GNDultrasonic_ranger = 4 # Connect the BakeBit LED to digital port D3led = 3                                                                       bakebit.pinMode(led,"OUTPUT")light = 0 while True:    try:        # Read distance value from Ultrasonic        distance = bakebit.ultrasonicRead(ultrasonic_ranger)        print(distance)        if distance > 0:                if distance<10:                         if light == 0:                                print("\ton")                                bakebit.digitalWrite(led,1)                                light = 1                else:                        if light == 1:                                print("\toff")                                bakebit.digitalWrite(led,0)                                light = 0        time.sleep(.2)     except KeyboardInterrupt:        bakebit.digitalWrite(led,0)        break     except TypeError:        print ("Error")    except IOError:        print ("Error")



QQ截图20170121174526.jpg (37.59 KB )

QQ截图20170121174526.jpg

QQ截图20170121174519.jpg (44.57 KB )

QQ截图20170121174519.jpg

IMG_2403.JPG (398.09 KB )

IMG_2403.JPG

相关帖子

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

本版积分规则

29

主题

57

帖子

1

粉丝