はじめに。
- 前回までのあらすじ:USB-シリアル変換(秋月FT232RL)を使えば、FT-817とRaspi 3 Model A+を問題なくリンクさせられることがわかった。
- でも貴重なModel Aの1ポートしかないUSBをそいつの占領されてるのはもったいないと思う。もっと他のものを挿して機能を増やす方がいい。
- そもそもラズパイにはGPIOというありがたーいピンヘッダが付いていて、UARTな端子が出ている。USBシリアルなど介さずとも単独でシリアル通信ができるのだ。これを活かさずに何とする。
や、というかUARTでアマチュア無線機とシリアルでCATしてる記事を見たことないんだけど、お試しお試し。
RasPi 3 Model A+のラズパイのGPIOについて。
記事はぐぐればいくらでも出てくると思うが、The Raspberry Pi 3 A+ - Pi My Life Upあたりを見ていただくのが早かろう。つまりTXDがp8、RXDがp10(BCMでいうとそれぞれUART 14, 15)。
ただし、ピンヘッダで吐いてくれるここでの信号レベルは3.3V。無線機側の信号レベルは古典的な5V(TTL)。たぶん5Vトレラントはないので、直で繋ぐと瞬時にラズパイが破壊される。
そこでレベル変換をかますとする。
双方向に3.3V⇔5Vを変換するのは、低速な通信ならばいい加減な回路でも問題ない。
そこでロジックレベル変換モジュールを使った。4ビット双方向ロジックレベル変換モジュール BSS138使用: 半導体 秋月電子通商-電子部品・ネット通販
こいつは3.3V⇔5Vのやり取りに最適だ。ただし、MOSFETに3.3Vと5Vの基準電圧を加えてやる必要がある。3.3Vと5Vは・・・これもGPIOから調達すればいい。
ということで、GPIOから3.3V(p1)、5V(p2)、TXD(p8)、GND(p9)、RXD(p10)をまるっと頂くことにした。手持ちの関係で、2x7のピンソケットで受ける。
まとめると接続は以下。
RpiのGPIO | 変換モジュール | FT-817のACC |
---|---|---|
RXD(p10) | LV1/HV1 | TXD(p4) |
TXD(p8) | LV2/HV2 | RXD(p5) |
GND(p9) | G/G | GND(p3) |
3.3V(p1) | LV/- | |
5V(p2) | -/HV |