マイクロマウス研修、今週のレポート担当の江川です。
現在、C言語やマイコンの仕組みについて座学が進んでいる所です。
さて、自分はマイコン経験者なので、後々ちょっと変わった事をしてみたく、その基礎調査としてPi:Co Classic 3で使っているI/Oの構成を回路図を読んでまとめてみました。
ブロック図
I/O構成表
カテゴリ | ピン名 | D/A | I/O | RX631 |
---|---|---|---|---|
モーター制御 | motor_EN | Digtal | Output | P1.5 |
motor_L_PWM | Digtal | Output | PE.2 | |
CW/CCW_L | Digtal | Output | PC.6 | |
motor_R_PWM | Digtal | Output | P1.7 | |
CW/CCW_R | Digtal | Output | PC.5 | |
赤外線LED | SLED_L | Digtal | Output | P5.4 |
SLED_FL | Digtal | Output | P2.7 | |
SLED_FR | Digtal | Output | PB.5 | |
SLED_R | Digtal | Output | P0.5 | |
センサー入力 | AN0 | Analog | Input | PE.0 |
AN1 | Analog | Input | PE.1 | |
AN2 | Analog | Input | P4.4 | |
AN3 | Analog | Input | P4.6 | |
AN4 | Analog | Input | P4.2 | |
パネル | SW_L | Digtal | Input | P3.1 |
SW_C | Digtal | Input | PC.3 | |
SW_R | Digtal | Input | PC.2 | |
LED_0 | Digtal | Output | PB.0 | |
LED_1 | Digtal | Output | PA.6 | |
LED_2 | Digtal | Output | PA.4 | |
LED_3 | Digtal | Output | PA.0 | |
BLED_0 | Digtal | Output | PB.1 | |
BLED_1 | Digtal | Output | PA.3 | |
Buzzer | Digtal | Output | PB.3 |
ブロック図の黄色い矢印がI/O構成表にまとめた信号の流れになります。
モーター制御には5本のI/Oを使っています。Pi:Co Classic 3にはモータードライバとステッピングモータがそれぞれ2つずつ使われていますが、motor_ENでモーターの電源のON/OFFをし、motor_L_PWとMmotor_R_PWMで速度制御、CW/CCW_LとCW/CCW_Rで回転方向の制御をしています。ピン名中のL/Rが左/右のステッピングモーターに対応しています。
赤外線LEDには4本のI/Oを使っていてSLED_L(左)、SLED_FL(左前)、SLED_FR(右前)、SLED_R(右)のそれぞれの赤外線LEDのON/OFFを制御しています。
センサー入力にも同じく4本のI/Oを使っていてAN0で電源電圧を監視、AN1~4で上記赤外線LEDから出た光の反射を受けたセンサ電圧を取得しています。SLED_L→AN4、SLED_FL→AN2、SLED_FR→AN1、SLED_R→AN3と対応しています。ちょっと覚えにくいですね。
パネルではSW_L、SW_C、SW_Rで三つのスイッチの値を読み、LED_0~3で単色LEDのON/OFFを、BLED_0~1で2色LEDのON/OFFを制御し、Buzzerでブザー音を出しています。
合計で24本のI/Oが使われている訳ですね。メイン基板上には他にいくつかのピンの引き出しがありますが、今回は割愛します。
こんな風に自分なりにまとめをしておくと、プログラムも読みやすくなるのではないかと思います。