Raspberry Pi Pico RGB Keypad bauen: So wird’s gemacht

Du hast Lust auf eine weitere spannende IoT-Tüftelei, bei der die einzigartige Flexibilität deines Raspberry Pi zum Tragen kommt? Dann haben wir ein ganz besonderes Schmankerl für dich: ein Schritt-für-Schritt-Tutorial für ein Pico RGB Keypad. Hierbei handelt es sich um ein kompaktes Board mit 16 weichen Silikontasten, die im 4×4-Format angeordnet und mit adressierbaren RGB-LEDs bestückt sind. Die 10 x 6 cm große Tastatur soll letzten Endes als zusätzliches Eingabe-Modul für deinen Rechner dienen. Wir zeigen dir, wie du das Projekt im Handumdrehen umsetzt.

Das brauchst du für dein Keypad

WARENKORB

Alle für dieses Projekt notwendigen Artikel (außer Lötkolben) landen mit einem Klick auf den Button direkt in deinem Warenkorb, sofern sie in unserem Shop verfügbar sind. Kontrolliere daher deinen Warenkorb genau!

Raspberry Pi Pico RGB Keybad bauen: So funktioniert’s

  1. Zuallererst installierst du auf deinem Rechner die Thonny IDE. Dabei handelt es sich um eine Entwicklungsumgebung für Python, die du zum Erstellen des Keybads zwingend brauchst. Den kostenlosen Download kannst du hier starten.
  2. Anschließend greifst du auf deine Lötstation zurück, um das Pin Header Set mit deinem Raspberry Pi Pico zu verbinden.
  1. Schließe nun das RGB Keypad an den Raspberry Pi Pico an, indem du das Mikrocontroller-Board mitsamt dem Pin Header Set auf die dafür vorgesehene Fläche legst (siehe Abbildung).
  1. Nachdem du die Module miteinander verbunden hast, installierst du die MicroPython Firmware. Zu diesem Zweck klickst du auf diesen Link und hältst anschließend die BOOTSEL-Taste gedrückt. Parallel dazu schließt du das andere Ende des Micro-USB-Kabels an deinen Rechner an. Lege die Pimoroni-Firmware in dem Ordner „RPI-RP2“ ab.
  1. Nun startest du die Thonny IDE und speicherst den Code ab. Dazu öffnest du zunächst einmal eine neue Datei und kopierst den folgenden Code. Im Anschluss daran wählst du „Speichern unter“ und wählst als Speicherort „Raspberry Pi Pico“ und nennst die Datei „main.py“.
  2. Zu guter Letzt lässt du den Code noch ausführen.
import time
import picokeypad as keypad

keypad.init()
keypad.set_brightness(1.0)

lit = 0
last_button_states = 0
colour_index = 0

NUM_PADS = keypad.get_num_pads()
while True:
    button_states = keypad.get_button_states()
    if last_button_states != button_states:
        last_button_states = button_states
        if button_states > 0:
            if lit == 0xffff:
                # all buttons are already lit, reset the test
                lit = 0
                colour_index += 1
                if colour_index >= 6:
                    colour_index = 0
            else:
                button = 0
                for find in range(0, NUM_PADS):
                    # check if this button is pressed and no other buttons are pressed
                    if button_states & 0x01 > 0:
                        if not (button_states & (~0x01)) > 0:
                            lit = lit | (1 << button)
                        break
                    button_states >>= 1
                    button += 1

    for i in range(0, NUM_PADS):
        if (lit >> i) & 0x01:
            if colour_index == 0:
                keypad.illuminate(i, 0x00, 0x20, 0x00)
            elif colour_index == 1:
                keypad.illuminate(i, 0x20, 0x20, 0x00)
            elif colour_index == 2:
                keypad.illuminate(i, 0x20, 0x00, 0x00)
            elif colour_index == 3:
                keypad.illuminate(i, 0x20, 0x00, 0x20)
            elif colour_index == 4:
                keypad.illuminate(i, 0x00, 0x00, 0x20)
            elif colour_index == 5:
                keypad.illuminate(i, 0x00, 0x20, 0x20)
        else:
            keypad.illuminate(i, 0x05, 0x05, 0x05)

    keypad.update()

    time.sleep(0.1)

Falls dein Interesse an spannenden Projekten immer noch nicht gestillt ist, schau hier vorbei!

Die mobile Version verlassen