---
parent: TerminalPro4
title: TerminalPro4ハードウェア製作
date: 2017-5-4
---

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

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

===

# 各モジュールの用意
    # 概要
        TerminalPro4は次のモジュールを含みます.

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

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

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

        作り方は, [ダウンロードページ](./TerminalPro4Download)から取得したフォルダ内にある
        スケッチ'Exapmle/TerminalPro4Non/TerminalPro4Non.ino'をArduinoUnoに書き込むことです.
                
    # MediaPlayerマイコン
        MediaPlayerマイコンとは, 音楽再生を行うものです.
        メインマイコンと処理を分離することでメインマイコンの負荷を減らします.
        アプリケーション実行時, メインマイコンからの指令に従ってSDカードから音楽ファイル(wavファイル)を再生します.

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

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

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

        作り方は, [ダウンロードページ](./TerminalPro4Download)から取得したフォルダ内にある
        スケッチ'TerminalPro4Boot/TerminalPro4Boot.ino'をArduinoUnoに書き込むことです.
            
    # コントローラー
        コントローラーとは, ユーザーからの入力を取得するデバイスです.
        コントローラーはBootマイコン, メインマイコンにつながっています.
        よって, それぞれのマイコンはユーザーからの応答を取得することができます.

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

        ![ボタン名称](CURRENT_DIR/Images/TerminalPro4/ControllerSW.png)

        |[ボタンビット番号]
        | ボタン名 | ビット番号 |
        |---------|-----------|
        | 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の白黒ディスプレイとなっています.
        詳しい説明は, [グラフィック液晶](./../GLCD)を参照してください.

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

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

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

        ![モジュール間接続の全体像](./Images/TerminalPro4/ModulesOverview.png)

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

    # (コントローラー) - (メインマイコン,Bootマイコン)
        コントローラーはメインマイコンとBootマイコンに接続します.

        ![(コントローラー) - (メインマイコン, Bootマイコン)の接続図](./Images/TerminalPro4/Controller.png)

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

        ![(SDカード) - (Bootマイコン, MediaPlayerマイコン)の接続図](./Images/TerminalPro4/SD.png)

    # (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の導入](./../IntroductionMediaPlayer)を参照してください. |
        | 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マイコンが行います.
        接続図は次の通りです.
    
        ![シリアル通信接続図](./Images/TerminalPro4/Serial.png)