BakeBit - Button
From FriendlyELEC WiKi
Contents
1 Introduction
- The BakeBit - Button is an instant button module and it is used to detect button events. When the button is released the module goes back to its default state.
- If the button is not pressed the module will output high otherwise it will output low.
2 Hardware Spec
- Standard 2.0mm pitch 4-Pin BakeBit interface
- Digital output
- PCB dimension(mm): 20 x 24
- Pin Description:
Pin | Description |
GND | Ground |
5V | Supply Voltage 5V |
NC | Not Connected |
SIG | Signal |
3 Code Sample: Button And Buzzer
A BakeBit - Buzzer module is needed in this test case.
3.1 Hardware Connection
Connect the buzzer module to the NEO-Hub at D3 and the button module to the NEO-Hub at D4:
3.2 Source Code
import bakebit import time # Connect the BakeBit Ultrasonic Ranger to digital port D4 # SIG,NC,VCC,GND ultrasonic_ranger = 4 # Connect the BakeBit LED to digital port D3 led = 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")
3.3 Run Code Sample
Before you run the code sample you need to follow the steps in bakebit tutorial to install the BakeBit package.
Enter the "BakeBit/Software/Python" directory and run the "bakebit_prj_Button_And_Buzzer.py" program:
cd ~/BakeBit/Software/Python sudo python bakebit_prj_Button_And_Buzzer.py
3.4 Observation
When users press the button the buzzer will beep. When the button is released the buzzer will be silent.
4 Resources
- [Schematic](BakeBit - Button.pdf)
- [BakeBit Github Project Page](https://github.com/friendlyarm/BakeBit)
- [BakeBit Starter Kit User's Manual](http://wiki.friendlyarm.com/bakebit/bakebit_starter_kit_manual_en.pdf)
5 Update Log
5.1 December-12-2016
- Released English version