上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
どうにか音階を出せる所まで来ました。
現状のセットと回路図は以下の通りです。

回路図はスピーカ回路をつけだだけですが。

 
「スポンサードリンク」

style="display:block"
data-ad-client="ca-pub-0620260288102702"
data-ad-slot="9773401572"
data-ad-format="auto">




苦労したのはマイコンソフトの方です。ソースを公開します。ドレミファソラシド2オクターブを繰り返すようになっています。
PIC12F1501発音テストサンプル
 
電子オルゴール系は何回か作っているのでだいたいのやり方は分かるのですが、毎回作り直していて非常に効率が良くないので、今回は今後も使えるように下のようなテーブルを作ってから始めました。




この表のCOUNTとRESTの2パラメータで音階を定義しています。原理としては、16ステップで定義している波形を指定音階の1周期に合わせるようにして定義波形で指定周波数を出すようにしています。
 
まずは単純にCOUNT値だけ数えるごとに波形テーブルを進めることで大体の周波数を出します。この方法だと16の倍数でしか波形長を定義できないので、どうしても余りが出ます。RESTでそのつじつまを合わせます。
  
本当は指定音階の周期にぴったり波形テーブルのデータを当てはめるように計算すればRESTは不要ですが、PIC12Fではとてもそんな計算できませんので、こういう方法にしてみました。
  
音は矩形ピコピコよりはだいぶ良いかな、と思いますが、まだまだ良音というには苦しい感じです。
もう少し改善して動きもオルゴールらしくなってから動画をアップしようと思います。
 
この先はエンベロープ制御を付けて、和音対応すれば電子オルゴールになるのですが、明日明後日は出かける用事が有るのであまり続きができません。完成は冬休みより後になりそうです。

それではまたです。
2015.01.02 Fri l 未分類 l コメント (0) l top

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。