Book Image

Raspberry Pi Pico DIY Workshop

By : Sai Yamanoor, Srihari Yamanoor
Book Image

Raspberry Pi Pico DIY Workshop

By: Sai Yamanoor, Srihari Yamanoor

Overview of this book

The Raspberry Pi Pico is the latest addition to the Raspberry Pi family of products. Introduced by the Raspberry Pi Foundation, based on their RP2040 chip, it is a tiny, fast microcontroller that packs enough punch to power an extensive range of applications. Raspberry Pi Pico DIY Workshop will help you get started with your own Pico and leverage its features to develop innovative products. This book begins with an introduction to the Raspberry Pi Pico, giving you a thorough understanding of the RP2040's peripherals and different development boards for the Pico designed and manufactured by various organizations. You'll explore add-on hardware and programming language options available for the Pico. Next, you'll focus on practical skills, starting with a simple LED blinking project and building up to a giant seven-segment display, while working with application examples such as citizen science displays, digital health, and robots. You'll also work on exciting projects around gardening, building a weather station, tracking air quality, hacking your personal health, and building a robot, along with discovering tips and tricks to give you the confidence needed to make the best use of RP2040. By the end of this Raspberry Pi book, you'll have built a solid foundation in product development using the RP2040, acquired a skillset crucial for embedded device development, and have a robot that you built yourself.
Table of Contents (17 chapters)
1
Section 1: An Introduction to the Pico
6
Section 2: Learning by Making
10
Section 3: Advanced Topics

Writing the drivers for the giant seven-segment display

In the previous section, we wired up the display. Now, we need to write the drivers to test the display. We ported the C++ code provided by SparkFun to CircuitPython:

  1. The first step is to import all the required modules for the driver:
    import board
    import busio
    import time
    from digitalio import DigitalInOut, Direction, Pull
  2. We declare the latch, clock, and data pins and set them up as output pins. We also set them all to low:
    latch = DigitalInOut(board.GP22)
    clock = DigitalInOut(board.GP26)
    data = DigitalInOut(board.GP27)
    latch.direction = Direction.OUTPUT
    clock.direction = Direction.OUTPUT
    data.direction = Direction.OUTPUT
    latch.value = False
    clock.value = False
    data.value = False
  3. The post_number function is used to display a number, decimal place, and so on. This is accomplished by turning on the corresponding segments of the digit. For example, in order to display the number 1, we need to turn on the B and C segments...