ランダムトーンジェネレーター

Topics PICC lite Sound stdlib.h rand() Interrupt TIMER0 PIC12F675

概要

ランダムな音階を出します。ボリウムを操り、ランダム音階のスピードを変える事ができます。
サンプルのmp3

実用性は???ですが、楽器として面白いかもしれません。

回路図


回路は至ってシンプルです。J1の部分が音の出力となります。下の回路図が代表的な接続例です。

プログラムファイル

ランダムトーンのファイル一式(Hexも含む)はこちらからダウンロードできます。
また、以前に公開したボリウムを使用しない川の流れだけのプログラムはこちらに圧縮してあります。hexが既に出来上がっていますので、すぐにPICへ書き込むことができます。インストールフォルダーについては添付readme.txtを参照下さい。

動作説明

このプログラムの要(かなめ)は、乱数を作るところです。
#include <stdlib.h>
をプログラム最初に入れてあげると乱数の関数を扱えます。

rand() ・・・・乱数を0〜32767の整数で発生させます。
srand( unsigned int) ・・・・ 乱数の初期値を与えます。乱数といっても擬似乱数ですので、電源投入時から順番にとる乱数値が一定にならないようにする関数です。タイマーなどでかき混ぜるといった事が一般的でしょうか。

音程として1〜249を入れたかったので、132で割り算し1を足しています


2006/10/6 初版
2006/12/16修正

(C)2006 air variable All Rights Reserved..

ホーム