RasPd2 プログラミング編

2017年07月21日 カテゴリー:Raspberry Pi



参考になるかわかりませんが、とりあえずRasPd2に入っているファイルをアップロードしておきます。(2025年05月16日データ削除)
※RasPd4のデータをアップロードしたためRasPd2のデータは削除しました。(2018年2月22日追記)

▽コントロール割り当て
左スイッチ: エフェクト切替、切替時に右LEDが点滅
中央スイッチ: 特殊機能(ブースト機能等)オン・オフ、オン時中央LED点灯
右スイッチ: 長押しでシャットダウン
各ポット: エフェクトパラメータ
フットスイッチ: エフェクトオン・オフ、オン時左LED点灯

今回の内部プログラムはRasPd1のプログラムを単に移植しただけのものです。エフェクトを3種類入れているものの、エフェクトを切り替えた後いちいち各ポットを設定しなおさなければいけない仕様なので、現実的な運用は面倒だと思います。もちろん中身は自由に変更できるので、今後いろいろと発展させていきたいです。変態的なエフェクトをプログラムするのもいいし、スマートフォンと連携してエフェクトを操作するなんてこともできるかもしれません。



<スイッチ・LED>
RasPd1と同様、GPIOピンによるスイッチやLEDの制御を行っています。
こちらで丁寧に解説されています。→RaspberryPi電子工作入門

<可変抵抗>
エフェクトパラメータ設定は、ポットで分圧した電圧値をADコンバータMCP3008で読み取るという方式です。
こちらのページのプログラムを改変して利用しました。→Raspberry PiのPythonからTMP36のアナログ温度センサとMCP3008のADコンバータを使う
値の取得は0.3秒ごとにしています。取得した値が前回の値から変化していたとき、RasPd1と同様pdsendでPdへデータ送信しています。ポットを回したとき反応が遅く雑音が発生しますが、ワウペダルではないので実用上問題ないでしょう。
※最新のRaspbianで値が取得できなくなりました。プログラムにspi.max_speed_hz = 1000000を追加すると問題ないようです。(2018年1月28日追記)

<データ保存>
RasPd1からの名残でパラメータ保存機能は一応残っています。しかしすぐにパラメータが上書きされてしまうため、意味がない状態です。工夫次第ではプリセット保存・呼び出しといった機能をつけることも可能だと思います。



ハードウェア編へ  ソフトウェア編