Rpi-Pico でインベーダーゲーム

Raspberry Pi-Pico に OLED SSD1306 を接続し、MicroPython のインベーダー・ゲームを動かすビデオの紹介です。
Lチカに成功したら、OLED でインベーダーゲームチャレンジしてみてください。

Invaders Game on Pico



■Pico+MicroPython のインベーダーゲーム・デモプログラム
・MicroPython と SSD1306 のOLED液晶モジュールが必要です。
・Pico とOLED SD1306 だけつないでも動きます。
・スピーカーとボリュームがあればデモ・ゲームとしてプレイできる。
・インベーダーが攻撃しないデモ・ゲームモードをループします。
・使用したSSD1306 モジュールは、Thonny の「モジュール追加」で入れた micropythonSSD1306 でした。
・SSD1306 モジュールの投稿者の「もっと見る」の紹介リンクは消えてました。
・Pico や OLED を購入して動作確認する場合、テストプログラムにおすすめです。
・デモプログラムは microPython-v1.19.1 で動作検証しました。

YouTube ビデオ
・この投稿ビデオは英語だが、字幕スーパー表示設定を日本語にすると吉。
Python プログラムの説明が簡潔になされています。

How to use an SSD1306 and Potentiometer on the Pico to make a Video Game! #PicoInvaders
Print 'N Play

www.youtube.com

Pico Invaders:
https://github.com/printnplay/Pico-MicroPython/blob/main/picoinvaders.py

その他の MicroPython-Pico プログラム
https://github.com/printnplay/Pico-MicroPython

 

■使い方
・Pico と OLED SD1306 をブレッドボード上で接続する。
・PC上で Thonny を起動してUSBで Pico に接続する。

・Thonny でライブラリ micropythonSSD1306 を追加する。
・picoinveders.py をThonny のエディタにコピーして Pico に保存する。

■SSD1306 接続
    SSD1306        Pico(I2C0)
    VCC         3v3
    GND       GND
    SCL        GP9
    SDA        GP8

●ボリューム接続(10KΩ B)
 ボリューム    Pico
 +1        3v3
  2        GP26
 ー3        GND

●ピエゾスピーカー(秋月@秋葉原で以前買ったモノ?)
 ピエゾスピーカー    Pico
 +        GP18
 ー        GND


■動かない?
・プログラムが起動しない場合、原因はI2Cの設定があります。
・オリジナルのプログラムを次のように変更します。
    12c(0) --> i2c = I2C(0, sda=Pin(8), scl=Pin(9) )   
 I2C のピン設定をデフォルト値設定から明示的に教えてあげれば動いてくれます。

 

Have a nice day!