Raspberry Pi 用の外付け回路基盤
LED
回路
アノードをGPIOに,カソードをGNDに接続.100Ωの保護抵抗入り.
接続
| ピン名 | GPIOポート番号 |
|---|---|
| LED | 10 |
制御
GPIOポート10に1を出力すると点灯する.
スピーカ
回路
極性なし.1kΩの保護抵抗入り.
接続
| ピン名 | GPIOポート番号 |
|---|---|
| SPK | 19 |
制御
GPIOポート19をPWMに接続して波形を出力する.
8x8 ドットマトリックスLED
回路
8x8ドットマトリクス(OSL641501-ARA). 各列(COL)に100Ω抵抗が入っている.
接続
| ピン名 | GPIO ポート番号 |
|---|---|
| COL1 | 27 |
| COL2 | 8 |
| COL3 | 25 |
| COL4 | 23 |
| COL5 | 24 |
| COL6 | 22 |
| COL7 | 17 |
| COL8 | 4 |
| ROW1 | 14 |
| ROW2 | 15 |
| ROW3 | 21 |
| ROW4 | 18 |
| ROW5 | 12 |
| ROW6 | 20 |
| ROW7 | 7 |
| ROW8 | 16 |
動作
| 列(COL)を操作するGPIO出力 | 行(ROW)を操作するGPIO出力 | 結果 |
|---|---|---|
| 0 | 0 | 消灯 |
| 0 | 1 | 消灯 |
| 1 | 0 | 点灯 |
| 1 | 1 | 消灯 |
制御
行をROW1からROW8まで順に1行だけ表示させるという操作を高速に繰り返す. まず,全ての行(ROW)に1を出力しておく. 行rを表示させるには,行rの点灯させる列には1を,消灯させる列には0を出力しておき, そのうえで,ROWrに0を出力する.
疑似コード
配列frame[行][列]の内容を表示させるプログラムのC言語風疑似コードを示す.
ROW1からROW8に対応するGPIOに1を出力
for (row = 1; row <= 8; row++) {
for (col = 1; col <= 8; col++) {
if (frame[row][col] == 点灯) {
列colに対応するGPIOに1を出力
} else {
列colに対応するGPIOに0を出力
}
}
行rowに対応するGPIOに0を出力
しばらく待つ
行rowに対応するGPIOに1を出力
}
スイッチ
回路
10kΩでプルダウンしている.1kΩの保護抵抗入り.
接続
| スイッチ番号 | GPIO ポート番号 |
|---|---|
| SW1 | 13 |
| SW2 | 26 |
| SW3 | 5 |
| SW4 | 6 |
制御
GPIOポートを入力用に設定して使う.対応するスイッチを押したときに1が読み出せる.