Button & Switch Wireling Python Tutorial

This page includes an example program that shows you how to read the HIGH/LOW state on the Wireling Pi Hat for a small button, a large button, and a switch.
Large Button Technical Details
FMS8HSMA Specs
- Height 7mm
Power Requirements
- Voltage: 3.0V - 5.5V
Pins Used
- A5/SCL - I²C Serial Clock line
- A4/SDA - I²C Serial Data line
Dimensions
- 10mm x 10mm (.394 inches x .394 inches)
- Max Height (from the lower bottom of Wireling to upper top Large Button): 10.3mm (0.41 inches)
- Weight: 1 gram (.04 ounces)
Notes
- You can also use this shield without the TinyDuino – modifying the connecting cable by removing the opposite connector and stripping/tinning the wires, you can solder the connector cable to any other microcontroller board of your choice!
Small Button Technical Details
ALPS SKTHBAE010 Switch Specs
- Height 2.5mm
- Operating Force: 3N
- Travel 0.12mm
TinyDuino Power Requirements
- Voltage: 3.0V - 5.5V
- Current: 10µA
Pins Used
- A5/SCL - I²C Serial Clock line
- A4/SDA - I²C Serial Data line
Dimensions
- 10mm x 10mm (.394 inches x .394 inches)
- Max Height (from the lower bottom of Wireling to upper top WirelingConnector): 3.70mm (0.15 inches)
- Weight: 1 gram (.04 ounces)
Technical Details
Specs
- Cover: Stainless Steel
- Mechanical Lifecycle: 10,000 cycles
TinyDuino Power Requirements
- Voltage: 3.0V - 5.5V
Pins Used
- A5/SCL - I²C Serial Clock line
- A4/SDA - I²C Serial Data line
Dimensions
- 10mm x 10mm (.394 inches x .394 inches)
- Max Height (from the lower bottom of Wireling to upper top Wireling Connector): 3.70mm (0.15 inches)
- Weight: 1 gram (.04 ounces)
Materials
Hardware
- Raspberry Pi and any other cables you'll need!
- Wireling Pi Hat
- (1) Wireling Cable
- Large Button Wireling OR Switch Wireling OR Small Button Wireling
Required Software
- Python 3 (Python 2 is not supported!)
- All Python packages mentioned in the Pi Hat setup tutorial (tinycircuits-wireling, Adafruit-Blinka, adafruit-circuitpython-ads1x15, and adafruit-circuitpython-busdevice)
Hardware Assembly
Plug your Wireling into the port you plan on using! The default in the included program is port 0.
If you want to use a different port, you just need to change the port value in the program mentioned later.
Programming
The Wireling Python package includes helper functions that make I/O programming, like for a button, easy. There is even an I/O example for reading the digital signal in the Wireling package that we will use here:
wireling_input-example.py
# Wireling Simple Input Example
# This example can be used with the Large Button, Small button, Switch,
# and Digital Hall Sensor Wirelings to read the digital state
import time
import tinycircuits_wireling
wireling = tinycircuits_wireling.Wireling()
while(True):
wireling.digitalRead(0) # Insert 0-3 correlating with the port label on pi hat
time.sleep(0.2)
Run Program
Navigate in the terminal to the Wireling examples folder and type:
python3 wireling_input-example.py
After you run the program, you should see a 1 printed to signify a HIGH state every 0.2 seconds. Once you press the Large Button Wireling, you should see a 0 printing every 0.2 seconds as it is still pressed to signify a LOW state.
Downloads
Large Button
Small Button
Slide Switch
Contact Us
If you have any questions or feedback, feel free to email us or make a post on our forum. Show us what you make by tagging @TinyCircuits on Instagram, Twitter, or Facebook so we can feature it.
Thanks for making with us!