基本構成を考える 2022 Jan 4-7
ラズパイを使って、生活周辺をコントロールしたり、
インターネットラジオ
など
ライフオーディオ
の音源にしたいと考えました。
それらに必要な要素を集めると以下のような構成となります。
ネット上の情報を参考にラズパイの設定 2022 Jan 9-12 Raspberry Pi OS (32-bit) 2021-10-30 を用意します
|
左右のサイドパネル
2022 Jan 17
アクリル製の左右のサイドパネルは
アクリル屋
の
セミオーダー
から発注しました。
アクリル見本 なども参考になります。
電源基板 2022 Jan 13, 24
シリアルバッファ基板 2022 Jan 14, 24-28
制御したい周辺機器はいろいろありますが、
それぞれに(パラレルで)制御線を出すとタコ足になってしまうので、
シリアル接続で制御することにします。
シリアル制御と言えば、まず
I2C
が思いつき、ラズパイもI2C専用端子を持っています。
しかし、I2Cのスレーブ側を汎用ロジックで作るとなるとそれなりに煩雑です。
I2Cプロトコルはソフト(マイコン)を前提としたような、
あるいは専用IC(IP)と組み合わせて使うような感じですね。
さらにUSB接続という案もありますが、UBSも本機には機能過剰です。
ただし、シリアル接続のコードとしては USB Type-C のコードを流用します。
コネクタ付きで大量に安価に出回っていて使わない手はないです。
さて、そんなわけで、
受け側のハードウェアが最も簡単になる独自プロトコルとして考えます。
ワードパケットにアドレスとコマンドを入れ、
最終に到達するアドレスの最上位ビットを拡張ビットとすることで
ワード長拡張性を持たせます。
尚、この基板は、ラズパイのI2C機能とは独立していて干渉はありません。
import RPi.GPIO as GPIO from time import sleep vpin = 11 vsleep = 1 GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) GPIO.setup(vpin,GPIO.OUT) try: while True: GPIO.output(vpin,GPIO.HIGH) sleep(vsleep) except KeyboardInterrupt: GPIO.cleanup()ところで、ラズパイのロジックは3.3V、一方この基板は5Vです。 この 3.3V->5V 接続問題はこちら 「5V系・3.3V系信号レベル変換」 を参考にさせていただきました。 PCM5102A DAC基板 2022 Jan 14, 29-30
#hdmi_drive=2 変更 hdmi_drive=1 #dtparam=audio=on コメントアウト #I2S 追加 dtoverlay=hifiberry-dac
完成!
|
部品リスト
2022 Jan 15-16
写真に写っていて以下のリストにないものは手元にあったものですが、
標準的なものばかりです。
ラズパイ等
Raspberry Pi3 Model B(秋月電子) PasPi用ユニバーサル基板 65mm x 56mm(マルツ) PasPi用スタッキングコネクタ 高13.5mm(秋月電子) ピンヘッダ(秋月電子) ケーブル用コネクタ(秋月電子) コネクタ用ハウジング(秋月電子) 2P 3P スペーサー(秋月電子) 10mm 30mm 15mm 18mm プラビス&ナット 電源基板 AC-DC コンバータ RAC20-05SK/277(マルツ) 平滑コンデンサ 2200uF 10V(マルツ) 電源SW、入力切換えSW(マルツ) プリント基板実装用ヒューズクリップ(マルツ) メガネACインレット(マルツ) シリアルバッファ基板 USB Type-C コネクタ DIP化キット(秋月電子) TC74HC04AP(秋月電子) ICソケット(秋月電子) DAC基板 PCM5102A DIP化キット(秋月電子) 3.3V三端子(秋月電子) 基板取付用2連ボリューム A50K(秋月電子) インダクタ 1uH(秋月電子) 抵抗 470Ω(秋月電子) コンデンサ(秋月電子) 0.1uF 2.2uF 2.2nF (0.0022uF) 22uF 100uF ピンジャック(秋月電子) 白 赤 |
ソフトウェア セットアップ
2022 Feb 1-4, 8-11, 26
SSH Tera Term
ソフトウェア開発時に Windows PC側からラズパイを操作する為、 Windows PCに標準的なターミナルをインストールします。 SSH(Secure Shell) をパスワード認証で使用します。 公開鍵認証で使用する場合は こちら を参照。
普段使いではラズパイをスマホ、タブレットやPCから操作するのが便利です。 簡単に実現するにはラズパイ側にラズパイ操作の Web アプリページを用意します。 その為に Web server をインストールします。
Github を使うため Git をインストールしておきます。
私の常用テキストエディタは emacs なのでラズパイにもインストールします。
参考リンク |