查看: 7333|回复: 2

[项目] 树莓派用蜂鸣器实现整点报时

[复制链接]
  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-11-7 13:29:32 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 小菜儿 于 2014-11-7 13:36 编辑

    buzzer.jpg
    树莓派外加一个有源蜂鸣器,实现一个简单的报时功能。

    可能有些新手对于有源、无源蜂鸣器的区别,这里简短介绍下:
    一、无源蜂鸣器:
    1 无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它
    2 声音频率可控,可以做出“多来米发索拉西”的效果。
    3 在一些特例中,可以和LED复用一个控制口
    二、有源蜂鸣器:
    1 有源蜂鸣器内部带震荡源,所以只要一通电就会叫
    2 程序控制方便,单片机一个高低电平就可以让其发出声音,而无源蜂鸣器却做不到。

    笔者采用的是有源蜂鸣器:
    电压:3.5—5.5V
    电流:<25mA
    频率:2300±500

    为了使蜂鸣器鸣叫的程序模块化,将这一部分代码放到独立的 libbeep.py 文件中。
    1. import RPi.GPIO as GPIO
    2. import time
    3. PIN_NO = 10 #GPIO编号,可自定义
    4. GPIO.setmode(GPIO.BOARD)
    5. GPIO.setup(PIN_NO, GPIO.OUT)
    6. #哔1次,时长作为参数传递
    7. def beep(seconds):
    8.      GPIO.output(PIN_NO, GPIO.HIGH)
    9.      time.sleep(seconds)
    10.      GPIO.output(PIN_NO, GPIO.LOW)
    11. #哔N次,时长、间隔时长、重复次数作为参数传递
    12. def beepAction(secs, sleepsecs, times):
    13.     for i in range(times):
    14.         beep(secs)
    15.         time.sleep(sleepsecs)
    16. #beepAction(0.02,0.02,30)
    复制代码
    然后在 alarm.py 中实现整点报时,代码如下:
    1. import RPi.GPIO as GPIO
    2. import time
    3. import libbeep
    4. while True:
    5.     t = time.localtime()
    6.     h = t.tm_hour
    7.     m = t.tm_min
    8.     s = t.tm_sec
    9.     w = time.strftime('%w',t)
    10.     print h,m,s,w
    11.     time.sleep(0.3)
    12.     if m == 0 and s == 0:
    13.         if h>22 or h<8:#为了晚上22点之后,上午8点之前不被打扰,设定了条件
    14.             print "continued"
    15.             continue
    16.         if h>12:
    17.             h = h-12
    18.         libbeep.beepAction (0.3,0.5,h)
    19.         time.sleep(1)
    20.     if m == 30 and s == 0:
    21.         if h>22 or h<8:
    22.             print "continued"
    23.             continue
    24.         libbeep.beepAction (0.05,0.05,2)
    25.         time.sleep(1)
    复制代码
    最后运行脚本:
    1. sudo python alarm.py
    复制代码
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-11-8 03:19:36 | 显示全部楼层
    ……这不是树莓派实验室里的文章么……
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-11-8 03:22:05 | 显示全部楼层
    http://shumeipai.nxez.com/2014/10/29/raspberry-pi-and-buzzer-timekeeping.html←_←继续原文地址
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 05:15 , Processed in 0.137051 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.