PIC16F1709をわたくしは一度も使ったことのない種類のマイコンだったので,ちょっとずつ着実にプログラムを書いていくことにしました.今回のボイスチェンジャには下記の電子デバイスがありますが,そのうちとりあえず○印のついたものを実装と動作確認をし終えました.

  • LED[汎用ディジタル出力端子]〇
  • タクトスイッチ[汎用ディジタル入力端子]〇
  • ロータリスイッチ[汎用ディジタル入力端子]〇
  • スピーカ[DA変換器]〇
  • マイク[オペアンプ,AD変換器]〇
  • EEPROM

とくにマイクに使われているオペアンプについてははじめて使用する周辺機能であるとともに,アナログ回路を含んでいるため正しく動作するか心配でした.試しにオペアンプの出力をオシロスコープで動作を確認してみました.理想的な出力は無音時には2.5[V],最大で0~5[V]の振幅となります.

まず最初に示す下の図はボリュームとして使用する抵抗を絞ったときの波形です.それなりに大きな声を出していますが1.5[V]~3[V]の振幅信号が現れています.

F0009TEK

次に示す下の図はボリュームを上げたときの波形です.あまり声を出していませんが,0~4.5[V]程度の信号が現れています.

F0010TEK

 

以上の結果から,マイクからオペアンプを通って出力されている信号は正しく動作しているものと思われます.

さて,現在の問題点は2点あります.一つはスピーカの音量です.今回の電源は+3[V]のため振幅が少なすぎるようです.音が聞こえないわけではないのですが,少し聞き取りづらいと言わざるを得ません.本来なら昇圧回路などで20[V]くらいにすればよいのですが,基板サイズを極限まで小さくしてしまったことと価格を安くしなければならないため実装するのは厳しそうです.とりあえずはこの回路構成のままプログラミングを進めていき,完成してからもう一度考えたいと思います.もう一つの問題はEEPROMについてです.このプログラムが一番複雑になりそうなため,まだ未実装です.今後,以前作成したI2C通信のプログラムを参考にしてEEPROMを制御していきたいと思います.