Für erfahrene Nutzer

Pins, Pins, Pins

Erfahrene Nutzer können den PicoBoy auch ohne Lektüre der folgenden Seiten programmieren. Er lässt sich dabei wie ein normaler Raspberry Pi Pico verwenden, an den die im folgenden Text beschriebenen Komponenten angeschlossen sind. Neben MicroPython und der Arduino-Entwicklungsumgebung lassen sich daher auch PlatformIO und CircuitPython verwenden.

Controller

Der Kern des PicoBoy ist der RP2040, wie er im Raspberry Pi Pico verwendet wird. Daher kannst du die entsprechende  MicroPython-Version und den Arduio-Core verwenden.

LEDs

Die LEDs sind direkt über einen Vorwiderstand mit den IO-Pins verbunden:

  • Rot → GPIO 5
  • Gelb → GPIO 6
  • Grün → GPIO 7

Lautsprecher

Der Lautsprecher ist über einen Tiefpassfilter angeschlossen, so dass auch die Erzeugung von Tönen über PWM möglich ist:

  • Lautsprecher → GPIO 15
  • Hinweis: Achte darauf, den Pin nicht zu lange auf HIGH zu lassen. Es ist zwar ein Tiefpassfilter vorhanden, um die Ausgabe von PWM-Signalen zu ermöglichen, allerdings kein Hochpassfilter!

Display

Das SH1106-Display hat eine Auflösung von 128 x 64 Pixeln bei einer Diagonale von 1,3″. Es ist per SPI angebunden und lässt sich gut mit der u8g2-Bibliothek verwenden.
Dabei werden die folgenden Pins verwendet:

  • DC → GPIO 8
  • Reset → GPIO 9
  • CS → GPIO 10
  • SCK → GPIO 18 (Standardpin für SCK, braucht daher dem Konstruktor von u8g2 nicht übergeben werden)
  • MOSI → GPIO 19 (Standardpin für MOSI, braucht daher dem Konstruktor von u8g2 nicht übergeben werden)

Joystick

  • Oben → GPIO 1
  • Unten → GPIO 3
  • Links → GPIO 4
  • Rechts → GPIO 2
  • Mitte → GPIO 0
  • Hinweis: Es müssen die im Mikrocontroller vorhandenen Pull-Up-Widerstände verwendet werden.

Beschleunigungssensor

Der Beschleunigungsssensor STK8BA58 ist im Arduino-Umfeld eher ungewöhnlich, daher lässt sich ein Beispiel zu seiner Verwendung unter hier herunterladen. Er ist über I2C angebunden:

  • SDA → GPIO 20
  • SCL → GPIO 21