diff options
| author | Dan Halbert <halbert@halwitz.org> | 2018-02-27 22:03:52 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-27 22:03:52 -0500 |
| commit | 568c04e6afa8016062f685b2198c0209f62827f4 (patch) | |
| tree | d07b76119f715add462983b335797adf64b61249 /docs/pyboard/tutorial/debounce.rst | |
| parent | 6a2379fd0bfe10017d8abc5c36ef1d470c0d9b27 (diff) | |
| parent | ea633117d01d94e8d56ed94344e4b3e46b4eef03 (diff) | |
Merge pull request #650 from tannewt/merge_2x3.0.0-alpha.2
Merge in commits from 2.x branch.
Diffstat (limited to 'docs/pyboard/tutorial/debounce.rst')
| -rw-r--r-- | docs/pyboard/tutorial/debounce.rst | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/docs/pyboard/tutorial/debounce.rst b/docs/pyboard/tutorial/debounce.rst deleted file mode 100644 index f730e1d34..000000000 --- a/docs/pyboard/tutorial/debounce.rst +++ /dev/null @@ -1,37 +0,0 @@ -Debouncing a pin input -====================== - -A pin used as input from a switch or other mechanical device can have a lot -of noise on it, rapidly changing from low to high when the switch is first -pressed or released. This noise can be eliminated using a capacitor (a -debouncing circuit). It can also be eliminated using a simple function that -makes sure the value on the pin is stable. - -The following function does just this. It gets the current value of the given -pin, and then waits for the value to change. The new pin value must be stable -for a continuous 20ms for it to register the change. You can adjust this time -(to say 50ms) if you still have noise. :: - - import pyb - - def wait_pin_change(pin): - # wait for pin to change value - # it needs to be stable for a continuous 20ms - cur_value = pin.value() - active = 0 - while active < 20: - if pin.value() != cur_value: - active += 1 - else: - active = 0 - pyb.delay(1) - - -Use it something like this:: - - import pyb - - pin_x1 = pyb.Pin('X1', pyb.Pin.IN, pyb.Pin.PULL_DOWN) - while True: - wait_pin_change(pin_x1) - pyb.LED(4).toggle() |
