8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Arduino + モノクロ液晶でゲームを作る

Posted at

概要

子供の頃、手のひらサイズのキーチェーンゲームでよく遊びました。
小さなモノクロ液晶に、幾つかのボタンで構成された小型のゲーム機です。

こういうのです(画像はアルゴ算法堂様からお借りしました)。
rimg0090.jpg

とても懐かしいですね・・・。

ところで、こういったキーチェーンゲームなら作れるのではないか?
と思い、小型液晶とArduinoを使って作って見ました。

使用材料

モノクロ液晶 AQM1248A の利用

秋月から届いた状態では、液晶はまだハンダ付けされていません。
まずはハンダ付けを行いましょう。

次に、液晶とArduinoの接続です。
今回は、この液晶を利用するために、しなぷすさんの作成されたライブラリを使います。
https://synapse.kyoto/hard/MGLCD_AQM1248A/page001.html

液晶の接続は下記のように行います。
注意点として、この液晶は3.3Vで動作します。
Arduino UNOと接続する際には、Arduinoの5V → 液晶の3.3Vに信号の電圧を変換してあげなければいけません(でないと最悪液晶が壊れます)。
今回は、ロジックレベルコンバーターを間にはさみました。

(見づらいので、しなぷすさんのサイトをご参考にして下さい
今回は

液晶 (AQM1248A) Arduino
CS 8
RS 7
SCLK 6
SDI 5

につなぎました。

AQM1248AとArduinoの接続_ブレッドボード.png

接続が終わったら、ライブラリをダウンロードし、インストールして下さい。
HelloWorldが動けばOKです。

ゲームの作成

今回は、延々と上にジャンプしていくゲームを作成しました。
ソースコードはgithubに上げています

動画はこちら
arduino + モノクロ液晶で簡単なゲーム

開発時にはArduinoで動作を確認し、プログラムがfixした後は、
空のATMEGA328PにArduinoブートローダ書き込み→プログラム書き込みを行い、ユニバーサル基板上に実装しました。

液晶はユニバーサル基板にハンダ付けしようか悩みましたが、ちょっと液晶がお高いので、後々取り外せるようにICソケットをハンダ付けし、そこに液晶を差し込む形にしました(笑)

スコア表示

登ったスコアを表示するために数字を表示していますが、
ライブラリ同梱のフォントは、デフォルトの横表示にのみ対応していました。
その為、縦表示を行うためには別途フォントを準備する必要があります。
今回は、しなぷすさんのサンプルゲームに同梱されているフォント画像データを元に、ライブラリ内に同梱されているツール(MGLCD\extras\BMP2H.exe)を利用し、回転した画像からビットマップデータを生成して利用しました。

感想

Arduinoとライブラリのおかげで、比較的簡単にゲームを作ることが出来ました。
乾電池2個で動作するので、外に持ち出して遊べます(笑)
夏休みの工作にいいかもしれません。

次回はカラー液晶を使ってゲームを作ってみたいと思います。

8
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?