2015-10-23 13:33:29 [显示全部楼层]
7249浏览
查看: 7249|回复: 7

[教程] Edison上程序开发——防抖开关

[复制链接]
涉及到一些机械结构的以及跟传感器交互的时候,就会涉及到一些“信号抖动”的概念,如果处理不当,不但影响作品的好坏,更重要的还会影响创客的心情。
本次我们用Edison的button模块来做一个最简单的防抖开关

  1. #!/usr/bin/python
  2. import mraa
  3. import time
  4. LED_GPIO = 5                   # The LED pin
  5. BUTTON_GPIO = 6                # The button GPIO
  6. led = mraa.Gpio(LED_GPIO)      # Get the LED pin object
  7. led.dir(mraa.DIR_OUT)          # Set the direction as output
  8. btn = mraa.Gpio(BUTTON_GPIO)   # Get the button pin object
  9. btn.dir(mraa.DIR_IN)           # Set the direction as input
  10. ledState = False   #LED 默认是关掉的
  11. led.write(0)
  12. def getButtonPress():
  13.     while 1:
  14.     if (btn.read() != 0):
  15.         continue
  16.     else:
  17.         # Detected a click
  18.         time.sleep(0.05)   # 防抖延时
复制代码
这里只是一个demo,来说明如何是由button以及如何做简单的信号防抖。在实际运用中,这样的一个死循环还是挺影响效率的,如果真有这样的需要,我们可以使用python的subprocess 等类,把循环等待放在一个子进程里面,这样不会影响主程序的执行。

Ok, another new skill GET !



大连林海  初级技神

发表于 2015-10-23 14:36:31

来教任务了啊
回复

使用道具 举报

丄帝De咗臂  高级技匠

发表于 2015-10-23 14:45:04

大圣
回复

使用道具 举报

dsweiliang  初级技神

发表于 2015-10-23 18:03:08

什么东东?能帮忙解决机械振动吗
回复

使用道具 举报

孙毅  初级技匠
 楼主|

发表于 2015-10-23 19:56:02

dsweiliang 发表于 2015-10-23 18:03
什么东东?能帮忙解决机械振动吗

应该解决不掉,这个只能解决信号的抖动。。。。
回复

使用道具 举报

大连林海  初级技神

发表于 2015-10-23 20:06:20


大圣一词 一夜爆红
回复

使用道具 举报

孙毅  初级技匠
 楼主|

发表于 2015-11-1 00:02:50

大连林海 发表于 2015-10-23 20:06
大圣一词 一夜爆红

恩,通讯的同学,竟然送了我一个大圣版的QQ公仔,胸前还真的有个铭牌,上面写着——大圣二字!
回复

使用道具 举报

大连林海  初级技神

发表于 2015-11-1 08:59:05

孙毅 发表于 2015-11-1 00:02
恩,通讯的同学,竟然送了我一个大圣版的QQ公仔,胸前还真的有个铭牌,上面写着——大圣二字! ...

难以想象
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail