孙毅 发表于 2015-10-23 13:33:29

Edison上程序开发——防抖开关

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

#!/usr/bin/python

import mraa
import time

LED_GPIO = 5                   # The LED pin
BUTTON_GPIO = 6                # The button GPIO
led = mraa.Gpio(LED_GPIO)      # Get the LED pin object
led.dir(mraa.DIR_OUT)          # Set the direction as output
btn = mraa.Gpio(BUTTON_GPIO)   # Get the button pin object
btn.dir(mraa.DIR_IN)         # Set the direction as input

ledState = False   #LED 默认是关掉的
led.write(0)

def getButtonPress():
    while 1:
    if (btn.read() != 0):
      continue
    else:
      # Detected a click
      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

{:5_196:}大圣

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

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

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

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

{:5_193:} 应该解决不掉,这个只能解决信号的抖动。。。。

大连林海 发表于 2015-10-23 20:06:20

丄帝De咗臂 发表于 2015-10-23 14:45
大圣

大圣一词 一夜爆红

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

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

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

大连林海 发表于 2015-11-1 08:59:05

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

难以想象
页: [1]
查看完整版本: Edison上程序开发——防抖开关