Picoインベーダーを再現してみました【Raspberry Pi Pico】

Raspberry Pi/電子工作
スポンサーリンク

こんにちは、あろっちです。

Raspberry Pi 4Bを2021年3月に入手してから、徐々にですが、電子工作やマイコン(Raspberry Pi Pico、Arduino Nano)を始めて、実際触っていくうちに楽しくなってきました。

そんな中、Raspberry Pi Picoの公式Getting Startedページ内のGet inspiredに

A game of Space Invaders

という、面白そうなチュートリアルがありました。

実際に動画を見ながら、試しに作ってみたら、初心者の僕でも見事に再現できたので、紹介したいと思います。

必要なもの

Raspberry Pi Pico

ブレッドボード ・・・ 小型のブレッドボードを2枚使いました。

0.96インチOLEDディスプレイ(I2C)

スピーカー ・・・ 今回は、持っていた圧電スピーカーを使いました。

可変抵抗器(ボリューム) 10kΩ ・・・ Bカーブのものを使いました。

Picoにソースコードを書き込むためのマシン ・・・ 今回Thonnyを使います。Thonnyが動作するマシンであれば、何でも構いません。

ソースコードは、動画の概要欄のリンクから取得しました。
ちなみにソースコードは、MicroPythonで書かれています。

回路図

回路図は、動画の概要欄には見当たらなかったので、書いてみました。

Raspberry Pi Picoピン配列

実際に作ったものは、こちら。

実際に動かしてみよう

予め、Raspberry Pi Picoに、MicroPythonのファームウェア(UF2ファイル)をインストールしておきます。

ファームウェアのインストール手順は以下の記事をご覧ください。

IDEは、Thonnyを使用します。

Thonnyは、ご使用のマシンにインストールしておきましょう。ちなみにRaspberry Piを使う場合は、インストール済み(Raspberry Pi OSの場合)です。

ソースコード入手

ソースコードは、動画概要欄から次の2つを取得します。

動画のリンク:
https://youtu.be/O5S1LC5TFiM

ssd1306.py
picoinvaders.py

いずれもGitHubにありますので、コピペでもダウンロードでもOKです。

OLEDディスプレイドライバモジュール(ssd1306.py)をPicoに保存

OLEDディスプレイドライバモジュールは、ssd1306.pyです。

Thonnyからssd1306.pyを開きます。

ssd1306.pyが開いた状態で、[ファイル]→[Save as…]をクリックします。

[Where to save to?]ボックスの[Raspberry Pi Pico]をクリックします。

[File name:]に[ssd1306.py]と入力し、[OK]をクリックすると、保存が完了します。

いざ実行

Thonnyでpicoinvaders.pyを開き、実行します。(緑の実行ボタンを押せばOKです。)

こんな感じで動きました。

Raspberry Pi Pico単独で動かしたい場合は、picoinvaders.pyをmain.pyという名前でRaspberry Pi Picoに保存します。

Seeed XIAO RP2040で動かしてみる

XIAO拡張ボードを使ってSeeed XIAO RP2040で動かしてみました。

ボリュームは、Groveのボリュームを使っています。接続先はD0ポートです。
動画では、電源にリチウムイオンバッテリーを使っていますが、USBでOKです。

ソースは一部修正しています。
修正箇所は、picoinvaders.pyの以下の箇所です。

  1. スピーカーのピンをA3(GPIO29)に変更

16行目

speaker = PWM(Pin(29))
  1. OLEDのI2CをI2C(0)からI2C(1)に変更

18行目

i2c = I2C(1)

動画のように単独で動かす場合、MicroPythonファームウェアをインストールし、ssd1306.pyを保存(手順はRaspberry Pi Picoと同じ)したのち、picoinvaders.pyをmain.pyという名前でXIAO RP2040に保存します。

まとめ

こんな小さなディスプレイ上で、しかもMicroPythonで書かれたコードが動くのをみるとPicoって凄いなって思うと同時に、マイコンの楽しさみたいなのを知ることができた気がしますね。

今回、ソースコードは一切触らずに再現できましたので、もしご興味があれば、実際に作ってみて確かめてみてはいかがでしょうか。

以下は、電子工作を始めた時の記事です。よろしければ、ご覧になってみてください。

コメント

タイトルとURLをコピーしました