The Raspberry Pi also has an I2C interface that can be used to communicate with this seesaw. You can use this breakout with the CircuitPython library and Python thanks to Adafruit_Blinka, our CircuitPython-for-Python compatibility library.
Install Python Software
You'll need to install the Adafruit_Blinka library that provides the CircuitPython library support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3.
Once that's done, from your command line run the following command:
sudo pip3 install adafruit-circuitpython-seesaw
If your default Python is version 3 you may need to run 'pip
' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!
sudo raspi-config
With the Pi powered off, we can wire up the sensor to the Pi Cobbler like this:
- Connect Vin to the 3V or 5V power supply (either is fine)
- Connect GND to the ground pin on the Cobbler
- Connect SDA (22) to SDA on the Cobbler
- Connect SCL (23) to SCL on the Cobbler
- Connect the positive (long lead) of an LED to pin 15 on the samd09 breakout and the other lead to GND through a 1k ohm resistor.
You can also use direct wires, we happen to have a Cobbler ready. remember you can plug the cobbler into the bottom of the PiTFT to get access to all the pins!
Now you should be able to verify that the sensor is wired up correctly by asking the Pi to detect what addresses it can see on the I2C bus:
sudo i2cdetect -y 1
It should show up under it's default address (0x49). If you don't see 49, check your wiring, did you install I2C support, etc?
Run example code
At long last, we are finally ready to run our example code. Open the Python REPL to begin.
First we'll import the necessary libraries, initialise the I2C bus and setup the LED pin for use:
import time import board import busio from adafruit_seesaw.seesaw import Seesaw i2c_bus = busio.I2C(board.SCL, board.SDA) ss = Seesaw(i2c_bus) ss.pin_mode(15, ss.OUTPUT)
Now you're ready to blink the LED using digital_write
:
while True: ss.digital_write(15, True) time.sleep(1) ss.digital_write(15, False) time.sleep(1)
If everything is set up correctly, the LED attached to pin 15 on the SAMD09 breakout should blink on and off repeatedly. Press CTRL + C to stop the program running once you are satisfied with the blinking.
Documentation
See here for documentation of the seesaw CircuitPython API.
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries # SPDX-License-Identifier: MIT # Simple seesaw test using an LED attached to Pin 15. # # See the seesaw Learn Guide for wiring details: # https://learn.adafruit.com/adafruit-seesaw-atsamd09-breakout?view=all#circuitpython-wiring-and-test import time import board from adafruit_seesaw.seesaw import Seesaw i2c_bus = board.I2C() # uses board.SCL and board.SDA # i2c_bus = board.STEMMA_I2C() # For using the built-in STEMMA QT connector on a microcontroller ss = Seesaw(i2c_bus) ss.pin_mode(15, ss.OUTPUT) while True: ss.digital_write(15, True) # turn the LED on (True is the voltage level) time.sleep(1) # wait for a second ss.digital_write(15, False) # turn the LED off by making the voltage LOW time.sleep(1)
Text editor powered by tinymce.