目次 このページのソースコードを表示

TerminalPro4ハードウェア製作

公開日:
更新日:

TerminalPro4のハードウェアを作っていきます. 次のことを説明していきます.

  • 各モジュールの用意
  • モジュール間の接続

各モジュールの用意

概要

TerminalPro4は次のモジュールを含みます.

  • メインマイコン
  • MediaPlayerマイコン
  • Bootマイコン
  • コントローラー
  • SDカード
  • グラフィック液晶

以下からはこれらモジュールに関する詳しい説明と作成法を記述していきます.

メインマイコン

メインマイコンとは, 実際にアプリケーションを実行するものです. アプリケーション実行時, このマイコンは各モジュールを操作します. 詳しく言うと, MediaPlayerに対しての音楽再生命令, グラフィック液晶への描画, コントローラーからのキー情報読み込みなどです.

作り方は, ダウンロードページから取得したフォルダ内にあるスケッチ’Exapmle/TerminalPro4Non/TerminalPro4Non.ino’をArduinoUnoに書き込むことです.

MediaPlayerマイコン

MediaPlayerマイコンとは, 音楽再生を行うものです. メインマイコンと処理を分離することでメインマイコンの負荷を減らします. アプリケーション実行時, メインマイコンからの指令に従ってSDカードから音楽ファイル(wavファイル)を再生します.

MediaPlayerはArduinoで音楽を鳴らす(MediaPlayer)で作成することができます. その際, StatePinはAP5, RX, TXはそれぞれAP0, AP1に設定してください. 詳しくは, ライブラリMediaPlayerを参照してください. ライブラリ’MediaPlayer’はArduinoで簡単に音楽を再生できるライブラリです.

Bootマイコン

Bootマイコンとは, アプリケーション実行前に起動するものです. TerminalPro4に電源を入れるとまずBootが起動し, 数秒ユーザーからの入力を待ちます. そこで, ユーザーから入力があるとBoot画面に移行します. そのBoot画面からメインマイコンもしくは外部マイコンに対して別のアプリケーションを書き込むことができます.

入力待機でユーザーからの入力がない場合とアプリケーション書き込み終了後, Bootマイコンは速やかに全制御をメインマイコンにゆだねます. そして, メインマイコンは書き込まれたアプリケーションを実行することになります.

作り方は, ダウンロードページから取得したフォルダ内にあるスケッチ’TerminalPro4Boot/TerminalPro4Boot.ino’をArduinoUnoに書き込むことです.

コントローラー

コントローラーとは, ユーザーからの入力を取得するデバイスです. コントローラーはBootマイコン, メインマイコンにつながっています. よって, それぞれのマイコンはユーザーからの応答を取得することができます.

コントローラーの作り方は, コントローラーの作り方を参照してください. 今回のTerminalPro4ではコントローラーを右側, 左側と分けています. 各ボタンの名称とビット番号は以下の図と表を参照してください.

ボタン名称
ボタン名称
ボタンビット番号
ボタン名 ビット番号
UP DB0
LEFT DB1
RIGHT DB2
DOWN DB3
X DB0
Y DB1
A DB2
B DB3

SDカード

SDカードには, アプリケーションデータ, 音楽ファイルが含まれます. SDカードは, BootマイコンとMediaPlayerマイコンと接続しています. Bootマイコンはメインマイコンもしくは外部マイコンに書き込むためSDカードからアプリケーションを読み込みます. MediaPlayerマイコンは音楽を再生するため音楽ファイルをSDカードから読み込みます.

グラフィック液晶

グラフィック液晶はユーザーに対して情報を出力するデバイスです. グラフィック液晶としてSG12864ASLB-GBを使用します. これは, 128*64の白黒ディスプレイとなっています. 詳しい説明は, グラフィック液晶を参照してください.

モジュール間の接続

概要

モジュール間の接続は以下のようになっています.

  • (コントローラー) - (メインマイコン,Bootマイコン)
  • (SDカード) - (Bootマイコン, MediaPlayerマイコン)
  • (Bootマイコン) - (メインマイコン) - (MediaPlayerマイコン)

各モジュール間の接続関係を図で表すと次のようになります.

モジュール間接続の全体像
モジュール間接続の全体像

以下からは, 各接続に関して説明します.

(コントローラー) - (メインマイコン,Bootマイコン)

コントローラーはメインマイコンとBootマイコンに接続します.

(コントローラー) - (メインマイコン, Bootマイコン)の接続図
(コントローラー) - (メインマイコン, Bootマイコン)の接続図

(SDカード) - (Bootマイコン, MediaPlayerマイコン)

SDカードはBootマイコンとMediaPlayerマイコンに接続します. SDカードは同時に二つのマイコンと接続することができないため, アナログスイッチを用いて接続を切り替えます. アナログスイッチの制御はBootマイコンが行います.

(SDカード) - (Bootマイコン, MediaPlayerマイコン)の接続図
(SDカード) - (Bootマイコン, MediaPlayerマイコン)の接続図

(Bootマイコン) - (メインマイコン) - (MediaPlayerマイコン)

各マイコン間の接続は次のようになります.

Bootマイコン
ピン名 接続先 備考
Reset 5V
DP0(RX) 下記参照 下記で詳しく説明します
DP1(TX) 下記参照 下記で詳しく説明します
DP2 ResetPin(OUT) 外部マイコン書き込み時, 外部マイコンResetPinに接続することになります.
DP3 ResetPin(Main)
DP4 ResetPin(MediaPlayer)
DP5 LED Boot動作ランプ
DP6 SerialSW シリアル通信接続切り替えピン
DP7 SDSW SD接続切り替えピン
DP8 なし
DP9 なし
DP10 SS
DP11 MOSI
DP12 MISO
DP13 SCK & LED 動作ランプLED(上のLEDとは別)も接続するとよりマイコンの動作を確認しやすくなります
AP0 なし
AP1 なし
AP2 なし
AP3 なし
AP4 cL
AP5 cR
Mainマイコン
ピン名 接続先 備考
Reset DP3(Boot)
DP0(RX) 下記参照 下記で詳しく説明します
DP1(TX) 下記参照 下記で詳しく説明します
DP2 GLCD DB0
DP3 GLCD DB1
DP4 GLCD DB2
DP5 GLCD DB3
DP6 GLCD DB4
DP7 GLCD DB5
DP8 GLCD DB6
DP9 GLCD DB7
DP10 GLCD E
DP11 GLCD R/W
DP12 GLCD D/I
DP13 AP5(MediaPlayer) & LED 動作ランプLED(上のLEDとは別)も接続するとよりマイコンの動作を確認しやすくなります
AP0 DP8(MediaPlayer)
AP1 GLCD RST
AP2 GLCD CS2
AP3 GLCD CS1
AP4 cL
AP5 cR
MediaPlayerマイコン
ピン名 接続先 備考
Reset DP4(Boot)
DP0 なし
DP1 なし
DP2 なし
DP3 AudioOut(PWM) 音声がPWM出力されます. そこからの回路図はMediaPlayerの導入を参照してください.
DP4 なし
DP5 なし
DP6 なし
DP7 なし
DP8 なし
DP9 なし
DP10 なし
DP11 なし
DP12 なし
DP13 SCK & LED 動作ランプLED(上のLEDとは別)も接続するとよりマイコンの動作を確認しやすくなります
AP0(RX) 下記参照 下記で詳しく説明します
AP1(TX) 下記参照 下記で詳しく説明します
AP2 なし
AP3 なし
AP4 なし
AP5 DP13(Main)

マイコン間の通信としてシリアル通信を使用します. シリアル通信に関しても同時に複数のマイコンを接続できないため, スイッチが必要になります. スイッチとしてアナログスイッチを使いその制御はBootマイコンが行います. 接続図は次の通りです.

シリアル通信接続図
シリアル通信接続図
「https://contentsviewer.work/Master/Arduino/Works/TerminalPro4MakeHardware」から取得