4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arduino UNO R4 でブロック崩し

Posted at

道具さえあれば誰だって作れるブロック崩し解説

電子工作に自信がない方にも楽しめるように手順をまとめます。

準備するもの

  • Arduino UNO R4(Arduino UNO R3でもできるそうです)

  • AC-LLC8-V2 (8ビット双方向ロジックレベル変換モジュール)

  • MSP2807 (SPI TFT Module)

  • ブレッドボード

  • ジャンパー線

手順

1 配線する

いつも頼りにしているCADサービスに使用する機器のデータが入っていなかったため、drawioで泣く泣くがんばりました。(つらいのでマネしなくていいです)

image.png

この図で、

赤線:5V
黄線:3.3V
黒線:GND

その他の線はデジタルPINに接続させています。

今回の通信プロトコルはSPIで行っています。
Arduino標準のSPI接続ライブラリは以下の通りピンが決まっています。

UNO PIN
11 MOSI
12 MISO
13 SCK
10 SS

今回は以下の通りに接続しました。

UNO SCREEN TOUCH
08 T_CS
09 DC
10 CS
11 SDI(MOSI) T_DIN
12 SDI(MISO) T_DO
13 SCK T_CLK

RESET, LEDはコントロールめんどくさいのでVCC(3.3V)に突っ込んでいます。
レベルシフタのB側は5V、Arduino側に接続。
A側は3.3V、MSP2807(タッチスクリーン)側に接続しています。
なんでかはわからないけどこれで動きます。(今後調べます)

2 ILI9341のライブラリに入っているデモを試す

今回ILI9341のライブラリを使用しています。

image.png

ライブラリをダウンロードすると、デモが入ってます。

File > Examples > Adafruit ILI9341 > graphctest

image.png

こちらを開くとデモのスケッチが開きます。

実行しようとするとエラーします。
R3までのバージョンのプログラムのままなので、R4では動作しないようです。
ライブラリの内容を書き換えると動きます。
書き換える場所は以下サイトから。

書き換えるプログラムは「Adafruit_ILI9341.cpp」。
なにかしらのテキストエディタで52-54行目を書き換え、上書き保存してください。

image.png

書き換え後デモ実行すれば、R4でも動作します。

3 プログラムをコピー、修正

実際にゲームのプログラムを動かしてみます。
コピーするスケッチは、いまいまさんから教わった以下サイトから(ありがとうBob氏!)

コピーしたスケッチから、TFT_RSTの個所(2か所)削除します。
なんたって、デジタルピンに落としていないのでエラーしますからね!

image.png

その後、defineで接続しているピンの番号を、組んだ回路に従って修正します。
わたしの組んだ内容だとこんな感じ。

image.png

あとはコンパイル(書き込み)すれば動作します!

備考

レベルシフター(8ビット双方向ロジックレベル変換モジュール)を使用する理由

うまく言語化できなかったのでチャットGPTに聞いてみました。

MSP2807をArduino Uno R4 WiFiにSPI接続する際に、8ビット双方向ロジックレベル変換モジュールを使用する理由は、信号レベルの違いを調整するためです。具体的には以下の点が考慮されます。
電圧の違い: Arduino Uno R4 WiFiは3.3Vのロジックレベルを使用し、MSP2807は5Vのロジックレベルを持っています。直接接続すると電圧の不整合が生じ、正常に通信できない可能性があります。ロジックレベル変換モジュールを使用することで、信号を適切に変換できます。
信号の方向: 8ビット双方向ロジックレベル変換モジュールは、双方向の信号変換をサポートします。SPI通信ではデータの送受信が行われるため、このモジュールを使用して信号の方向を適切に切り替えることができます。
信号の整合性: ロジックレベル変換モジュールは、信号の整合性を保つために設計されています。これにより、信号の遅延やノイズを最小限に抑え、信頼性のある通信を実現できます。

ざっくりですが今回はここまでで。
いつも疲れて雑な記事すみません(反省)

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?