【初心者】PICでBEEP音を作りたい!!2【親切に】
1 :
774ワット発電中さん :
2007/11/24(土) 23:51:03 ID:msYk60ha
2 :
電脳師 :2007/11/25(日) 08:04:16 ID:EuGDZl+O
これらのテンプレだりか頼む。 ・BEEPって何ですか? ・音声は出せますか? ・音のhello World みたいなプログラムありますか? ・音階のデータやウェイトの表が欲しいんですが。 ・和音ってできますか? ・いろんな楽器の音色を作りたいんですが。 : : : 音の世界は無限です。
3 :
774ワット発電中さん :2007/11/26(月) 14:33:16 ID:oEE553a6
音だけですか、光物もOKとしましょう。
4 :
のうし :2007/11/26(月) 14:52:38 ID:1o35YBqA
音と光だけですか、動きモノもOKとしましょう。
光は光でスレがあるからねぇ。それも多数。 対象を拡大するなら、音を対象にするのはそのままにして、PIC専用からマイコン全般に したほうがいいように思う。
まあ、専門スレのほうが適切だと思ったらそのつど誘導するということで。 あまり縛りをきつくせずにまったりと行きましょう。
7 :
774ワット発電中さん :2007/11/27(火) 22:10:53 ID:5/qsG4tj
PIC初心者という事で自由に進めましょうや、固く考えずに。 前スレでもPICだけで音声とかDTMFなんて初心者のレベルを超えそうなのものも出ていてます。 他スレとの違いは、「初心者の参加を拒まない」という事はどうでしょうか。 まあ、教えて君 は少し困るのではありますが。
初心者の参加を拒む他スレって、どこだろう・・・ PIC本スレの初心者に対する優しさは、もはや 異常といっていいレベルだと思うけど。
9 :
7 :2007/11/27(火) 23:21:22 ID:Z4r7pz3o
>>8 表現が悪かったすまん。
例えば、「単にLEDを点滅させたい」というレベルの質問にも親切にという意味で書きたかった。
他のスレで断られそうな内容も引き受ける意気込みという意味。
10 :
のうし :2007/11/27(火) 23:31:06 ID:EyP6p/GA
>>9 それも例が悪いと思うが。
LED点滅なら、明らかに先行している専用スレがあるんだから、
そっちに誘導するのが本筋だろう。
>>7 すまん、文句じゃないんだが、意味が分からないので教えてくれ。
>PIC初心者という事で自由に進めましょうや、固く考えずに。
>前スレでもPICだけで音声とかDTMFなんて初心者のレベルを超えそうなのものも出ていてます。
これは「前スレでは初心者のレベルを超えそうな話題も出ていたが、
今後は避けてくれ。PIC初心者向けスレなんだから。」という意味?
それとも「前スレでは初心者のレベルを超えそうな話題も出ていたが、
本スレでも歓迎。PIC初心者向けスレではあるが。」という意味?
>>12 どう考えても後者の意味に取れる。
ま、数あるPIC重複スレのひとつだし、始まりは
単発質問スレなんだから、定義はあいまいでもいいじゃん。
他に良スレがある書き込みは、ベターな方へ
誘導すればいいしさ。
ところで前スレのDTMF氏は問題解決したのだろうか。
14 :
のうし :2007/11/28(水) 08:58:36 ID:igxl7J1D
PIC厨からの隔離スレでもある。 例のスレはあまりにも混んでて収集がつかなくなっている。 ここではマターリとお遊びをって感じと、高度な雑談をって慣習になってる。
15 :
774ワット発電中さん :2007/11/28(水) 16:51:11 ID:LnFJGBNv
DTMFの人です。 あれから、ちょっといろいろ忙しく、 なかなか時間が取れませんでしたので、あまり進展がないですが、一応報告します。 一応、目的の周波数の矩形波を出力する方法は分かりました。 しかし、現段階では、「ずーっと鳴りっぱなし」「2つの周波数を同時に出力できない」 という、ほとんど進展がない状態です。 今後の目標としては、とりあえず、DTMFの信号らしくするために、 2つの周波数を同時に発生して、混合する方法、 トランジスタを利用した混合する回路は出来ました。 それと、200msecの時間でいったん音を切り、 次の違う文字に移る、といったようなことがしたいです。 今回は、いろいろ面倒なので、 PICは、16F84Aで、クロックは4MHzです。 PICCを用い、サンプルの「Delay.h」を使って、 1usecのディレイタイマを使って、 0.5/f(Hz)の時間の繰り返しで周波数を出してみましたが、 他に良い方法があれば、そちらを利用したい所存です。 次のレスに、一応作ったプログラムを書いておきます (本当に手抜きですみません)
16 :
774ワット発電中さん :2007/11/28(水) 16:51:47 ID:LnFJGBNv
#include <pic.h> #include "delay.h" __CONFIG(0xFFFA); main() { TRISB = 0; while(1){ PORTB = 0x00; DelayUs(414); PORTB = 0x01; DelayUs(414); } }
17 :
774ワット発電中さん :2007/11/28(水) 16:55:14 ID:LnFJGBNv
上記プログラムで、 高群の一つである1209Hzに限りなく近い、1207.73Hzを出力できました。 パソコンでもう一つの周波数を発生させ、 「空気上で」混合したところ、きちんと認識してくれました。 回路図が必要であれば、 時間はかかるかもしれませんが、提示できます。
>>13 そうか。前スレで音声ネタなんかやって悪いことしたのかと思ったよ。
まぁ音声やDTMFと「初心者レベル超えそう」との関係もよく分からんが、
セーフらしいのでとりあえずは一安心。
19 :
7、9 :2007/11/28(水) 20:27:02 ID:uhDe3i2X
>>12 重ねて申し訳無い。
もちろん後の方。
書けば書くほど混乱させてしまってスマン。
自分の一連の書きこみのように、少々わかり難かったり、意味不明でも相手にするスレとして頂ければ幸いです。
20 :
774ワット発電中さん :2007/11/28(水) 23:46:59 ID:Z0zwpj/u
DTMFのICって鈴商にあるな LR4089B/@160 入力がキーマトリックスなんでPicとのI/Fが面倒だけど
面倒ではなかった ポートが8個あれば簡単
>>21 LR4089 のスキャンタイミングに合わせてポート制御しなきゃなんないよ。
ちょっと面倒かも。データシート見てないけど。
24 :
DTMF :2007/11/29(木) 01:35:32 ID:xMPBfbQc
>>20-22 なるほど…ありましたか
しかし、ここは、もうやけっぱちで、「PICで発振回路を組む」という、
スレ元々のスタンスを大事にしたいと思いますので、
なんとかPICだけで組みたいのです
もう半分以上意地です。
皆様にはご迷惑をおかけいたしますが、
どうかお付き合い下さい。。。
25 :
DTMF :2007/11/29(木) 02:20:32 ID:xMPBfbQc
27 :
DTMF :2007/11/29(木) 09:45:09 ID:xMPBfbQc
>>26 ごめんなさい。
アップローダーはこちらを利用させて頂きます
>>25 と同じものです
ttp://aikofan.dee.cc/aikoup1/src/f0399.png ズバリ言いますと…「正解のソース」が欲しいです…。
HEXですと、答えはその中にありますが、
内容の理解が出来ないのと、
改造が出来ないのがキツイです。
なので、とりあえず「正解のソース」を頂ければ、
それを理解するために勉強したいと思います。
ここでも話し合っても良いですし、
自分で勉強しても良いですし。
DTMFですが、「矩形波の混合」である時点で、
正式な信号ではないですよね。
正式なDTMFは、「正弦波の混合」ですから…
なので、希望としては、「とりあえずDTMFとして認識できればいいじゃね?」
くらいの信号で構いません。
それと、開発環境を、16F648Aも可能になりました。
>>16 のソースをいろいろ弄って、16F648Aでも同じように動くことを確認しましたので。
しょーもない自分でごめんなさい。。。
少し真面目に考えてみた。 PIC16F648AだとTimer2が使えるから楽なんだが、とりあえず面倒なPIC16F84Aを使う 方向で。DTMF信号のスペックはCCITT DTMFが目標ということで。 CCITT DTMFだと周波数偏差の許容値は±1.5%以内。セラロックの周波数偏差を(甘く) 見積もって±1%以内とすると、プログラム上で許される周波数偏差は±0.5%。 高群の最高周波数1633Hzを発音するとして、PICからの出力信号を方形波とすると、 この信号はH/Lとも306.2±1.5usずつの繰り返し。 高群の最高周波数941Hzを発音するとして、PICからの出力信号を方形波とすると、 この信号はH/Lとも531.3±2.7usずつの繰り返し。 クロックを4MHzとすると1命令サイクルは1usなので、H/Lの命令サイクル数は、 上記のusを命令サイクルに読み替えればよい。 1633Hzと941Hzを同時に発音するには、約306命令サイクルごとにあるポートを トグルし、同時に約531命令サイクルごとに別のあるポートをトグルすればよい。 ・・・この2つの周波数に固定したとしても、かなり厳しい条件のような気がする。 306と531の最大公約数は9だから、9命令サイクルで1ループできればとりあえずこの 2つの発音はできることになるが、9命令サイクルで2ポート分のカウントとポート 反転は無理。(306±1と531±2の範囲でいちばん大きい最大公約数は9みたい。) これではどうしようもないので、周波数偏差の許容値を±0.5%から±1.0%に大きく してみる。そうすると、トグル周期が306.2±3.0usと531.3±5.4usになる。 この範囲内で最大の最大公約数を探すと304と532で76になる。76命令サイクルあれば、 アセンブラなら何とか2ポート分のカウントとポート反転がこなせるような気がする。 こんな厳しいタイミングでは任意の2周波数の発音は無理だろうから、上記みたいに 高群から1音と低群から1音を選んで、その2音を発音する専用ルーチンを作成、 これを16ルーチン(高群4音と低群4音の総当りの組み合わせ)作成するしかないんで ないかな。 ただし、ここまでやっても方形波出力だとスプリアスが大量に出るので、CCITT DTMFの スペックの1つ「スプリアス-30dB以下」は全く満たせないのだが。
・・・と、すでにこのあたりで完全に「PIC初心者向け」からは逸脱してるな。
>>28 のやり方でいくとして、高群と低群の各組み合わせで許容周波数偏差±1%のときに
命令サイクル数の最大公約数の最大がいくつになるか計算してみた。
高群1209Hz (410us〜417us), 低群697Hz (711us〜724us): 最大公約数(412, 721) == 103
高群1209Hz (410us〜417us), 低群770Hz (643us〜655us): 最大公約数(413, 649) == 59
高群1209Hz (410us〜417us), 低群852Hz (581us〜592us): 最大公約数(415, 581) == 83
高群1209Hz (410us〜417us), 低群941Hz (527us〜536us): 最大公約数(413, 531) == 59
高群1336Hz (371us〜377us), 低群697Hz (711us〜724us): 最大公約数(374, 714) == 34
高群1336Hz (371us〜377us), 低群770Hz (643us〜655us): 最大公約数(372, 651) == 93
高群1336Hz (371us〜377us), 低群852Hz (581us〜592us): 最大公約数(371, 583) == 53
高群1336Hz (371us〜377us), 低群941Hz (527us〜536us): 最大公約数(371, 530) == 53
高群1477Hz (336us〜341us), 低群697Hz (711us〜724us): 最大公約数(336, 720) == 48
高群1477Hz (336us〜341us), 低群770Hz (643us〜655us): 最大公約数(340, 646) == 34
高群1477Hz (336us〜341us), 低群852Hz (581us〜592us): 最大公約数(336, 588) == 84
高群1477Hz (336us〜341us), 低群941Hz (527us〜536us): 最大公約数(336, 528) == 48
高群1633Hz (304us〜309us), 低群697Hz (711us〜724us): 最大公約数(309, 721) == 103
高群1633Hz (304us〜309us), 低群770Hz (643us〜655us): 最大公約数(304, 646) == 38
高群1633Hz (304us〜309us), 低群852Hz (581us〜592us): 最大公約数(308, 588) == 28
高群1633Hz (304us〜309us), 低群941Hz (527us〜536us): 最大公約数(304, 532) == 76
1633Hz/852Hzのときの28命令サイクルってのがいちばん厳しい。
許容偏差±2%まで広げても1633Hz/852Hzのときがいちばん厳しくて39命令サイクル。
小出しですまん。いま気付いたんだが、高群1633HzはA〜Dに対応するから、 テンキーしか使わないのであれば高群1633Hzは使わないね。 その場合、±1%のときにいちばん厳しいところが34命令サイクル、±2%だと 47命令サイクル。
33 :
DTMF :2007/11/29(木) 11:57:31 ID:xMPBfbQc
>>ID:bVb86jMRさま
いろいろアドバイスありがとうございます。
今回は、クロックには水晶発振子を使用したいと思いますので、
セラロックほどの誤差はないと思います。
それと、残念ですが、今回のテーマであるのは、
「VoIP技術において、アマチュア無線で使う」というものがありますので、
そのリモートコントロール用に回路を作成したいので、
どうしても「D」のDTMF信号が必要なのです…
前スレに書き漏らしていたかもしれませんので、
謝っておきます。
必ずしも、テンキーを使ってDTMF信号を打つ必要はなく、
必要な、決まった文字列のDTMFをボタン一つで再生できれば問題ないです
それを、何パターンか用意しておいて、
「戻る」「次へ」「再生」くらいのスイッチで信号を再生出来れば良いと思っております。
いろいろごちゃごちゃですみません…。
>>32 興味深い記事です。
ご紹介ありがとうございます。
しかし、PWMは…まだ触れたことがないので、何とも言えないのが現状です…orz
すみませんです。。
34 :
DTMF :2007/11/29(木) 12:00:45 ID:xMPBfbQc
35 :
774ワット発電中さん :2007/11/29(木) 12:32:35 ID:TkRsmo5L
前スレで書いた DDS(累加してキャリーのでる頻度で周期を作る)ではダメだったの? for(cnt=CNT;cnt;cnt--){ S1 += A1 if( Carry ) { pulse; } else { nop ;} ; S2 += A2 if( Carry ) { pulse; } else { nop ;} ; }
36 :
774ワット発電中さん :2007/11/29(木) 12:42:30 ID:9DGyQJyG
37 :
774ワット発電中さん :2007/11/29(木) 12:43:22 ID:TkRsmo5L
for(cnt=CNT;cnt;cnt--){ S1 += A1 if( Carry ) D1++; S2 += A2 if( Carry ) D2++; RB.bit0 = (D1 & 1 ); RB.bit1 = (D2 & 1 ); } こういうループでどうだろ? A1,A2をポートでinc/decするプログラム作って A1,A2の値をポートにシリアルで出力するようにして調整したらどう?
38 :
sage :2007/11/29(木) 14:52:24 ID:OnjGNIuW
12和音もあるけどな
>>33-34 先に断わっておくが、PWM (Timer 2)使うほうがはるかに簡単だよ。動作する
プログラムも既に
>>32 があるわけだし。そっちを使うことを考えたほうが無難。
あくまでPIC16F84Aで苦難の道を行く場合、クロックに水晶を使うのなら基準発振の
誤差は無視できる程度だから、プログラム上の許容周波数偏差を±1.5%まで許す
ことにすると、クロック4MHzのとき最小の1ループは31命令サイクル。
このサイクル数だと、Cだけで書くのは厳しい。骨組みはCで書くとして、細かい調整は
インラインアセンブラを併用しないといけないかも。1ループの命令数は、がんばっても
多分20命令前後までしか減らせないと思う(これでも1音あたり10命令)が、発音の
H/Lの各期間に許される命令サイクル数の誤差は高群最高音のときで8サイクルしかない
ので、DDAによる発音では誤差が大きすぎる。
クロック源の水晶の周波数を20MHzにしていいなら最小は194命令サイクルになる。
このくらい周期に余裕があれば割り込みが使えるから、ルーチンを分けずに一本化して、
全部Cで書くのも何とかなりそう。また、発音のH/Lの各期間に許される命令サイクル数の
誤差は高群最高音のときで45サイクルあるから、1ループが40命令程度以下に収まれば
DDAによる発音でも許容誤差以内で発音できる。
41 :
DTMF :2007/11/29(木) 21:53:36 ID:xMPBfbQc
皆様、いろいろほんとうにありがとうございます。
私としては、PWMを使わずに、矩形波発振だけで行きたかったのですが、
どうにも無理そうだ…という結論ですので、
諦めてPWMを使ってしまおうかと思います。
しかしながら、
>>32 のプログラム…全く理解できないのが現状です…orz
いろいろ無理を言ってしまい、ほんとうに申し訳ありませんが、
PWMの解説を含め、私の目的に合ったプログラムを作成できれば…と思います。
このスレにおいては、高度すぎますでしょうか。
もし、ふさわしくないのなら、誘導していただけましたら、移動します。
>>41 「PICを1個だけ使う」という縛りがなければ、PICを2個にすればぐっと楽になるよ。
1個で1音。2個で2音。
理解の及ぶ範囲から着手するとすれば、まずこの辺からいってみては。
43 :
DTMF :2007/11/29(木) 22:10:49 ID:xMPBfbQc
>>42 まさに「目から鱗」です。
PICを2つ使う…
私には、そこからはじめた方が良さそうです、
というか、そうしなければ無理です…orz
手持ちの水晶が1つしかありませんので、
それが用意できるまで、しばらくは違う方面から開発を進めたいと思います。
次の課題は、「一定時間f(Hz)を出力して、止める」です。
どこをループしたらいいのか…それすら理解できないほど、
私のプログラミング技術は未熟です…orz
f(Hz)に相応の時間を繰り返して止める、とか、そう言った操作が必要でしょうか?
それとも、DelayUs()関数で実現出来るでしょうか。
44 :
電脳師 :2007/11/29(木) 22:19:29 ID:8yOJtw4E
>>43 PIC16F648Aのほうは内蔵オシレータ(4MHz)があるから、開発の初期はそれを使うことに
すれば、とりあえず水晶なしでも動作する。開発を進めながら、完成までの適当なときに
水晶を手に入れればいい。
一定時間出力して止める。きれいに書こうとすれば割り込みの出番かな。
46 :
DTMF :2007/11/29(木) 22:26:41 ID:xMPBfbQc
手元に丁度16F648Aが二つあります (予備として2つ買っておいてよかった…) 内蔵オシレータがあれば、確かに、精度は落ちますが、 実験にはなりますね。 ブレッドボードも使っているので、回路は簡単に組み直せます。 一定時間出力して止める。 割り込みに関しては、授業で教えてもらえませんでした。 この機会ですから、教えて頂けるとうれしいです。 いつもほんとうにありがとうございます。
>手持ちの水晶が1つしかありませんので 一方のPICで発振させて、そこから発振出力を引き出して もう一方のPICへ入力したら良いのでは?
ところで、DTMFって矩形波でも桶だよね?
DTMFに特化した方法もあるな。
たとえば、
>>16 のプログラムで1209kHzを発音するのであれば、1209回ループすれば
1秒になるわけだ。ということは、発音時間がX msの場合は(1209 * N / 1000)回
ループすればいいということになる。
割り込みの使い方は、まず参考書か何かで独習して、分からないところを質問した
ほうがいいだろうな。
基本線は、
>>16 のプログラムで言うと
main()
{
TRISB = 0;
while(1){
PORTB = 0x00;
DelayUs(414);
PORTB = 0x01;
DelayUs(414);
}
}
となってるのを
int loop;
main()
{
TRISB = 0;
割り込み設定(割り込みまでの時間を渡す);
loop = 1;
while (loop) {
PORTB = 0x00;
DelayUs(414);
PORTB = 0x01;
DelayUs(414);
}
}
割り込み設定(時間)
{
割り込み初期化();
割り込みまでの時間設定();
}
割り込み処理ルーチン()
{
loop = 0;
}
みたいにすること。(このままだと単発で発音して終わりになるけど。)
>>47 PICのOSCOUTは発振周波数の1/4の出力になるから、今回の用途ではあまりよろしくない。
>>48 「DTMFとは何か」に依存する。CCITTが定めるDTMFならば2つの正弦波を加算したもの+
許容範囲内のノイズで、「許容範囲内のノイズ」の制限に引っ掛かるので矩形波は不可。
(いまはITUって言うんだよ、って突っ込みが入りそう・・・)
どうせだから、16個使っちゃえよ。 8ピンのやつとか使えばいいじゃん。
外に7次のGICフィルタつければ良いじゃない
そう、フィルタで高調波を削って矩形波じゃなくしてしまえばいい・・・んだが、 矩形波からフィルタ1個で許容範囲内に納めるにはかなり高次のものが必要になるのが 難点。 1633Hz(高群最高周波数)は通過域内で、なおかつ2091Hz(697Hz(低群最低周波数) の3倍高調波/-5db)以上は25db以上減衰する必要がある。7次で足りるかどうかは 確認してないが、ちょっと足りないような気がする。
だから、(PIC+フィルタ)×16だろ
56 :
DTMF :2007/11/29(木) 23:18:15 ID:xMPBfbQc
とりあえず、私だけでスレ占有してしまうのはアレですので、
割り込みに関しては、ある程度独習してきます。
今のところは、
>>49 の上の方法で組んでみます。
これならば、何とかいけそうです。
いろいろアドバイスありがとうございました。
またお世話になるかもしれませんが、
そのときは、よろしくお願いいたします。
では
>>55 Oh, my!
それを制御するPICも1個欲しいなww
しかし適材適所でマイコンを選ぶとすれば、この場合やっぱりPSoCなんだろうなぁ。 メーカの標準ライブラリにもDTMF Dialerが入ってて、8ピン品種でもミックス済みの アナログ信号で出力できる。チップの値段ではPICに全く太刀打ちできんが。
盛り上がってまいりますた。
>>49 >発音時間がX msの場合
季節柄クリスマスに見えたw
60 :
774ワット発電中さん :2007/11/30(金) 08:32:34 ID:lujl1j51
>>37 の解説
> for(cnt=CNT;cnt;cnt--){
BYTE cnt;
for(cnt=255 ; cnt ;cnt--){
一定時間発音させる為の処理。 wiz-Cなんかは、こんな感じに書かないと短いコードになってくれない
for(i=0;i<=255;i++) と書くのが普通かな
> if( Carry ) D1++;
PICではキャリーフラグはメモリ上に割り付けられてるので、
直前の加算命令でキャリーが出てるかどうかを判定出来る。
この Carryの部分は、 STATUS.C とか STATUS & (1<<C) みたいに使ってるインクルードファイルの定義による
> if( Carry ) D1++;
PICの条件判断は次命令スキップなので、 コンパイルして1命令なら条件判断で命令サイクル数が乱れない
旨く1命令になるかどうかはコンパイラ次第
61 :
のうし :2007/11/30(金) 09:01:46 ID:mg3kuR75
ところでそれらでやったのは回線で認識されたのか? デコーダーはキットでも売ってるけど、もっと楽にプッシュ回線にある音量をSPでやる方法あるよな。 つうことはキーボード(シンセサイザーの方)でできるかな? 似た音階はどれくらい偏差かな。
記憶では 口笛でDTMFを操作するワザを持つ人がいた たしか女性だったような希ガス
女性二人でパパパと声で117を掛けたのならTVで見た
ホーミーというモンゴルの伝統歌唱芸能があってだな・・・w
66 :
脳死 :2007/11/30(金) 23:48:03 ID:mg3kuR75
67 :
電脳死 :2007/12/01(土) 09:11:04 ID:ETiyUQM8
◆大変申し訳ございませんが、ただいまの時間はPCでのアクセスを制限しております。 下記リンクより携帯端末にURLを送信してご利用ください。 -------------------------------------------------------------------------------- このページを表示するには、お手持ちの携帯端末からアクセスする必要があります。 携帯にURLを送る PCからのアクセス制限につきまして ※上記をクリックすると、お使いのメールソフトから携帯にURLを送ることができます ※携帯以外からのアクセスが許可されていない場合、パソコンやパケット削減サービス等からアクセスするとこのペ−ジが表示されます -------------------------------------------------------------------------------- livedoor @pic.to
69 :
774ワット発電中さん :2007/12/02(日) 22:13:47 ID:Dvs+UEmq
71 :
774ワット発電中さん :2007/12/06(木) 17:26:20 ID:sZLhUEX5
PIC(675)のP0ポートを単純にL、Hさせて1KΩを通してスピーカー経由GNDへ スピーカーは100円ショップの40Ωを使用。 1KHzを発信。 PC内臓のマイク受け WaveSpectra for Windows で解析。 スピーカーやらマイクの要因もあると思うのですが、1Kより3Kの方が強い。 こんなものなのでしょうか。 :020000040000FA :100000000F20000000000A202008013AA00085000F :10001000000002289E30A100A10B0C280800FF233D :1000200083169000831207309900831600309F00DA :0E0030000830850083120030A0008500080013 :084000000000000000000000B8 :02400E00843FED :00000001FF
スピーカーをそれなりの箱に入れましたか? 箱が無いとある程度まで高い周波数ほど聞こえる音は大きくなります。
にーーー って感じの音かな。なんとなく。
表と裏で基本波打ち消しちゃってるんじゃねーの?
>>71 スピーカーの特性だろうね。
抵抗分圧して減衰させて、PCのライン入力端子に入れて見れば?
76 :
774ワット発電中さん :2007/12/09(日) 20:51:11 ID:aYvnYkmn
77 :
774ワット発電中さん :2007/12/10(月) 04:09:41 ID:kUMZDDx0
最近PICでの電子工作に興味を持ちました。とりあえずPICで発光ダイオードを光らせる お馴染みの回路を組んでみたのですが、シリアル通信にも興味がでてきました。 RS232Cを使ってパソコンから打ち込んだ文字を液晶に表示させてみたいと考えてます。 必要な部品と回路構成はどんなものになるのでしょうか? PICは16F84の利用を考えてます。
80 :
774ワット発電中さん :2007/12/10(月) 22:01:37 ID:V9TeHQrv
81 :
774ワット発電中さん :2007/12/16(日) 06:43:18 ID:dj1lBjdj
82 :
のうし :2007/12/16(日) 11:13:36 ID:d+hCJs2a
つうか、こっちのスレは音や光とかのおもちゃや実験・工作のとこだからべつにいいんじゃね。 むこうのスレでもいいけどいろんなのがいて馬鹿にされるからな‥ ところでシリアルだのLCDとかをPCでってのは秋月のありふれたキットにあるじゃん。 古いのが研究室に転がってたけど何やら実験だかデモみたいでわかりやすそうだったような、今でもあるのかな? ソフトがぬわんとフロッピーだった。
83 :
774ワット発電中さん :2007/12/22(土) 21:31:06 ID:UvkbvxWw
PICライタって何使ってますか? 16C84の時代に作ったのがあるけど、最近のデバイスだと、一部機能が対応できなかったよね? 昔は高電圧からも電流が取れないといけなかったけど、それが電圧だけあればよくなって、 最近では電圧もいらない方法があるとか。 PLDのダウンロードケーブルを流用できたら便利かなぁ、とか思うんだけど、やってる人います? とりあえずByteBlasterMV/II(自作)はあります。 HEXファイルをパラレルに流すだけだから、コントロールソフトも簡単にできるんじゃないかと 思うけど、Windows上だと面倒なのかしら。ちなみにIFはCUIで十分。
84 :
電脳師 :2007/12/22(土) 22:06:25 ID:iud7PMrv
慣れてるならそれが一番。 最新のを追っても自分が対応できない。 でも逆に改良点をフルに使って楽しむ最新追求派とか‥ なおかつ両刀遣いだの様々。 ちなみに漏れは自前だけどどの部類かな?
85 :
774ワット発電中さん :2007/12/23(日) 13:24:28 ID:VeXQJegd
86 :
774ワット発電中さん :2007/12/25(火) 00:09:33 ID:LCG3bKOl
スレ違いかもしれませんが 自分も音を作りたくて 教えて欲しいのですが 自分はH8 3052Fを使い C言語で 音を作りたいのですが H8 3052Fのマザーボードに スピーカをつないで 簡単な音は出したのですが なかなかプログラムが分からなくて... お聞きしたいのですが H8でCで書いた時 周波数で音を変える(周波数を記述して音を出す)というプログラムというのは書けるのでしょうか? やはり無理ですかね... PIC専用スレなのにすいませんm(_ _)m beep音スレが他には無くて... どなたか教えて下さい。
当然書ける
>>86 当然(そういう関数(周波数をPWM周期に換算する関数)を作れば)書ける
89 :
774ワット発電中さん :2007/12/25(火) 11:30:35 ID:LCG3bKOl
>>87 >>88 さん
ありがとうございます。
できれば 簡単なサンプルプログラムを教えていただけるとありがたいのですが
90 :
774ワット発電中さん :2007/12/25(火) 12:43:09 ID:JwBFP2yk
H8 ならカウンタ機能が豊富だからカウンタでやればいいと思うのだけど? ソフトでやるなら static int sum = 0; for(i=0;i<0x7fff;i++){ sum += frq; if(sum<0) port=0 ; else port=1; } こんな感じで
>>58 >チップの値段ではPICに全く太刀打ちできんが
”DTMFダイヤラ”としてのコストだとそうでもない気がする
矩形波じゃ駄目とか言われたらなおのこと
PSoCならデザイナーのデフォルトでDTMFモジュールがあるんだけどね。
94 :
774ワット発電中さん :2007/12/26(水) 23:29:47 ID:RsJ11Z9d
PSoCの話題は、禁止です。
>>92 うん、そうだね。
アナログ系をまともに作ると、周辺まで含めて考えればPSoCでもコスト的に十分引き合う。
>>92 > 矩形波じゃ駄目とか言われたらなおのこと
そうでもない。
>>32 で話題にしている「PIC16F628AでDTMFジェネレーター」は
ちゃんと正弦波で出力してるし、アナログ回路もCRフィルタだけだから
PSoCより安上がりだよ。
>>90 改めて見比べてみると、その回路は
>>32 の回路のパクリみたいだな。
ファームのほうは大幅に手を加えてるようだから、丸パクリではなさそうだが。
>>96 矩形波か否かの問題じゃなくて、出力信号の品位等、アナログ部の条件を言い始めたら
相応の外付け部品が必要になるから、要求仕様次第では差がなくなるって意味でしょ。
>>32 の回路だってCRフィルタだけじゃCCITT DTMFの信号品位条件には不足で、条件を
満たすには2次以上のフィルタを外付けする必要が出てくるはず。単純に音量を
変えられるようにするだけでも、信号品位を保ったまま音量を変えるには外付け部品が
必要になるしね。
98 :
774ワット発電中さん :2007/12/27(木) 22:11:32 ID:RVogqjT8
100 :
774ワット発電中さん :2007/12/28(金) 00:49:02 ID:NQ88b8BJ
マイコンはH8しか使ったこと無いのですが H8がある程度分かっていれば PICも扱えますかね? あぁ フリーのCコンパイラがなかなか無いのかぁ...
次の2点の内容次第。 1. 「ある程度分かっている」がどの程度分かっているのか 2. PICをどのように扱うつもりなのか
>>100 PIC も今はフリーの純正コンパイラがあるよ。
それが使える品種から選ぶという方法もある。
>>103 C30は60日過ぎても最適化がちょっとアレになるだけだが、
C18もそうだっけ?
C18のそう、のはず。 PIC16以下にはMicrochip純正コンパイラがないんだよなぁ。
>104 それってどれくらいアレになるの? って答え辛い質問かもしれんけど、 AVR用のgccだって最適化の出来はそんなに良いわけでもないからなぁ。 対称性の良いレジスタセットをもつARMやAVRだとgccのレジスタリネーミングの 処理のダメさ加減がたまに鼻につく。 8051用sdccはバカだけど素直でそのあたりはちゃんとしてる(かわりに ループの不変量処理なんもしてないけどな)。
>>107 「最適化レベル=1」固定なので、
実は、あんまり気にするほどでもないらしいです。
109 :
28,40 :2007/12/28(金) 22:45:46 ID:sFbW+M+u
言うばっかりでは何なんで、そのうち実装してみようとは思っていたんだが、ようやく
無駄な遊びをする精神的余裕が出てきたんで、やってみた。
http://xcrosgs2wy.web.fc2.com/dtmf/src/main.c ソース(CCS C v3.249向け)
http://xcrosgs2wy.web.fc2.com/dtmf/src/main.hex HEXファイル
PIC16F84Aを使ってDTMFを生成。クロックは「DTMFの人」にあわせて4MHz。
出力はPWMなんでパルス状だが、波形テーブルはいちおうサインカーブなので、
フィルタを通せば正弦波っぽくなる。PWM周期は約18kHzなんで、無線で使うので
あれば(どうせそんな高音が乗るわけないから)フィルタを別途付けなくても
結果は変わらないと思う。
出力周波数は、クロックが正確に4MHzの場合、誤差±0.1%以内に入っているはず。
クロックが正確に4MHzでない場合に対応するため。±10.0%の範囲で0.1%刻みに
DTMF周波数の微調整が可能。
出力ピンは
>>32 や
>>90 のDTMFジェネレータと同じくRB3を使用。ソースレベルで
変えればどの出力ピンにでも変えられる。
入力はキーパッドではなく、RB6/RB7を使った1200bpsシリアルコマンド方式。
PICkit2を持っていれば、ICSPで接続したままコマンドの入出力が可能。
コマンドはこういう感じ。
・DTMF発音(0123456789*#ABCD)
コマンド文字(1文字)を送信すると、すぐに発音を開始。発音を終了すると
「OK」を返す。
・DTMF発音長設定(S1=nnn)
コマンド文字列(S1=nnn, nnnは40から3000の数値)に続けてEnterを送信すると
「OK」を返し、それ以降のDTMF発音の長さをnnn(単位はミリ秒)に設定する。
発音長の初期値は95ミリ秒。nnnが範囲外の場合は「ERROR」を返す。
・DTMF発音長設定問い合わせ(S1?)
コマンド文字列(S1?)に続けてEnterを送信すると、現在の発音長の設定を
「S1=nnn」の形で返し、続けて「OK」を返す。
・DTMF周波数設定(S2=nnn)
コマンド文字列(S2=nnn, nnnは900から1100の数値)に続けてEnterを送信すると
「OK」を返し、それ以降のDTMF周波数を標準に対してnnn/10(単位はパーセント)に
設定する。初期値は1000(100%)。nnnが範囲外の場合は「ERROR」を返す。
・DTMF周波数設定問い合わせ(S2?)
コマンド文字列(S2?)に続けてEnterを送信すると、現在のDTMF周波数設定を
「S2=nnn」の形で返し、続けて「OK」を返す。
HEXファイルのほうは、プログラムFLASHが1024ワードのうち1000ワード、RAMが
68バイトのうち66バイトを使用。作成途中で、入りきらなくなって何度もソースを
手作業で最適化したくらいなんで、これ以上は何も入りそうにない。
最後のテスト中に間違って14Vかけてしまって、1個しか持ってない、なけなしの
PIC16F84Aを飛ばしてしまった・・・クロックジェネレータとして使っていた
PSoCも一緒に昇天www
110 :
774ワット発電中さん :2007/12/28(金) 23:40:52 ID:Oz+CGzWi
なんにもやらないで批判するよりも、ちゃんと現実的なソースを出してくれる人は 好きだな。
112 :
109 :2007/12/30(日) 23:35:03 ID:4A5AOXki
同じようなものばかり多数作るのも何なんだが、PIC16F648A用も作ってみた。
http://xcrosgs2wy.web.fc2.com/dtmf_648a/src/main.c ソース(CCS C v3.249向け)
http://xcrosgs2wy.web.fc2.com/dtmf_648a/src/main.hex HEXファイル
PIC16F648Aを使ってDTMFを生成。クロックは内蔵オシレータの4MHz。出力は内蔵
リファレンス電圧を使ってアナログ出力している(実はこれを一度試してみたかった)。
そのまま見ても(ガクガクに角張ってはいるが)それなりの波形に見えるので、
PWM出力よりも出力品位はいくらか高いのではないかと思う。フィルタを通せば
かなり奇麗。出力周期は約38kHz。
出力周波数は、クロックが正確に4MHzの場合、誤差±0.8%以内。内蔵オシレータの
クロックは誤差±2.0%なので、このままだと最大±2.8%の誤差が出てCCITT DTMFの
スペック(±1.5%以内)を外れる可能性がある。微調整の機能を追加するのは容易だと
思われるが、面倒なので省略。
出力ピンはRA2に固定。入力は
>>32 や
>>90 のDTMFジェネレータと同じキーパッドを
使用。
>>32 ではダイオードが入っているが、不要。A/B/C/Dの列はRB3を使用。
キーパッドのキーを押しているあいだ発音し、キーを離すと発音停止。
HEXファイルは、プログラムFLASHが4096ワードのうち887ワード、RAMが256バイトの
うち143バイトを使用。おそらくPIC16F627AやPIC16F628Aでも入ると思う。
PIC16F648Aであれば、まだかなり余裕があるので、シリアル入出力を追加するのも
容易だと思う。
>>112 DTMFのヒトじゃないが、参考になります。ありがとう
今頃になって、前スレの「ぴよ」「かっこー」をやってみたんだが・・・ どうも上手くない。やった人、波形整形まではしてないよね? 矩形波だよね? 「かっこー」はまぁそれなりだけど、「ぴよ」はなんか、鳥インフルエンザに 3年ぐらい罹ってるような声だ。 ちなみに12F675で、TMR0を音長、TMR1を音声波形発生の割り込みソースにしてます。 タイマー割り込みって正確じゃないんかな?
>>115 やった人だけど、「ぴよ」と「かっこー」は矩形波です。
(ってまぁ、ソース見てもらえば分かると思うけど・・・分かりづらいかw)
117 :
116 :2008/01/15(火) 01:43:23 ID:vkM/OFmB
割り込みとか使わずに、単にループで回してるだけ・・・だよね? それが正解だよねぇ。 作ってみたら、メインルーチンは時間待ちしながら音程、音長をセットしてる だけだから、自分に「無茶しやがって」のAAを贈ったところですよ。 「菊川の録音」からMMLに起こしてみて、「ぴよ」の変化は8音で、それを 8分割以上にして鳴らせばきれいに聞こえることを確認して、32分割(=半半半音) までやったけどダメ。 たぶん、音の切り替え時に何かあって、それが数10Hzぐらいのノイズになってるんだと思う。
>>115 >>118 >TMR0を音長、TMR1を音声波形発生の割り込みソースにしてます
TMR1の割り込み間隔はTMR0の割り込み実行時間によって揺らぎが生じるので、
TMR1の割り込みの度に出力を反転させてるのだとすると、その出力にも揺らぎが
生じて、ノイズとして聞こえるはず。
そのせいで
>たぶん、音の切り替え時に何かあって、それが数10Hzぐらいのノイズになってるんだと思う。
になっているのでは。
120 :
774ワット発電中さん :2008/02/02(土) 19:28:39 ID:HTMMNn9T
121 :
774ワット発電中さん :2008/02/07(木) 22:32:20 ID:j3Cw8Nct
これは交差法ですか?
そうそう、エッチな形が浮き出てくるよ。オレには見える。
ダメだ・・・右のまぶたが痙攣した
125 :
774ワット発電中さん :2008/02/15(金) 20:33:30 ID:PrlNrnfV
>>121 携帯で読みこむとHEXファイルらしきものが出てくる。
どうすれば良いのだろうか。
126 :
電脳死 :2008/02/16(土) 11:11:02 ID:zOvQybkg
逆アセンブルするとか。
すみません。 プルアップって何でしょうか? RA0を出力設定にする=プルアップでいいのでしょうか? @A0を出力設定にして、そのままアースに直結したとき、LOWレベルとなり ARA0を出力設定にして、そのまま回路を開いていればHIGHレベルとなる。 でよいのでしょうか? このあたりのことがよく判りません。 自分としては@もAも納得いきません。 どなたか教えてください。 お願いいたします。
あっ、いや、プルアップってわかりますタ。 ところで、プルアップのときに何Ωの抵抗をつけるべきなのでしょうか?
なんのためにプルアップしたいのかによる。
>>128 一般論としては1k〜100kの範囲で適切な値を。
いくつが適切かは用途によるけど、10kとかが多いかな。
ところで、自己解決したなら復習もかねて答えをかいといて
もらえるとありがたいです。
同じ問題を検索してここに来る人もいるかと思うので。
>>130 そうですね、プルアップについては、ここ判りやすかったです。
http://www.wdic.org/w/SCI/%E3%83%97%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97 当初は、よくある赤外線ダイオードとフォトトランジスタの組み合わせで、
光の透過をON,OFFのスイッチにしようと思いました。
5V100Ωでフォトトランジスタの定格電流50mAを得ようとしたところ、
実際には電圧の変化は0.2Vくらいで電流は2mAくらいだったので、
これをどうやってPICに認識させるのかわかりませんでした。
サイトを色々と見てみると、フォトトランジスタのサイトは結構あり、
どれも1KΩ〜10KΩ位の抵抗をつけているのに0V〜5V程のLOW、HIGEを扱っていました。
自分的には、何故にそんなに大きい抵抗を付けるのか判りませんでした。
で、上のサイトでプルアップの仕組みが判るとなるほど納得できました。
で、抵抗値をどのくらいにしたらよいのかは、今の自分の推測では、
電流が流れていればどんなに小さくとも構わない。
むしろ、PICのダメージがより少なくなるなら、出来るだけ小さな電流のほうかよい。
ですが、どうでしょうか?
>>132 入力のポートには電流は流れないからPICにダメージはない。
電流が大きいとそれはそのまま損失になるし、電流が極端に小さいとノイズに左右される。
で、10k程度が扱いやすくて妥当なところに落ち着いたんだね。
10kなら指で触れて発生するノイズ程度じゃ誤動作しない。
ただ、5Vで10kだと0.5mA流れるから省電力を考えた場合もっと大きい抵抗のほうがいい。
世の中にはノイズというものがある。 信号はある程度自由に大きくしたり小さくしたりできるが、ノイズは大きくするのは 簡単だが小さくすることは容易ではない。そのため、ノイズはある程度の大きさを もって常に存在する。 ノイズは電圧に化けたり電流に化けたりする。信号の電圧や電流の振幅を小さくすると、 ノイズによる電圧や電流の振幅変化は小さくならないので、だんだん振幅の変化が信号に 由来するものなのかノイズによるものなのか区別がつけにくくなる。 区別がつかなくなったとき、信号は変化し、正しく伝わらなくなる。
なんか哲学的ですな。
136 :
774ワット発電中さん :2008/03/27(木) 07:42:41 ID:NgOYMGmG
フォトトランジスタはトランジスタ側の コレクタ電流をあまり流せない。 通常のトランジスタであれば増幅率が 品種にもよるけど100程度はあたり まえですが、フォトトランジスタでは光伝達 効率でせいぜい100%、つまり1程度 しかありません。 よってコレクタ側の抵抗を大きくすると ノイズ等の影響を受け、小さくしすぎる と正常に動作しなくなります。
137 :
774ワット発電中さん :2008/03/27(木) 20:55:54 ID:dUeTsevk
PIC16F84Aからスピーカーに繋いで音を鳴らしてみました。 スピーカーでには8Ω0.4wと書いています。 RB0からスピーカーに繋いで鳴らしたところ、音がとても小さいのです。 まず、この8Ω0.4wってなんだろう? というレベルの質問なのですが、PICの出力が5vで8Ωなら625mA!!! そんなまさか? いや0.4wなのだから、80mAより流さないでくれ。という事なのか? いや、1箇所のソース電流で80mAなんて無理だし、この辺どうなっているのでしょうか? そして、スピーカーの音量を上げるにはどうすればよいのでしょうか? よろしくお願いします。
>>137 トランジスタでも挟め
ってか、直接接続はPIC壊す可能性あるから注意な
テスターで測ったけど、8Ωなかったよ。 とか言って釣ってみる?
140 :
774ワット発電中さん :2008/03/27(木) 21:26:36 ID:dUeTsevk
インピーダンス8Ωっていうのは、思っていたのと違う意味があるようなのですが、 どういう事でしょうか?
>>137 そういう時は、サンスイのST-32を使うに決まっているだろうが!
>>137 PIC使う前に、まずは電気の基本を勉強するべきだと思うぞ
143 :
774ワット発電中さん :2008/03/28(金) 19:32:35 ID:jJp6dHnG
144 :
774ワット発電中さん :2008/03/28(金) 19:33:45 ID:jJp6dHnG
ところで、手元にあるスピーカーに書いてある、 8Ω0.5Wの意味を考えてみました。 2Vの電圧をかけたとき、8Ωなので250mA流れます。 250mA×2ボルト=0.5ワット。 つまりこのスピーカーは2Vの電圧を、 いや安全係数を考えて1.5Vの電圧で動くよう設計されている。 ということでよいでしょうか?
145 :
774ワット発電中さん :2008/03/28(金) 19:42:11 ID:jJp6dHnG
更に考えれば、2Vで250mAを流すのか、 PICの出力が5Vなので100mAを流すのか、 ノイズ等を考えたとき、どちらが良いのでしょうか?
149 :
007 :2008/03/29(土) 19:02:39 ID:nIjc0PgH
インピーダンスは、普通のテスターでは、測れないよ。
>>149 そうなんだけど、スピーカーのインピーダンスだったら、まぁ直流抵抗もインピーダンスも
ケタチガイって事はないから、まぁいいんじゃねぇの。
インピーダンス8オームのスピーカーをPICに直接つないだら、PICもスピーカーもアボンする可能性があるには違いないしさw
可能性・・・あるかな? そりゃ何事も100%絶対はないだろうけどさ。
初心者相手だからって、テキトーに書きすぎ
153 :
アンプ経由でないと :2008/04/03(木) 06:49:31 ID:6QUZXvPh
PICで直接スピーカーを鳴らすのは 厳しいです。 圧電サウンダ(圧電ブザー)にしては どうですか? スピーカーを鳴らす場合は
154 :
774ワット発電中さん :2008/04/03(木) 07:53:13 ID:PCMyShPY
20mA以内で駆動できるデバイスにしとくとよい。 1KΩ以上。
155 :
774ワット発電中さん :2008/04/03(木) 07:54:30 ID:PCMyShPY
250やった。
ヒント:D級アンプ
>>144 ワット数の制限についてはソレでいいと思うよ。
でも、PICのポート直接では電流が20mAしか流せない。
という事は、8Ωでは 0.02^2*8 = 3.2mWの出力しか出せないという事
これではまともに音が出ない。
5Vで0.02Aなら 100mWになるので、トランスを入れれば 100mW 出せる事になる。
あるいは、トランジスタで電流増幅して、直列抵抗を入れて電力制限するかだね。
>>157 スピーカのインピーダンス8Ωは純抵抗ではなく、インダクタンス
成分があるのでその計算は誤り。
159 :
774ワット発電中さん :2008/04/03(木) 14:07:09 ID:eLy9+3xH
2πfL
160 :
iwama :2008/04/03(木) 14:34:52 ID:BMvx4lk3
rikio ohkusa is a cheat!a playboy
実はスピーカの2ΠfLはコイルが動くので一定しないのだ。 周波数vsインピーダンスは8Ω一定にはならないんだなぁ。 携帯にもつかわれてるセラミックスピーカがいいんじゃないかな 秋葉で2個で200円くらいだった。
162 :
007 :2008/04/03(木) 19:28:30 ID:f9OFl5kc
初心者です。LED式の体重計の表示を(3行ダイナミック点灯)PIC16F84AでRS232C信号に変換したいのですが、プログラムできないでしょうか?
163 :
☆チベット人130万人以上大虐殺大拷問っ!!!☆ :2008/04/03(木) 19:37:52 ID:p8AjlLgG
>>162 できる可能性はあるが、初心者には難しい。
>>165 初心者じゃなくとも殆ど不可能。
16F84は1KwordしかPROMが無い。
SIF回路も無し、AD変換回路も無し。
シリアルを組むだけでも1Kword近く使うので
体重センサのデータ変換や7セグLED駆動まで
PROMにはまず入らない。
>"LED式の体重計の表示"を(3行ダイナミック点灯)PIC16F84AでRS232C信号に 誰が体重計を16F84で作るって言ってるんだ?
>>162 できるかできないかで言ったら、できる。
ただし、16F84AはRS-232C用のモジュールを内蔵してないから、そのあたりの実装がちょっと難しいかも。
通信用モジュールを内蔵してる16F88にしたほうがいいよ。安いし。
俺のエスパー能力によれば、既存の3桁LED表示式体重計のLED表示信号をPICに接続し、
表示されている数字をPICに読み取らせ、それに対応するシリアル信号をPICから
出力させたい、というのが
>>161 の内容と見た。
1KWあれば十分収まる範囲内だとは思うが、初心者にそれを求めるのは酷だろう。
もっとも、PIC初心者であってもアセンブラプログラミングの技術者であれば何とか
なると思うが。
ダイナミック点灯の速度によっては難易度があがりそうだね。
各桁のコモンで割り込み掛けたいし、シリアルはハードウェアでやったほうがいい。 16F648Aが安くて良いんじゃないかい?
>既存の3桁LED表示式体重計のLED表示信号をPICに接続し、 >表示されている数字をPICに読み取らせ 市販の体重計はLCD表示なので、表示データ読み取りは できないと思う。 LCDコントローラへのコマンドデコードは非常に難しい。
それは
>>171 がLCD表示型のものしか知らないだけ。
LED表示のも、ちゃんとある。
>>162 出来る。
目的があればプログラミングの上達も早いと思うのでガンガレ
ちなみに3桁LEDの体重計はセンサに移動する電極をコンデンサとして使って発振させ周波数を
ワンチップマイコンで計測してる物がポピュラなので、この周波数を横取りすると675でも十分いける。
同様のことを、H8でイーサネットに繋いでやっていたネット家電研究会って、 今はWebサイトが残ってないのね。
ID:Is1CmDoyって、相当現実離れした奴だな。
>>165 >シリアルを組むだけでも1Kword近く使うので
シリアル出力に1Kword近く使うって、どんだけプログラム作るの下手糞なんだよ。
100ワードもあればシリアル出力ルーチンくらいできるだろ。
>>171 >市販の体重計はLCD表示なので、表示データ読み取りは
>できないと思う。
市販の体重計一般を語るとは、よほど市販の体重計に詳しいつもりのようだが、
その盲信はいったいどこから来るんだ。
人格分析すると、 自分が一番偉いと思ってるから、 従わない奴や自分を認めてくれない奴を敵とみて 攻撃するタイプですね。 KやJのタイプ。
>>171 PICにはID:zhZHWLRUのようなタチの悪いのがいるので相手になっちゃだめ。
>>171 そうそう、PICなんかやめてAVRにするべきだよ。
AVRならLCD表示データの読み取りもできるしシリアルだって簡単。
コンパイラもタダで使えるし。
そうそう、プッシーなんかやめてAV鑑賞にするべきだよ。 AVならLCD画面でも見れるしデータの保存もできてシリアルだって食べ放題。 コンドーさんもヒトリで使えるし。 まで読んだ
182 :
007 :2008/04/04(金) 08:09:23 ID:aW7Wym3r
俺のエスパー能力によれば、既存の3桁LED表示式体重計のLED表示信号をPICに接続し、 表示されている数字をPICに読み取らせ、それに対応するシリアル信号をPICから 出力させたい、の内容と見た。 其のままずばりのことです。理解して頂いて嬉しいです。体重計の方式はコンデンサー容量をグラムに変換するタイプです。 ダイナミック点灯は周期1行1ミリセック間点灯。1周期9ミリセック3ミリセックに一度1ミリセックの消える時間があります。 アノードコモンタイプ3行の7セグメント複行タイプです。電源は6Vです。PICでたとえばRB0−7同時にパラレルにDATAをとりこめるのでしょうか? たとえばMOVF RB、0−7 そしてMOVWF RB,0−7のようにできるのですか?
>>182 パラレル入力なら MOVF PORTB,W だよ。(出力は MOVWF PORTB)
もっとも16F648Aか16F88などのPORTA(RA0-7)でセグメントDATA入力、
PORTBでコモン入力とシリアル出力とする方がいいんじゃね?
3行で1msなのに3msに1回1ms休止って時間が合わないように思うが、 とりあえずだいたい1ms毎に変化するなら ボーレートを19200bpsにして コモンは最初の1本だけ見て、そのエッジでループスタート 0.5ms休んで1つ目を見て CR+LF送信 2つ目を見て 1バイト送信+2バイト目送信 3つ目を見て 3バイト送信 とやれば UART内蔵品でなくても実現出来ると思うよ
体重計なんて、値が安定したら一発データを送るだけでいいだろJK.。 何をムヅカシク考えてんだよおまいら? 典型的な技術バカだなw
体重計を単に体重計として使うんなら結果を目で見りゃいいだけだろ なんか面白い用途考えてるんじゃないの? windowsならBluetoothで WiiFitのバランスボード取り込んだ方が簡単だと思うけどな
各桁ごとにPICを使えばいいじゃん。 シリアル通信用にもう一つ。 頭使えよ。
そもそも、
>>162 は、何をしたいのか???
以下はつっこみ
・PIC じゃ、RS232C の信号レベルを満たせないだろ
・一応、これからは、EIA-232 って呼ぼうぜ
193 :
774ワット発電中さん :2008/04/05(土) 01:14:00 ID:9sPW0qLN
>>191 >>162 を読んでやりたいことが理解出来ないなら日本語を勉強した方が良い。
尚、PICは普通のマイコンだからRS232Cの仕様通りの信号レベルを満足出来ないのは確かだが一応動く事は多い。
しかしレベル変換回路だけではプロトコルを実装出来ない。
194 :
007 :2008/04/05(土) 08:12:59 ID:jjveRKAi
皆様の意見大変参考になりました。今意見を元にプログラムとハード製作中です。ほぼ80パーセント完成しました。意見くれた先生方ありがとうです。
195 :
007 :2008/04/05(土) 08:15:53 ID:jjveRKAi
何に使うかは色々に利用可能と思います。簡単な事ですと表示器に(LED&LCD)の値をPICで解析してシリアル転送する事ができるだけで、(5>7だったらS7<9だったらM9以上はL)とかの重さ規格につかったり
196 :
007 :2008/04/05(土) 08:17:42 ID:jjveRKAi
体重計のようにセンサーがコンデンサー容量変化=数値に置き換る装置は例えば火気厳禁の揮発の流量センサーとかに使えるし、地震のゆれセンサーにも使えると、思う。 センサーとしては、信頼度があって安いとゆうことが重要だったのです。それとシリアル転送できるとゆうことは遠隔地にて現場の数値が確認できるとゆうことです。皆様も実験してみてください。
上でも誰かが言ってるけど、LCDはちょっと難しいよ。 できないかも。
198 :
774ワット発電中さん :2008/04/05(土) 11:58:06 ID:jjveRKAi
LCDでも秋月で売ってるLCDキャラクターデスプレイモジュウルだったら可能でしょ?ちゃんとキャラクターDATA送って表示してるんだからそれを読めばできるでしょう?
199 :
電脳師 :2008/04/05(土) 13:02:43 ID:s7AUyFq4
>162では7セグのLEDをダイナミックをと言っなかった? 体重計じゃないけどそれと全く同じようなことを以前にやった。 4桁だったけど8ビットの入力のみで読んだ。 各桁のコモンが出てる時にそのセグメントデーターをサンプルした。0〜9の判定は7つ全部のセグメントを見なくて4つだけでいい。 ダイナミックの方がこの場合楽かも。 ただ、どれかのセグメント検出がとれると無限ループから抜け出られなくなる、何らかのエラー検出が要るかも。 PICではなかったけどプログラムは0x100hいかなかったような‥ 読んだ器械はガイガー計数器ですた。
200 :
774ワット発電中さん :2008/04/05(土) 13:33:09 ID:jjveRKAi
0〜9の判定は7つ全部のセグメントを見なくて4つだけでいい。 この部分もっと詳しく説明してほしいな。参考にしたい。7個ノデーターサンプルするよりらくだよね。
201 :
774ワット発電中さん :2008/04/05(土) 13:45:13 ID:jjveRKAi
秋月のPIC BASIC(AKI−PIC 16F877−20 ICスタンプ仕様の ボードでもできそうだけど、だれかBASICソース書いてくれたら実験できるな。だってPICのアッセンブラ書き込み装置ないもんね。当方もちょっとやってみたいのよー。お願いね。
202 :
199 :2008/04/05(土) 13:49:41 ID:s7AUyFq4
セグメントa〜gのうちどれか4本のパターンと、入力値(BCD)がそれぞれ区別がつくように真理値を探ってみよ。
おもしろそうなのでちょっと考えてみた。 大前提として、 ・0と8の区別のため、gのチェックは絶対必要 ・1と7の区別のため、aのチェックは絶対必要 なので、aとgの2本は確定。 残り2本をb〜fの中から選ぶ、全10通りについてチェックしてみたんだが、 4本だけでで0〜9の判定ができるようなパターンは存在しなかった… 5本だったら判定可能。 ・6でa、9でdが点灯するタイプの場合 abefg のみ ・6でa、9でdが点灯しないタイプの場合 abdfg、abefg、adefgの3パターン どちらのタイプでも使えるようにってことを考えると、「abefg」の5本で判定するのがいいと思う。 5bitデータから0〜9への変換は、条件判定なコードを書いてみたけど22命令でできた。 メンテの容易さを考えるとテーブル引くの楽かな。
204 :
111 :2008/04/05(土) 17:56:22 ID:jjveRKAi
a b e f g 0=L L L L H 8=L L L L L 1=H L H H H 2=L L L H L 3=L L H H L 4=H L H L L 5=L H H L L 6=L H L L L 7=L L H L H 9=L L H L L この組み合わせになったよ
205 :
111 :2008/04/05(土) 18:11:49 ID:jjveRKAi
0=01h 8=00h 1=17h 2=02h 3=06h 4=14h 5=0Ch 6=08h 7=05h 9=04hとゆうことだよね。
206 :
774ワット発電中さん :2008/04/05(土) 18:48:52 ID:1t6u4dii BE:472545735-2BP(0)
TC9109(東芝)ってICが7セグから信号取り出している このICはCB無線機向けで1ch−40ch
207 :
774ワット発電中さん :2008/04/06(日) 05:54:02 ID:vmpTfLsL
7セグLED表示に初めてTB62709Nを使ってみたけど、I/O数減らせて使い勝手いいな
208 :
774ワット発電中さん :2008/04/06(日) 07:40:38 ID:GGJRRKTr
TB62709NはPIC用の表示にむいてる。芋ずる方式でつなげるから最高。
209 :
のうし :2008/04/06(日) 10:42:57 ID:fTawAeGO
稀に見るけど、74や4000シリーズの他にMSM5000とか言うなかなか使い勝手の良さそうな標準ロジック(?)があった。 あれって一体何物? HC160が4桁分入っていてダイナミック点灯させるのとか、他に74や40が複数入ったみたいななかなか使えるやつとかあった。 まぁ、PICやPLDなんかでも実現できるけと復活したら需要がありそうな‥
212 :
774ワット発電中さん :2008/04/07(月) 01:54:37 ID:TwW2vdmt
>20九 起きだよ。 海外メーカーに双肩したとか自惚れて自滅した半導体メーカー
213 :
774ワット発電中さん :2008/04/07(月) 02:24:00 ID:GeLvUZqj
214 :
144 :2008/04/07(月) 22:49:02 ID:V9V5XH9K
>>157 おっ、レス頂いておりました。
ありがとうございます。
実はあの後、どうすれば大きな音が出るか考えていたのですが、
勤め先の工場にある機械のアラーム音がかなり大きくて、
その程度の音を出したいと思い、どんな大きなスピーカーなんだろー
と思ってみてみると、それが圧電ブザーでした。
でマルツで圧電ブザーを買って2SC1815かまして見ました。
しかし、音が小さい。
その回路に8Ω0.50wのスピーカーを繋げるとなかなかいい音量です。
コイルが巻いてあるだけ違うのでしょうか?
しかし、もっと大きな音を出したい。
スピーカーの口径はケースの都合上大きく出来ないのです。
そうなると結局、圧電ブザーでもっと電圧を上げてみるよりないのかと思ったりします。
というか、デシベルを測る計測器ってどんなのがあるのでしょうか。
などと、ぐたぐた書いてみました。
どなたかよろしくアドバイスを頂けたらと思います。
>>214 圧電ブザーはインピーダンス高いから電圧かけないと音量取れないよ。
>>214 圧電ブザーは電圧を上げれば音圧もある程度上がるけど、耐圧が3V位しか無い物も多いし
その辺で売ってる物は大して耐圧が無いので壊れても良い玩具でないなら仕様に気をつけた方が良い。
>>214 出力端子に片側の電極をつなぐ。
出力端子の信号をインバータ介して、逆の電極につなぐ。
出力の効率が倍。
圧電ブザーの発振音に共鳴するサイズの筒が付いてるのはあるな。 サイズはでかくなるが音もでかくなるよ。
>>221 聞いた事が無いのは自分の無知と理解しろ。
>>214 単にブザー音でいいのなら 100円ショップで防犯ブザーを買ってくるのが簡単だ
これをPICで電源の入り切りしてやればいい。
防犯ブザーのケースは共鳴箱になっているから、ケース毎使わないといけない。
防犯ブザーも圧電スピーカー。インピータンスが高いので大きな電力を取るには高い電圧が必要だ。
だから、大抵は3端子のトランスのようなものが入っていて電圧を増幅している。
もちろんスピーカーも共鳴箱を使えば大きな音が出せる。
ただスピーカーそのものが大きいので防犯ブザーのように高い周波数で大きい音を出すのは苦手だろう。
なおスピーカーは低インピータンスだから、電流を増幅してやらないといけない
トランジスタを使って電流増幅する事になる
224 :
774ワット発電中さん :2008/04/17(木) 22:34:15 ID:ge4ZuXQc
BEEPもいいけど エヴァとかで出てくる緊急警報音ってつくれないのかねぇ?
>>224 > エヴァとかで出てくる緊急警報音ってつくれないのかねぇ?
どんなんだっけか?
忘れたよ〜
外部に256kぐらいのROMが欲しくなるな。
229 :
774ワット発電中さん :2008/04/20(日) 00:17:47 ID:sayi/wte
んじゃ、ガンダムのホワイトベースの警報音ではどーよ
230 :
774ワット発電中さん :2008/04/20(日) 01:36:43 ID:J7JQiP5N
リクエストする者は、音源を用意すること。 そうすれば誰かがやってくr
OTTOとは、Orthophonic Transistorized Technical Operationの略
なんのマジレスなんだか訳が分かりません。 > アポロとかの交信の時の「ピー」音とか。 このへんなら、波形までそこそこ忠実にできるかもね。
小野寺武司とロス・オノデラス
237 :
774ワット発電中さん :2008/05/01(木) 20:59:29 ID:DIG/Sw8n
意外にもR2D2をしゃべらせようって神はいらっしゃらないのですね でしたらわたしが・・・・・・・・・・・・ あ、その前にPICを覚えるから始めなければorz ネ申..._〆(゚▽゚*)には遠い
パソコンなら初音ミク のレベルまで来てるんだけどね 5桁近い処理能力差があるからな
239 :
774ワット発電中さん :2008/05/02(金) 11:03:37 ID:qUJ97c8u
ぴ、ぽ、空白、速度をランダムで鳴らすわけだから 出来なくは無いだろうけど そもそもPICわかんね(´ー`)チラネーヨ
ピ ポ はシングルトーンじゃなくてダブルだから PICが判るレベルでも簡単じゃないから心配するな。
picを2個使えば無問題
242 :
774ワット発電中さん :2008/05/02(金) 22:51:00 ID:qUJ97c8u
目から角膜が落ちたぜ!
>>241 鬼才現るwwww
246 :
242 :2008/05/03(土) 13:50:37 ID:mpkreOak
ちょwwww
>>243-245 それもれじゃないってばwwwww
この板にVIPPERなんてσ(゚∀゚ オレ!! 様以外ないだろwww
>>238 仮に処理能力があっても歌声データ用にROMが700MBくらい要るからどっちにしても話にならない。
249 :
774ワット発電中さん :2008/05/07(水) 17:13:56 ID:ho2IcC8z
秋月のPICライターVer4.0 購入したのですが マニアル。。。良く解りません、、、。 何処かに詳しい説明の有るサイトは有りませんか?
>>249 その前にどんなBEEP音を出すつもりか教えろ
このスレ前に見たら、data落ちだったのに・・・ 生きていたのか!
datな
スレが停滞していることだし、 音声の出し方でも研究しようぜ!! まずは、「いらっしゃいませ」 って田舎の小さな店屋にあるチャイム見たいのを作ろうぜ。 がんばってくれ。
> 田舎の小さな店屋にあるチャイム見たいの まずこれをうpれ 都会人より
まったく、この板の住人ときたら、二言目には、いや一言目からうpだよ。 どこに行ったから判らんデジカメ探してピンボケに苦悩して、 何とかうpしても、スルーされるだけ。 見たって判んないなら黙ってれアホ。 おれは、何度もうpしろという奴に振り回されたから、 絶対にうpなどするものか!!
> どこに行ったから判らんデジカメ探してピンボケに苦悩して、 「簡単じゃねーか」みたいなのには、カメラ付いてないんだっけか・・・ > 見たって判んないなら黙ってれアホ。 見て判んなかったら黙ってるから、さっさとうpれよカス。
>>255 > 何とかうpしても、スルーされるだけ。
文章の書き方が悪いんじゃないの?
敬語とかじゃなく、あなたがどんな情報を持っていて、何を聞きたいかだよ
相手の立場にたって文章を書く努力をしないとね。
社会人になってから苦労するよ。
「田舎の小さな店屋にあるチャイム」ってマジで何なんだぜ?
イラッシャイマセ アリガトウゴザイマシタ って入ってくる方向に応じて勝手にしゃべるスピーカーつきの装置
名古屋から電車で15分のところに住んでる俺でも聞いたことあるぞw 田舎ですかそうですか。
名古屋から電車で15分って三河安城あたりですか?
あぁ、田舎だな。
263 :
242 :2008/05/17(土) 00:50:17 ID:2oXPScz4
9801のぴぽっ!! をおながいします><;
いつのまにか、リクエストスレになっとるw
267 :
774ワット発電中さん :2008/05/17(土) 10:59:05 ID:+5B40qc9
268 :
774ワット発電中さん :2008/05/17(土) 11:09:31 ID:+5B40qc9
↑の267です。URLをクリックしてもうまく繋がらないようです。 アドレスの窓にコピペしてお聞きください。お手間をおかけします。 ド素人ですみません。
>>267 すごいですね。自分もこんな音を出してみたいです。
周波数は、コンデンサのみによる変化ですか?
ここはすごい(・∀・)スッドレ! ですね!!!!! 光速でアセンブルしたw
273 :
774ワット発電中さん :2008/05/17(土) 23:04:50 ID:+5B40qc9
267です。 みなさま 早速のレスをありがとうございます。
>>269 ありがとうございます。このサイトは以前から知ってましてこのフィルター回路も
1KΩの抵抗を100〜200mHのコイルに変えてみたり0.022μFを〜0.1μF
に変えたりしてみましたが納得の行く物にはなりませんでした。
>>270 音質 音程ともアセンブラ命令語でやっております。
メディアプレイヤーの設定を「表示→拡張設定→グラフィックイコライザ」とすると
波形が見えます。波形の収縮が周波数変化です。
サンプル音源の3つ目を聞いて頂いて低い音になったときに一時停止すると波形が
見えやすいと思います。波形はわずかづつ変えた波形を6種類使っています。
>>271 そう言って頂くだけで救われます。ありがとうございました。
引き続きフィルター回路を探していますのでよろしくお願いいたします。
274 :
774ワット発電中さん :2008/05/17(土) 23:35:42 ID:+5B40qc9
267です。
>>270 補足です。2和音の物は矩形波です。
「カッコー」の「カッ」は「小さい山→大きい山→小さい谷→大きい谷」で
1つの波形って感じです。「コー」は少し段の有る山1つ(のこぎり波)です。
「ピヨ」は矩形波です。割り込みの時間の違うプログラムを2つ用意して
「カッコー」のときと「ピヨ」のときで使い分けてます。
>>273 倍音成分が気になるんなら、フィルタの次数を増やすのが良いかも。
RC(LCも)のフィルタ回路周波数特性は出力インピーダンスで動くので、色々実験したければ
バッファアンプを入れた方が良いですよ。
276 :
774ワット発電中さん :2008/05/19(月) 00:43:45 ID:eLf92X28
267及び273です。
>>275 良きアドバイスありがとうございます。
無音状態でもいくらか電圧が立つようなA級増幅回路を作っていろいろやれそうな
気がしています。結果はまた報告いたします。ありがとうございました。
277 :
774ワット発電中さん :2008/05/22(木) 19:57:43 ID:rpu8ibjT
278 :
774ワット発電中さん :2008/05/22(木) 20:07:09 ID:7VdxFpdY
(・∀・)イイ!!
wavは、せめてmp3くらいに圧縮してうpしたほうがいい
おお、すごいな・・・ 自分もこんなの鳴らしてみたいw
このページは準備中です 申し訳ありませんが、このページは現在利用できなくなっています。しばらくたってからもう一度お試しください。 ご不明な点があれば、ヘルプをご覧のうえ、お問い合わせください。
>URLをクリックではなくアドレスの窓にコピペしてください >URLをクリックではなくアドレスの窓にコピペしてください >URLをクリックではなくアドレスの窓にコピペしてください
284 :
774ワット発電中さん :2008/05/22(木) 23:22:21 ID:rpu8ibjT
267,273,276,277です。 やはりみなさんいたんですね。聞いていただきありがとうございました。 くだらないおもちゃですがよかったら作ってみてください。 部品はPIC16F648A、20MHzセラロック、1μF電解コンデンサ(どちでもいい)、 50KΩ半固定抵抗またはボリウム(これもどっちでもいい)、あと回路図には出てませんが 0.1μF積層コンデンサーを電源の+−間につけてください。まあこれもどっちでもいいです。 あとヘッドホン(100円ショップで可)とDC5Vの電源。 アセンブラの知識がなくても 少し音楽の知識があれば自分なりの曲ができます。 ASMファイルの後半の「TABLE_PTN※」がパート譜です。見ればわかると思います。 前半に「♪テンポ♪」と言うところがあります。数字を減らすと早くなります。 また「♪拍数♪」と言うところが3箇所あります。そこは「TABLE_PTN※」で書いた 行数を入れてください。「TABLE_PTN2」のパートがちょっと音が大きくでるように してありますのでメロディ譜にしたらいいと思います。 音楽のアレンジャーとしても遊べます。 この「ざわわ」もあるサイトのMIDIを耳で適当にコピーしてコードを付けて アルペジオに分散してハーモニーで色づけしました。結構遊べましたが 実験的には失敗作です。 波形も多少いじれます。音色が変わると思います。 今は3音とも指先の輪郭をイメージした波形のつもりです。 「T_A」「T_B」「T_C」のあたりを見てください。たぶん理解していただけると 思います。 しかし音痴は直りません。 拍の間の「プチプチ」でロングトーンがぶつ切りになるのは直りません。 昔のレコード盤の「バチバチノイズ」みたいな音は消えません。 40本足の40MHz対応のPICを用意してまで「ざわわ」をやろうとは 今のところ思っていません。 みなさん おもちゃにして遊んでくださいね。 わからないことがあればお答えします。 (スレを独占する気はありません。適当にあしらっていただいて結構です。 ただ興味を持っていただけたらうれしいとは思います。)
>URLをクリックではなくアドレスの窓にコピペしてください
ごめんなさいごめんなさいごめんなさい
>>284 8MHzで動作できれば、12F683とかでもっと簡単に・・・
あと、気になったところ。
割り込みでレジスタの退避復帰をしてますが、STATUSはmovf使ってOK、
Wレジスタはswapf使わなきゃダメ、だと思います。
メイン側でZを使ってないから無害ですけど。
あとボリュームを回しきったらPICが止まるっていう件。 1kΩとかを直列に入れてもダメ?
287 :
774ワット発電中さん :2008/05/24(土) 01:42:54 ID:EYL+WwgP
284です。 レスをありがとうございます。
>>285 アドバイスありがとうございます。当方アセンブラ歴約1年の新参者なので
勉強不足なところがたくさんあります。使いこなせる命令文の数も知れてます。
今回の割り込み処理の命令形態も自分の持っている参考資料を丸写しで
命令語の理解を全くしておりません。
今までも不都合は無かったのでそのまま使っております。
諸先輩方の書かれた割り込み処理法と違ってるのは承知で使用しております。
8MHzの12F683の件ですがたぶんPWM機能を使えば と言うことだと思いますが
あくまで実験としてやってましたので自分なりに形がイメージできるようにプログラム
で作りました。8MHzでは処理速度が遅くてダメだと言う印象です。
20MHzでも遅いと感じでいます。40MHzなら行けるかも と思っているぐらいです。
もし時間がありましたら貴殿なりの発想で書かれたファイルをお見せ頂けるとありがたく
また勉強になると思います。
>>286 興味を持って頂きありがとうございます。
貴殿の発想でOKです。感触的には5K〜10KΩぐらいになりそうに思います。
不明な点はまたご質問ください。ありがとうございました。
>>284 >拍の間の「プチプチ」でロングトーンがぶつ切りになるのは直りません。
えーと、釈迦に説法とは思いますが、一応念のために見当違いでしたらすみません。
たとえば、曲の歌詞 ♪さとおーーーーーきび の部分ですが、
この♪「おーーーーー」がぶつ切りになるという意味でよいでしょうか?
音符にすると、8分音符そ 8分音符ら 4分音符.し 8分音符れ 8分音符し
ものぐさな為、あなたのプログラムの内容を確認していませんが、
データ的には、そ(の周波数)ら(の周波数)し(の周波数)し(の周波数)し(の周波数)し(の周波数)し(の周波数)し(の周波数)れ(の周波数)し(の周波数)
という具合に発生させていると思います。
で、このままでいけば本来は♪し×6が一続きになるところですが、
あなたのプログラムのラベルT5の時間つぶしの部分があるために、ブツ切りになっていると思われます。
人間は同じ音が続くときに、自分で任意のポイントで細かく切ったり続けたりと出来ますが、コンピューターの場合はそれが出来ません。
ので、あなたのプログラムは8分音符一つにつき、一つの休符を入れています。
おそらく、16分音符.そ16分休符 16分音符.ら16分休符 (16分音符.し16分休符)×6 16分音符.れ16分休符 16分音符.し16分休符
となっているはずです。
プログラム改良のアドバイスとしては、
基本的に次の音が前の音と変わるときは、細かく休符を入れなくて済みますので、T5をコールする必要はなく、その分、直前の音を長くします。
次の音が前の音と同じ場合で、その2音をくっ付けたくない時に、T5をコールします。
今回の「♪さとおーーーーーきび」の部分は、おーーーーーを全てくっつけないとすると、T5をコールする必要はなく、その分、♪しの音を長くします。
見当違いでしたら、おおきな風呂敷を開いて話して済みませぬ。
>今回の「♪さとおーーーーーきび」の部分は、おーーーーーを全てくっつけないとすると、T5をコールする必要はなく、その分、♪しの音を長くします。 ↑↑↑↑↑↑ >見当違いでしたら、おおきな風呂敷を開いて話して済みませぬ。 おっとっと。肝心なとこ間違えますた。 正しくは・・・ >今回の「♪さとおーーーーーきび」の部分は、おーーーーーを全てくっつけるとすると、T5をコールする必要はなく、その分、♪しの音を長くします。 ↑↑↑↑ >見当違いでしたら、おおきな風呂敷を開いて話して済みませぬ。 あと大雑把にしか見ていないのでT5と言っている部分は見当違いかも取れません。 要するに、休符分の時間を作っている部分があるはずです。
あと、調子に乗って書かせて頂くと、回路図の10KΩの抵抗は何のためにいるのでしょうか? トランジスタのベースにその様なものを繋げているのでノイズがバチバチ音になっているのではないでしょうか
あれ、と途中で書き込みしてしまった。 あと、RB0〜トランジスタ間の電解コンデンサ1μFの意味もわかりません。 いやこれは当方が無学なだけなのです。 よくこの状態で電流が流れつづれるなと疑問。 もしや、そのための10KΩなのでしょうか? 両方とるとどんな不都合がありますか? いやはや、電子回路は詳しくないのですが、 ちょうど今コンデンサの振る舞いが謎で勉強しているところでして、 よろしければアドバイス頂けたらと思います。
回路図見たけど、チョと気になった点を書きますね。 アセンブラのソースは見ていません。 ・今の回路だと音を出していない状態でスピーカに電流が延々と流れるので、消費電流と、何よりスピーカに良くないです。 またVRを回しきった状態ではPICからみた交流インピーダンスが低くなるので、出力バッファが無理にドライブして、VDDがドロップしてしまいPICがリセットされていると推察します。 この回路の自体はエミッタフォロア回路に近いと思いますが、エミッタフォロア ググって勉強してみてください。 ・今回の使い方(PICのポートから0 or VDDでドライブ)なら、LED等をドライブするのと同じ回路でも大丈夫です。 (コンデンサ1uFの代わりに抵抗10kΩ程度を付ける、今付いている10kΩは外す) 音出ししてないときはポートは0Vにして置いてください。
293 :
774ワット発電中さん :2008/05/25(日) 00:14:20 ID:04u7m5vU
284です。
>>288 アドバイスをいただきありがとうございます。
少しプログラムの読み違いをされているようです。
サンプルの曲は録音の関係上1分で切れていますが実際は1分20秒ぐらいありまして
1曲終わると約5秒無音状態が続きまた「ざわわ」が流れると言うエンドレスな仕上がり
になっております。その曲間の約5秒をT3,T4,T5でまかなっております。
で こちらの拍の間の「プチプチ」と言うのは拍の変わり目を「割り込みプログラムから
受け取り 次の音の条件を仕入れに行く」と言う作業をしている間の時間経過なんです。
つまりその間 音出しをしていないのです。「段取り変え」に時間を要してしまい無音状態が
ばれてしまっているのです。ここが失敗作と言うわけです。
ですので前のレスでもお話をしていますが「40MHzで動くPICならきっとばれない
だろうけどそこまでやる気はありません。」との旨の発言をしております。
「バチバチ音」はトランジスタ抜きでも聞こえてしまいます。
電解コンデンサは電流の流れのクッション的な作用を狙って付けました。
有るのと無いのとでは音にはっきり差が出ます。音の出が柔らかくなります。
昔LM380Nとか言うICを使ってよくアンプを作りましたがそのときは
入力側には10μF スピーカーの前には470μFもの電解コンデンサーを
付けたと記憶しております。
>>292 アドバイスありがとうございます。
>>267 のあたりから読んでいただくとお解かりになると
思いますが当初は「倍音の除去」と言うテーマでお話を進めていました。そのときに
バッファアンプを付けた後にフィルター回路を考えたほうが良いとのアドバイスをいただき
それなら無音状態でも電流がいくらかでも流れるA級の増幅回路が良いかなと思いましてその
増幅回路を付けました。そのための10kΩです。これも10kが良いのか100kが良いのかは
こちらも試行錯誤でありますのではっきり言って理屈抜きで実験した結果で良い方向に向かう物を
採用している次第です。PICがリセットされる理由もおっしゃる通りであります。
公開した時点で申し上げておりますが あくまで実験途中の失敗作で捨てるのは
もったいない、初心者の(当方も初心者です)方々の参考になればと思い
投稿させていただきました。
ほかのサイトを探しても3和音などの原理やASMファイルの公開などはなかなか
見つからないので ここでみなさんのヒントとなれば とか 上級者のかたにより良い
アドバイスをと思っての投稿でありました。
>>288 >>292 いずれにしても真剣に見ていただきアドバイスまでいただきありがたく思っております。
ありがとうございました。
40MHzで動作する18F1320は如何?
>>293 バッファアンプ云々は私がアドバイスしたものなんですが、この回路からその思想が読み取れなかったので、てっきり方針変更したのかと思いました。
失礼しました。
いずれにしても今のままで使うにしても、スピーカの出力にはコンデンサを入れて、ボイスコイルには
ACのみを流すようにした方が良いです。エミッタGND間にはバイアス電流が流れるように抵抗を入れてください。
ボイスコイルにDCが流れていると、コーン紙が張り付いて音が歪むし、良いこと無いです。
普通はコンデンサをいれてAC結合にします。
回路はググルと出てくるので特に書きませんが、上記は強くオススメします。
アナログ回路は、回路構成はよく知られた物を使って、そこから定数をカットアンドトライで決めていった方が良いかと思います。
はじめっからカットアンドトライだとものすごい大変ですよ。
296 :
774ワット発電中さん :2008/05/25(日) 01:02:28 ID:04u7m5vU
293です。
>>294 おっ いいのが有るんですね。しかも18ピン。
自分なりに調べてましたが40ピンレベルしかないと思ってました。
当方のライターが使用できるかどうか調べてみます。
あとこちらの地方で入手可能な部品かどうかもです。
400円の部品に送料500円+代引き手数料300円と言うのはどうかとも思いますしね。
参考になる情報をありがとうございました。
297 :
774ワット発電中さん :2008/05/25(日) 01:20:55 ID:04u7m5vU
293です。
>>295 重ね重ねアドバイスをありがとうございます。
いろいろなサイトで増幅回路を見てきましたので貴殿のおっしゃるイメージが
わかります。さっそくそれに向けて勉強と実験をして見ます。
あと再度お話が出来たついでにお聞きしたいのですが、
発生している音の音域をグラフ化して見てみると必要な音域と無駄な音域が
1オクターブしか離れていないのです。例を上げると「コーラスグループの音源から
女性ボーカルの声だけ消せ」に近いようなレベルの話なのかも知れないのです。
そうなれば自分の力量的に「やるだけ無駄」と言う結論になりそうですが
どう思われますか?
で 音源から見直そうと言う方向からアプローチをしてこのありさまです。
298 :
774ワット発電中さん :2008/05/25(日) 23:13:45 ID:04u7m5vU
ぴよかっこーはやったことがあるんだけど、矩形波で普通に聴けませんか? あと、ぴよは1オクターブ高い気がします。
>>299 かっこーもぴよも、製造元によって何種類か違う音色がある。
モノによっては
>>298 に似てる。
301 :
774ワット発電中さん :2008/05/26(月) 08:59:40 ID:STXGTJ5M
298です。 さっそくのレスをありがとうございます。 「カッコー」は音程さえあってればそれなりに聞こえるのは実験済みです。 もちろん矩形波でも試しました。それでは面白くないと思いまして 以前有るサイトで「本物と思われる音源」が聞けましてそれの波形 をメモしておりましたのでそれに似せた波形を作りました。 「ピヨ」は実際に信号機の下へ行って録音をしてきてそれを見本にしました。 もちろん「カッコー」も録音して「カッ」と「コー」の音の長さの比率なども 合わせたつもりです、 「ピヨ」は高いと思われるだけなのか周波数を知っておられるのかわかりませんが 資料があればお教えください。お願いします。
302 :
774ワット発電中さん :2008/05/26(月) 10:45:04 ID:STXGTJ5M
298及び301です。
見本にした音源がありました。
(URLをクリックではなくアドレスの窓にコピペしてください)
http://milky.geocities.jp/waewax/up3549.mp3 「カッ」の波形と「コー」の波形が違うところに魅力を感じました。
そして音の立ち上がり 音の経過 音の立下り で波形の乱れがあることで
「本物では?」と思ってしまいました。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
main100
bsf gpio,0
nop ;実際のところ
nop ;作品は批評してもらうために
nop ;アップしたわけではなく
nop ;倍音の除去法を知りませんか?
nop ;と言うことで
nop ;恥を忍んでアップしたわけで
nop ;突付かれると
nop ;気がなえます。
nop ;それに
nop ;このやりとりを見てた方は
nop ;「アップなんかするから・・・・」
nop ;なんて思って見ていらっしゃるんでしょうね。
call sub1
bcf gpio,0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
sub1
nop ;「自業自得」と言う言葉が良く似合いますね。
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end
せっかく卑屈になってもらってるところに関係ないレスをして申し訳ないが、 フィルタリング前のピアノの音にリバーブ掛けたらなかなか良い音色になった 回路的にオペアンプ1つくらいで実現出来ないんかな、リバーブ
>>303 遅延素子さえあればいいんだが、純アナログで使える手頃な遅延素子が
なかなか無いので難しい。
そういうときこそデジタルの出番なんだけどね。
最近のDACを内蔵したdsPICなら1個で実現できそう。
dsPIC使うなら、最初からリバーブ込みの発音もできるけど・・・
ところで倍音って何?
> nop ;突付かれると > nop ;気がなえます。 goto $+1 ;いちいち邪魔臭いレスよこすなや。ウゼーんじゃボケ! これで同じ動作ですよ。
どこぞの山でサンプリングを・・・って思ったら違った。
×採ってきた ○録ってきた
◎採ってきた ×録ってきた
矩形波出力は本質的に倍音を含んでいるから、DACでアナログ信号をだすか、 40MHzのPICでPWM出力しないと、望み通りの音にはならないよ。
>>298 そのラダー型のフィルタだけど、カットオフ周波数が約31kHzと高いけど、望みの動作は出来てますか?
可聴帯域外でフィルタしても意味無いような気がします。
奇数高調波のかたまりやから、BPFで2段ほしいのう。
で、どんな回路にするの? おせーて
316 :
774ワット発電中さん :2008/05/27(火) 00:14:06 ID:XMM6149B
302です。
>>307 301も私です。読んでくださいね。
今調べましたがそのサンプルより確かに1オクターブ高く仕上がっておりました。
私が録って来た音はもう消してしまったので比較が出来ませんが
私の聞き違いの可能性が大きいです。皆様にはどうもご面倒をお掛けしました。
以後気をつけます。いやもう2度と「カッコー」と「ピヨ」には手を
付けないことを誓います。
>>305 >>311 さんのおっしゃるとおり高調波とか低調波とか呼ばれてるモノです。
例えば「ド」の音を鳴らすと1オクターブ上2オクターブ上にも「ド」の
音が発生することです。3オクターブ上ぐらいになると「ファ」とか「ソ」
とかも発生します。そんなことがオクターブ下にも発生します。
原音より上に発生するのが高調波で下が低調波です。
和音になるともっといろいろな音が発生します。
>>267 の2和音のサンプルを聞いてみてください。高音部はノイズの山の
ようにキンキンしてます。2曲目の「くまのプーさん」では低音部には
ハーモニーに合わないエタイの知れないフレーズが勝手に出来ています。
低調波が勝手にフレーズを作ってるんです。
矩形波には倍音の要素がたくさん含まれているようです。
矩形波では無い「ざわわ」は和音ですが比較的倍音が少ないようです。
317 :
774ワット発電中さん :2008/05/27(火) 00:23:12 ID:XMM6149B
298です。
>>313 お聞きなった感想はいかがですか?
ド素人の自分が作った割には比較的邪魔な高音は取れてると思います。
もっと良いものがあれば模範解答をアップして頂けるとありがたいです。
またはド素人でもわかる回路の作り方の説明でも結構です。
あなたのような人が現れるのを待っておりました。
期待しております。
今後ともよろしくお願いいたします。
>>317 あんまり変わらないってのが正直な感想ですね。
そのフィルタの定数ってどうやって決めました?
カットオフ周波数をもっと低い所に持ってきた方が良いと思いますよ。
カットオフ周波数=1/2πRC って式ご存じですか?
正直あまり計算はされていないように見えますが、ある程度計算で定数は決めた方が良いですよ。
あと、カットオフ周波数を低くすれば今よりは改善すると思うけど、
結論から言うと、この回路で完全な倍音の除去は無理です。
素直にDACで正弦波作った方がお望みの音は簡単にできると思います。
319 :
774ワット発電中さん :2008/05/27(火) 00:41:35 ID:XMM6149B
317です。
>>318 式の存在を初めて知りました。
Rは抵抗で単位はΩでよいですか?
Cはコンデンサで単位はFでよいですか?
周波数の単位はHzでよいですか?
この式で求められた周波数より上がカットされるということでよいですか?
DACと言う言葉も初耳です。
よろしかったら教えてください。
「お前には無理だ」と思われるならスルーで結構です。
>>319 318じゃないけど。。。
f、R、Cが何かってのはそれでおk
ですが、カットされるってのは違います。
-3dB減衰なだけ。
まあ、調べてみてください。
>>319 単位はそれであっています。
用語はググってもらうとして、PWMが扱えるのなら、DACの代わりにそれで正弦波を作るのも
良いと思います。
ところで学生さんですか?
理系大学の電子回路学の教科書が一冊あると、RCフィルタなんかは詳細に出ていて参考になります。
古本でも良いので入手されることをオススメします。
細かいこ修正 ×:-3dB減衰 ○:3dB減衰
低調波なんて普通発生しないでしょ
>>320 氏が指摘のとおり、カットオフってバッサリ信号が無くなる意味でないので注意。
325 :
774ワット発電中さん :2008/05/27(火) 01:15:56 ID:XMM6149B
319です。
>>320 >>321 ありがとうございます。
A/D変換の逆って感じでよいのでしょうか。勉強してみたいと思います。
しかし正弦波限定の話になってしまうのですか?
PICでいろいろな波形を作るのも楽しみのひとつだったんですけどね。
年齢の話なんですが。。。実は高3、高1、小2のガキがおります。
学歴は工業高校の機械科卒です。
私がガキの頃少し電気工作に手を出してまして、今この年になってまた
やってみようかなと思って色々なサイトを回っていたら「今はPICの時代
だ」と言う流れを感じましてPICの世界に入りました。
アドウィンと言う会社の出している「PIC入門・アセンブラ編」と言う
学習教材を購入しましたが途中で落ちこぼれまして あとは自分勝手に
独学でいじって遊んでいました。そして最近この掲示板の存在を知り
お世話になろうと思ったわけです。
ですから予備知識は「0」です。専門用語も公式も知りません。
でもド素人なりにPICは楽しめます。実際アセンブラを勉強して1年ぐらい
で ここまで楽しんできました。またいろいろとお世話になると思いますが
よろしくお願いします。 今日はこれで寝ます。 おやすみなさい。
326 :
774ワット発電中さん :2008/05/27(火) 01:18:43 ID:XMM6149B
>>323 くまのプーさんに聞こえる地を這うようなフレーズは何なんでしょう。
心霊現象なんでしょうか?
>>316 > 例えば「ド」の音を鳴らすと1オクターブ上2オクターブ上にも「ド」の
> 音が発生することです。
矩形波って奇数倍じゃなかったっけ? 鋸が整数倍で、偶数倍はなかった気がする。
O4Cを発すると、3倍のO5G+、5倍のO6E、7倍のO6A・・・じゃないのけ?
fc=1/2πCR のCって現実に即してμFにしてほしい。
330 :
774ワット発電中さん :2008/05/27(火) 08:59:39 ID:XMM6149B
316です。
>>327 「FviewD」とか言う発生している音の音域をグラフ化して見せてくれるフリー
ソフトを使用しているのですが間違いなく1オクターブ上にも2オクターブ上にも
音の発生が示されています。フリーソフトだけにいい加減な表示をしてだまされてる
んでしょうかねえ。
勉強をしてませんので知識的な事柄は「0」です。試して見た内容でお答え
しました。 間違ってるなら訂正、撤回いたします。
331 :
774ワット発電中さん :2008/05/27(火) 09:12:14 ID:XMM6149B
せめてpngやjpgやgifとかに圧縮しようよ
334 :
774ワット発電中さん :2008/05/27(火) 21:02:32 ID:XMM6149B
335 :
774ワット発電中さん :2008/05/27(火) 21:53:29 ID:XMM6149B
プログラムコードは確認してないが、矩形波のHとLの長さが違ってるんじゃないの?
矩形波は倍音の塊だから出るのが当たり前でしょ? 複数の正弦波の集合が矩形波だよ。 あとスペアナソフトで見たほうが判りやすいんじゃない?
338 :
774ワット発電中さん :2008/05/27(火) 22:47:42 ID:XMM6149B
335です。
きのう
>>327 さまから矩形波は奇数倍だと言うことで毎オクターブには出ない
ような内容を聞きましたが だれの話が真実なんでしょう。それにHLの比でも
矩形波に区別を付けるのでしょうか?
>>335 前にltspiceかなんかで確認したことがあるんだけど、
矩形波
-->奇数倍にピーク、ピークの高さは順に-20dB/decで減衰
三角波
-->奇数倍にピーク、 同 -40dB/dec
鋸波
-->整数倍にピーク、 同 -20dB/dec
狭いパルスの連続
-->整数倍にピーク
意味不明
<--偶数倍にピーク、 同 いろいろdB/dec で合成
こんな感じだった。
ちゃんとまとまったWebページとかあったら教えてほしいなぁ >>詳しい人
矩形波は波形の立ち上がり・立ち下がりが「矩形」になっているだけで、 デューティ50%とは限らない。 矩形波のうち、デューティ比50%のものは奇数次高調波しか含まない。 それ以外は偶数次も含む。
342 :
774ワット発電中さん :2008/05/27(火) 23:00:29 ID:XMM6149B
335です。
>>339 さま
すみません。無知でぜんぜん理解できません。
矩形波は奇数倍にピーク→最高に発生する。と言う意味ですか?
んで偶数倍にも出るには出ます。 って意味ですか?
お教えください。 面倒なことを聞いてすみません。
343 :
774ワット発電中さん :2008/05/27(火) 23:07:10 ID:XMM6149B
335です。 ごめんなさい。私は根本的なところでつまづいているのかも知れません。 440Hzの奇数倍 440x3 440x5 440Hzの偶数倍 440x2 440x4 と言う理屈で良いですよねえ? 無知ですみません。 教えてください。
--------- ここから100レスくらいフーリエ変換の話 ---------
345 :
774ワット発電中さん :2008/05/27(火) 23:15:26 ID:XMM6149B
1日や2日で理解できそうな話じゃなさそうですね。フーリエ変換
のこぎりや矩形波から音を作る、減算方式のシンセサイザを解説してるページだとかには 簡単に必要な事だけ書いてあるかも。俺には書けない
>>339 >>345 まあ、フーリエ級数展開でやることは定積分ですから。。。
その辺はググれば出てくるとして、
>>341 に書きましたが、周期的に繰り返す波はすべて(?)正弦波の和で表せます。
矩形波の場合は、
基本となる周波数の正弦波と
基本波の三倍の周波数で1/3の振幅の周波数と、
基本波の五倍の周波数で1/5の振幅の周波数と、
...(ずっと続く
を足したもの。
これはHとLの比が半々なら。
比が変われば含まれる周波数成分が変わってきます。
だから、偶数倍の正弦波を含むようになります。
ピアノの場合は知りませぬ。
>440Hzの奇数倍 440x3 440x5
>440Hzの偶数倍 440x2 440x4
おkです
349 :
774ワット発電中さん :2008/05/27(火) 23:47:22 ID:XMM6149B
ちょっとずつわかってきました。
440(ラ)x3=1320(2オクターブ上のミ)
440(ラ)x5=2200(3オクターブ上のド#)
グラフの通りです。
>>335 の波形はHLの比率が1:1の矩形波です。
>440(ラ)x3=1320(2オクターブ上のミ) どういう計算してんだ? 3倍音は3オクターブ上の同音なんだが。
351 :
774ワット発電中さん :2008/05/27(火) 23:57:55 ID:XMM6149B
392(ソ)x2=784(ソ)
392(ソ)x4=1568(ソ)
292(ソ)x6=2352(レ)
レの位置が違ってますが発生してる音階は一致してます。
>>331 は偶数倍です。
波形は足の指の輪郭のような波形です。(3本足)
352 :
774ワット発電中さん :2008/05/27(火) 23:58:40 ID:XMM6149B
↑訂正(3本指)
あ、ごめんミスった
354 :
774ワット発電中さん :2008/05/28(水) 00:01:39 ID:XMM6149B
そうなんです。 3オクターブは 3倍音ではないのです。 盲点でした。
355 :
774ワット発電中さん :2008/05/28(水) 00:03:45 ID:XMM6149B
同じ音階になるのは x2 または ÷2 だけなんですよね。
356 :
774ワット発電中さん :2008/05/28(水) 00:08:35 ID:ibl0esfE
>>349 で「ラ」の奇数倍音で「ミ」と「ド#」が出ることがわかりましたが
この3つで 「A」と言うコードの和音が完成してます。
単音で和音の要素を持っているんですね。
なんだか話が出来すぎて感激してます。
357 :
774ワット発電中さん :2008/05/28(水) 00:13:47 ID:ibl0esfE
392(ソ)x2=784(ソ) 392(ソ)x4=1568(ソ) 392(ソ)x6=2352(レ) 392(ソ)x8=3136(ソ) 392(ソ)x10=3920(シ) 偶数倍でも ソ シ レ で「G」と言うコードの和音が完成します。
358 :
774ワット発電中さん :2008/05/28(水) 20:50:03 ID:dhBWcxXe
クラフトワークが聞きたいです><;
359 :
774ワット発電中さん :2008/05/28(水) 22:28:19 ID:ibl0esfE
トランペットは倍音の楽器だと聞きいてましたが 3年前に足を洗いました。 しかし試しに周波数を整数倍したところ トランペットの音階の進み方と全く一致していたので驚いております。 やはり倍音の楽器でした。
360 :
774ワット発電中さん :2008/05/29(木) 20:57:05 ID:d1SQ2Xlz
珍しく誰もアゲアシをとって来ませんねえ ジュウバコノスミムシも来ません。
そんなえさd
362 :
774ワット発電中さん :2008/05/30(金) 18:47:48 ID:Ts55p0ys
ド素人なので無知です。 教えてください。 「DTMF」というのは電話のピポパ音のことでよいのですか?
365 :
774ワット発電中さん :2008/05/30(金) 19:52:32 ID:Ts55p0ys
>>363 ありがとうございます。
やっぱりそうですか。
ご飯食べたらチャレンジしてみます。
366 :
774ワット発電中さん :2008/05/30(金) 23:19:31 ID:Ts55p0ys
ピポパできました。PIC12F675で作りました。プログラムは「ざわわ」の改造です。
http://milky.geocities.jp/janjanjan_ufo/PIPOPA.wav (毎度のようにURLをクリックではなくアドレスの窓にコピペしてください)
100円ショップで売っている耳もとスピーカーを接続しその上にピポパ電話の受話器のマイク部を
乗せて聞かせてください。
某電子機器メーカーの技術相談につながります。平日祝祭日を問わす日中は受付時間内
ですので20:00以降の留守電の時に試してください。
パソコンのスピーカーではうまくつながりませんでした。100円ショップのスピーカー
(おにぎり型)が一番よくつながりました。
367 :
774ワット発電中さん :2008/05/31(土) 17:32:57 ID:0BbkmhM6
上の補足 スピーカーをいろいろテストしてみました。 ダイソーのスピーカーはダメでした。 ダイソーの耳もとスピーカーTVspeaker CD-6268ステレオ(俵型 黒) X ダイソーの耳もとスピーカーTVspeaker CD-6263モノラル(薄型 黒) X ダイソー以外の100円ショップのメディアスピーカー(薄型 ブルー) (本体にはHappyStationと表示) X _________________________________ _________________________________ ダイソー以外の100円ショップの耳もとスピーカー(おにぎり型 黒) (本体にはTVspeaker CD-3288) ◎ ダイソー以外の100円ショップの耳もとスピーカー(俵型 黒) (詳細不明ダイソーのCD-6268と形状は類似) ◎ ◎のものはサンプルの音の倍のスピードでも電話は反応しました。 東芝dynabook AX/2525CMSのスピーカーは上のサンプルを聞かせてOKでした。
矩形波で生成したものをテストしてみたらどんな結果になるかな?
369 :
774ワット発電中さん :2008/05/31(土) 18:28:38 ID:0BbkmhM6
>>368 こんにちは。製作者です。
私も無知で試行錯誤の上の結果なんですが
製作過程で思ったことは電話側は波形なのか音色なのかはわかりませんが区別
して聞いてます。こちらが作った波形のほとんどを認識しませんでした。
自分の作った波形は正弦波とは程遠く 曲線ではなくてかなり荒い階段的な波形で
自分の耳で聞いて正弦波っぽく鳴る音の波形を見付けて行きました。
しかしそれでも正弦波には程遠いのでスピーカーの周波数特性の力を借りて
正弦波に近い状態(波形なのか音色なのかはわかりません)に仕上がっている
のだと思っています。
仕上がったものを電話に聞かせている最中に近くで雑談をしてても
TVがうるさくてもすぐ後ろでピアノを弾いてても電話は信号を受け入れました。
鳴らしている周波数も結構アバウトな誤差がありますが電話は受け入れてくれてます。
認識してるのは電話というより交換機だった気が。 もし、周波数特性で音色が変わって認識できているとしたら 電話機のマイクにも影響されてると思うので、つなげてる電話機によって結果が変わってきそうだ。 あと、番号が117のやつも作ってくれないか? 技術相談の番号だと、こっちでテストしずらい。
372 :
774ワット発電中さん :2008/05/31(土) 19:57:30 ID:0BbkmhM6
373 :
774ワット発電中さん :2008/05/31(土) 20:00:04 ID:0BbkmhM6
>>373 DTMF音を数字へ変換して表示してくれる物。
自分も持ってるが、結構よく解析してくれる。
375 :
774ワット発電中さん :2008/05/31(土) 20:12:15 ID:0BbkmhM6
>>374 了解です。
それがあると便利そうですね。
でもお遊び感覚でやってますので あの手この手 って感じで進めてます。
376 :
774ワット発電中さん :2008/05/31(土) 20:16:48 ID:0BbkmhM6
DTMF - Wikipedia でこんな内容見つけました。 音声信号であるので電子機器でなくてもよく、音叉や笛などでも発信可能である。 いつの日かの投稿!特ホウ王国では、このDTMFの周波数と同じ声が出せる姉妹が出演して、 時報に電話するという企画があった。 後にその企画を東京放送が「見物人の集まる実験室オモシロ科学マジック50連発スペシャル」[1]で 完全に同一の趣旨で剽窃したが、こちらは技術的な知識の欠如からDTMFを平均律音階で 解釈したために実際の接続動作までに数時間を要するという醜態を演じた。[2] でも スピーカーを変えると認識しなくなるんですよねえ。
自分の家の電話の子機と
PCにいつもつないでいるオーディオテクニカのヘッドフォンでは
>>372 は7のところだけ反応
自作のサイン波の117は全反応
矩形波は無反応
三角波も無反応
だが、ポケステのDTMFソフトのどう聞いても矩形波は全反応
というちょっと謎な反応の仕方してる
378 :
774ワット発電中さん :2008/05/31(土) 20:40:25 ID:0BbkmhM6
今 ノートパソコンを電話のところへ持って行きいろいろやってみた。 やっぱり接続するスピーカーで 認識したりしなかったりする。
>>378 生成している音の周波数偏差が大きすぎるだけでしょ。
380 :
774ワット発電中さん :2008/05/31(土) 20:50:11 ID:0BbkmhM6
新しい発見があったので報告します。 今まで反応しなかったダイソーのスピーカーにタオルを乗せて聞かせたら 117につながりました。ノイズ? 倍音? 音色?そんなところでしょうか。 コモッタ音のが有利とか? 確かに電話のピポパ音はこもってますよね。
381 :
774ワット発電中さん :2008/05/31(土) 20:51:34 ID:0BbkmhM6
>>379 周波数のチューニングがあってない ってことですか?
383 :
774ワット発電中さん :2008/05/31(土) 20:56:25 ID:0BbkmhM6
>>382 だったら スピーカーを変えると音楽が音痴に聞こえる って理屈になりませんか?
スピーカーでチューニングがかわるとは思えません。
無知ですみません。 わかりやすくお願いできますか?
>>383 そういう理屈にはならないよ。
スピーカでチューニングが変わるとも書いてない。
理屈自体は簡単だが、説明の文章を書くのが面倒なので、
とりあえずチューニングが合ってるか外れてるのかを先に確認してくれ。
チューニングが合ってるなら俺の理屈は的外れってことで、説明の必要がなくなるから。
質問者側も、回答の手間がなるべく少なくなるように、そのくらいの手間は
掛けてくれてもいいよね。
ちなみに、DTMFの仕様は周波数偏差±1.5%以内だから、 ±1.5%以内か否かを確認してね。
この場合、問題になってるのはそっちじゃなくて倍音の規定だろ。 矩形波じゃ仕様を満たさん。
正弦波以外だと低群の高調波が高群に悪さしないのかな。
388 :
774ワット発電中さん :2008/05/31(土) 21:07:35 ID:0BbkmhM6
たしかに 周波数はアバウトです。合ってません しかし OKなスピーカーがあって NGなスピーカーがあるのはなぜだろう と言う疑問がまずあります。 それは 周波数がずれてれば どんなスピーカー でもNGになると思います。 今さっきの実験では スピーカーの上にタオルを 乗せたらNGのスピーカーがOKになりました。 と言う疑問も生まれました。 周波数のずれとOKのスピーカー、NGのスピーカーの関連がわかりません。 わかれば 教えていただけませんでしょうか? 無知が適当に遊んでの結果であります。
高調波が悪さしていると仮定するなら周波数特性の違いではないでしょうか。
>>388 >たしかに 周波数はアバウトです。合ってません
まずはそれを合わせてからだな。仕様を満たさないのに動作が不安定とぼやいた所で話にならない。
そのままやるならオカルトなので、その筋の人を相手にするしかない。
おーおたとか。
391 :
774ワット発電中さん :2008/05/31(土) 21:15:49 ID:0BbkmhM6
>>389 私も高調波がくさいかな と 思い始めました。
タオル乗せるとOKになるぐらいですからね。
392 :
774ワット発電中さん :2008/05/31(土) 21:22:29 ID:0BbkmhM6
人の声で反応する とか 口笛で反応するって 記述がありましたので 周波数の ずれ てことは そんなに真剣に考えておりませんでした。 しかし 今調べてみると+−2.0%ぐらいの誤差ではありました。 自分で遊ぶおもちゃとしては 満足しております。 ただ スピーカーを変えると認識しないのはなぜかな と 思っただけです。 みなさんに 無駄なお気遣いをさせてしまい申し訳なく思っております。 いくらかでも勉強になりましたことを 感謝いたします。
393 :
774ワット発電中さん :2008/05/31(土) 21:42:16 ID:0BbkmhM6
今再度 計算しました 低群 697Hz→700 770Hz→768 852Hz→850 941Hz→952 高群1209Hz→1190 1336Hz→1319 1477Hz→1484 と言う結果でした。 これはOKですか?NGですか? 自分的には1209Hzのところがきついですが 大負けでOKにしたいのですが・・・
なんで実測じゃないんだ? それじゃ確認にならんだろ。
仕様から外れた部分でどういう動作をするかは未定義なのだろうから 受信側の機器を詳細に調べないとわからないでしょう。
396 :
774ワット発電中さん :2008/05/31(土) 21:50:11 ID:0BbkmhM6
ごめんなさい 機器がありません。 PICのシュミレータでストップウオッチ機能で計算して周波数を割り出しました
それじゃ不正確すぎる気が・・・・ PCがあるんだから、それで計測してみては
398 :
774ワット発電中さん :2008/05/31(土) 21:53:53 ID:0BbkmhM6
>>395 こちらが調べられることは電話がつながるか どうかしか解らないのです。
受話器の向こう側のことは わからないのです。ずみません。
399 :
774ワット発電中さん :2008/05/31(土) 21:55:13 ID:0BbkmhM6
>>397 フリーソフトでもありますか? 有償なんでしょうか?
401 :
774ワット発電中さん :2008/05/31(土) 22:01:10 ID:0BbkmhM6
402 :
774ワット発電中さん :2008/05/31(土) 22:23:09 ID:0BbkmhM6
WaveSpectraで計測した結果は
>>393 と全く同じ数値でした。
しかし 高調波の多さと大きさ(強さ)に驚いております。
原因はこの高調波なのかも知れません。
403 :
774ワット発電中さん :2008/05/31(土) 22:51:10 ID:0BbkmhM6
みなさん どう思われます?
どう思われるかって聞かれても皆困ると思いますよ。
405 :
774ワット発電中さん :2008/05/31(土) 22:58:31 ID:0BbkmhM6
さっきまでいろいろ教えていただいてたものですから 急に静かになってしまったので 見捨てられた気分でして・・
自分の為に24時間スレにハリツケと要求しているのですね。
407 :
774ワット発電中さん :2008/05/31(土) 23:02:05 ID:0BbkmhM6
そういう言い方はお好きですか?
>>407 言いすぎ。
誰もが24hずっと見てるわけじゃないんだから、レスがすぐ帰ってこないのは当然ですよ。
>>406 の発言は妥当。
可能性その1: DTMFの低群、高群の出力レベルが異なっており、正常なDTMFとして 認識されない。 スピーカや音響路の変更によってたまたま原信号の信号レベルが近付き、 正常なDTMFとして認識された。 可能性その2: DTMFの低群、高群の出力レベル自体は大きくは違わないが、どちらかの 周波数偏差が大きいため、そのままではBPFバンク通過後の信号レベルが 大きく異なってしまい、正常なDTMFとして認識されない。 スピーカや音響路の変更によってたまたまBPFバンク通過後の信号レベルが 近付き、正常なDTMFとして認識された。 可能性その3: 原信号のうちDTMFを構成する周波数以外の信号のレベルも監視しており、 その信号レベルが高いと正常なDTMFとして認識されない。 スピーカや音響路の変更によってたまたまその「その他の信号」のレベルが 下がり、正常なDTMFとして認識された。 可能性その4: スピーカまでの距離のバラつきによって、信号レベルがバラつき、DTMFの 認識結果が変わった。 他にも可能性はあるかもしれん。
音を出す長さも関係するよ。
ID:0BbkmhM6さん どう思われます?
>>411 確かに。しかしプログラムコードが同一で、スピーカの変更や「タオル乗せ」の
有無だけで発生する違いとしては、音長は可能性から除外して良いように思う。
・僻みっぽい
・自分の理解力に期待していない
・ゆえに考えようとしない
・即座に理解できない回答を無視するか曲解する
>>284 の辺りで表現していた社交性らしさを思い出せ
基本的にレスをしてくれている人は真摯にレスをしている
414 :
774ワット発電中さん :2008/05/31(土) 23:56:57 ID:0BbkmhM6
415 :
774ワット発電中さん :2008/06/01(日) 00:16:29 ID:AjBy86aO
>>407 です。
みなさま ご迷惑をおかけしまして申し訳ありません。
そもそもここへお邪魔しようと思ったのはこのスレッドのタイトルにもありますように
【初心者】【親切に】と言う見出しを見てのことでしたが みなさんのおっしゃる内容が
自分にはほとんど理解が出来ない状態だったので ひとつひとつ馬鹿のように聞いてまわって
いました。
>>408 さまのおっしゃるとおりです。
今日も 周波数についても+−1.5%が規定の範囲内だと言うことを始めて聞かされ
調べるソフトも紹介され さっそく調べて報告をと思っていました。みなさんを待たせてると勝手に思い込み
急いで計測をして戻ってきましたが応答がなかったためあのような発言をしてしまいました。
みなさんにはみなさんの都合があるわけでまったくこちらの思い上がりでありました。
申し訳なく思っております。 すみませんでした。
いいよ、いいよ。 このスレの住人の中には、スレタイの【初心者】【親切に】なんてのを忘れている人がいる。 意味のない野次を飛ばしたり、相手を完全に見下してきたのだ。 そして、同じ教えるのでも感謝されるところで嫌われるような書き込みをしてきたのだ。 そんな心無い一部の人が改心することを願っているよ。
417 :
774ワット発電中さん :2008/06/01(日) 00:50:40 ID:AjBy86aO
>>407 です。
>>410 さま 参考になる考察をありがとうございます。
先ほど入手したWaveSpectraと言うソフトで調べた結果ですが低群、高群ともに音の強さは同じでした。
しかし低群、高群の音の強さを「10」としたときに低群、高群ともに4倍数の周波数に「8」ほどの
強さの高調波(?)が発生しその後ろにも整数倍の周波数に最高でも「7」程度の強さの周波数が複数発生
しているのがわかりました。
先ほど試した「スピーカーにタオルを乗せると正常に認識される」と言う内容から考えると原因は
>可能性その3
そのものズバリと考えられます。
先ほど試しにNGしか出なかったスピーカーを分解しコーン紙の前に丸く切ったハギレを2枚入れて
セットしたところ100発100中の勢いで電話がつながりました。やはり低群音、高群音 以外の音が
邪魔をしていたと考えられます。
そのことからも
>可能性その3
が原因だったと思います。 ありがとうございました。
418 :
774ワット発電中さん :2008/06/01(日) 00:57:40 ID:AjBy86aO
あともうひとつです。 関係あるのかないのかわかりませんが、ダイソーの物はインピータンスが32Ωと なっております。 その他のものは8Ωです。そのことも関係あったのでしょうか? 音量的には8Ωの物と同じ音量に聞こえました。いずれも105円の商品です。 この件に関しましてはとくに回答は求めませんのでスルーでも結構です。
419 :
774ワット発電中さん :2008/06/01(日) 01:09:33 ID:AjBy86aO
>>415 です。
>>416 さま 暖かいお言葉 心にしみます。
無知な新参者ですが今度ともよろしくお願いいたします。
低群の高調波が高群の周波数解析に悪影響を与えているに一票。 昔解析ソフト作ったときに同じような現象にあったことがあります。 NTTの加入者回路がどの程度まで真面目にDTMFの解析をしているか判りませんが、 高調波で変なところにスペクトルがあると、周波数弁別するときにS/Nが悪くなって 上手く認識できなくなります。 スピーカを分解して云々の下りで気になったけど、出力レベルが高すぎてスピーカが飽和してませんか? 飽和させると歪んでとたんに高調波が沢山出ます。
421 :
774ワット発電中さん :2008/06/02(月) 01:44:34 ID:+AnD++um
>>420 さま レスが遅れて申し訳ありません。
>>417 にも書きましたが低群高群共に基音の次に発生する高調波は共に4倍数の周波数です。
その後ろはかなり密度が濃く頻繁に発生しております。グラフを見たかぎりでは
低群の高調波が高群の基音と重なるほど接近している組み合わせは見つかりませんでした。
しかし どこまでの近さがOKでどこからがNGなのかは貴殿のおっしゃるとおり
NTT側でないとわからないことです。しかしこちらの高調波の強さが強いのは事実です。
基音の強さを「10」とすると4倍数の高調波は「8」ぐらいの強さに見えます。
そしてスピーカーの音の鳴り方ですがまだ飽和には程遠く増幅回路を足そうと思った
ぐらいです。 実際に今日 増幅回路を作りましたがなぜがわずかに発振をしております。
しかし 電話はつながっております。
今日いろいろ実験をした結果を報告しますと 電話は@つながる。A「現在使われておりません」
B間違い電話になる の3つで 無反応というのはまずありませんでした。
間違い電話の原因は相手の人から先方の番号を聞くと こちらは市外局番から発信しているので
012−345−6789などとなります。間違えてかかった先方の番号は
123−4567で どうも最初の「0」を認識してくれてないようなのです。
しかし番号途中にある「0」は「0」として送られます。送信するテンポにも
問題があるのかも知れないと思いました。間違い電話を同じお宅に何度もするところ
までして実験を進めることは抵抗を感じたので途中で中断しました。
レスが遅れて申し訳ありませんでした。また 興味を持っていただきコメントまで
していただき感謝しております。
DTMFは、それなりにきれいな正弦波を出さないと 相手がきちんと判定してくれない・・・はず。 FFT解析ができるなら、まずはきれいな正弦波になるよう、 回路を工夫してみては?
知らない間に話題がDTMFに戻ってるな。
>>421 秋月電子のDTMF解読器キットを作ってそれで解析したら?
>その後ろはかなり密度が濃く頻繁に発生しております。
周波数軸は対数になってますよね?だとしたらこれは当然の結果ですね。
あと、スレで書くんなら、目的をはっきりさせた方がよろしいかと。
DTMF発生器を作りたいのか、NTTの加入者回路のDTMF解読特性を調べたいのかetc。
電話を実験台やおもちゃにすると、とっちめられる法律があったような・・・・
>>423 低群の高調波による高群への干渉が臭いわけだから、低群だけよりサイン波に
近い出力にしたらいいんでないのけ? とりあえず2bitぐらいで。
低い周波数なら、それだけマイコンの仕事をする時間があるわけだし。
実験台やおもちゃを公衆回線につないじゃいけないだけでしょ。 秋月に切替器キット売ってたけど
確か電気的に結合しなければOKだったかと。
最初の0の前になんか送る必要があったと思う 昔の本に書いてあったけどその本がいま手元にない 実家に帰ったら見つかるような気がする
実は0発信が必要な回線だったとか?w
>428 確か電気的に結合しなければOKだったかと。
法律的にはそうだったとしても、間違い電話が発生するようでは
社会人としてNGだろ。
>>425 がアドバイスしているように、何らかのDTMF解読器を用意して
完成度を上げてから、実際の電話でのテストに移るべきだ。
>>428 たしか駄目だったと思う。
昔、キーホルダ型のトーンダイヤラを設計した事があるけど、利権があるらしくて許可を貰った気がする。
ちなみにトーンダイヤラは専用ICが安く色々出てて、全てちゃんとした綺麗な波形。
>>432 確か電電公社からNTTに変わったあたりでOK(事実上の黙認)になったような。
当時電子手帳でダイヤラ内蔵の奴が結構あったし、それらに技術基準認証
の刻印なりシールは無かったと記憶してます。
ただ、DTMFを送出することで網の操作を行ってるので限りなくグレーだと思いますが。
>>431 >>428 =
>>425 =折れですが、
>社会人としてNGだろ。
過去レスみると大人の方なので、わざわざ書かなくても当たり前だと思ってあえて書いてません。
交換機購入しないとだめか
>>432 え?!電気的に繋がなくてもダメなの?
昔、MSXのPSGでDTMFを出してみたことがある。
回線がパルス契約だったので、DTMF音でメニューを選択する何かで実験した。
MSXのPSGは矩形波のはずだが、ちゃんと認識された覚えがある。
回線自体は操作していないから、それは完全にシロだったのかな?
今は、回線自体に接続しなければい大丈夫みたいだな (交換機の不正操作除く)
>>435 証明書とかをくれる訳じゃ無いけど、上司がNTTに確認したら文句を言われたらしい。
文句ぐらい言わせておけ。 「あんたみたいなのはねーお客さんじゃないの」ぐらいならまぁ許してあげて。
今思えば認可業務って完全に利権金蔓だったんだな
どうしてもDTMF? 戦国行って、携帯につながるインターフェイスキット買ってきて 携帯で通信する方が楽そうだw
みかかに聞くより jateに聞くほうがいいだろ
442 :
774ワット発電中さん :2008/06/20(金) 00:45:29 ID:i9m2u/v/
16F84Aで質問です。 PORTAを全て入力、PORTBを全て出力に設定し RA0は可変抵抗で0〜5Vに設定できるようにし、RB0には抵抗&LEDをつないでます。 MOVF PORTA,W MOVWF PORTB をループ掛けながらRA0を0Vからゆっくり上げていくと 1.2VでLEDが暗く点灯(恐らく閾値付近のためLED高速点滅?) 1.3V以上でLED完全点灯(少なくとも肉眼ではそう見える) となりました。 ということは、PICの入力に2Vを掛けるとHIと認識しそうですが アマチュアの趣味工作レベルなら、この状態で使っても大丈夫でしょうか。
>>442 picの入力端子には、TTLとSTの2種類があります。
RA0〜3はTTLバッファなので、4.5V≦VDD≦5.5Vの範囲では
0.8V以下をL、2.0V以上をHと認識します。
詳しくはデータシートの「I/O PORTS」の項、および「ELECTRICAL
CHARACTERISTICS」の項を参照してください。
>>442 ちなみに、PICにかぎらず、ほとんどのデジタルICの入力端子
(アナログまたはシュミットトリガと明記されているもの以外)
に、HでもLでもない中途半端な電圧を入力すると
大きな貫通電流が流れて、最悪破壊に至ることがあるので気をつけてください。
> 中途半端な電圧を入力すると > 大きな貫通電流が流れて どのへんに流れるんでしょうか。
Vddから出力回路周辺を通ってVssへ
447 :
442 :2008/06/21(土) 00:53:48 ID:CsDTBZop
>>443-446 レスありがとうございます
NPNトランジスタをエミッタ接地して
2Vに直列に抵抗はさんでベースに接続
PICの入力端子を5VのHIで吊っといて、そこにコレクタを接続
すると、2V掛かったときはトランジスタがドライブされてPIC入力がLOに
2V掛からないときはHIになる
と自力解決して喜んだのも束の間
ネット検索したら既出もいいとこでした。。。
アマチュアでも趣味でも半端はいけないですね。。。
>>446 出力回路周辺って何?
入力とは関係ないでしょ?
俺
>>446 じゃないけど、
入力回路(これも表現変かな)の間違いだぬ。
Pch-Nch貫通より両方offな電圧域を設ける方向で設計(製造)しないの? いくら極短時間とはいえ、必ずその電圧域は通るわけだし。
>>450 たぶんそうすると恐ろしくtpdが悪化する、
というのが俺の個人的予想。
>450 貫通電流の主役は両方導通してる間の直流電流ではなく、上下の入力容量だから。 コンダクタンスの傾きを多少寝かせて貫通域がぎりぎり出来るかどうかくらいのほうが 常用速度帯での消費電流は小さくなる。 だいたい貫通貫通言うがスイッチのON抵抗は50Ω前後、両方オンで100Ω、5V掛かって50mA …も流れたりはしないよ。1mAとかそんなもん。 ON抵抗がまだ大きい領域が かろうじて重なるだけなんだから。
>>452 製品・品種によりけり。
入力バッファはもともとドライブ能力が低いから貫通電流は少ないが、
出力バッファのようにドライブ能力が高いステージの貫通電流は多い。
出力バッファの入力信号はたいてい十分にエッジが立っていて貫通電流が
流れつづけることはないが、入力バッファ=出力バッファであるような品種では、
入力電圧に応じて貫通電流が数十mA流れ続ける場合もある。
例:
http://www.nxp.com/acrobat_download/datasheets/74HCU04_CNV_2.pdf (VCC=6.0V時、貫通電流のtyp値の最大が20mAを超えている。)
貫通電流ネタの始まりの
>>444 は「デジタルICの入力端子」という一般論だから、
>大きな貫通電流が流れて、最悪破壊に至ることがある
という主張も間違いではない。
ちなみにPICの場合、貫通電流の量の具体的な規定はないが、データシートに
>Analog levels on any pin that is defined as a digital input
>may cause the input buffer to consume current out of
>the device specification.
(意訳:デジタル入力ピンにアナログ電位を与えると、入力バッファが
デバイスの定格を超える電流を消費するかもしれない。)
という警告が書いてある。
まぁ、つまるところその程度なんだよね・・・
デューティー比50% 0〜200Hz のパルスを入力して ・90Hz 未満なら入力と同じパルスを出力 ・90Hz 以上なら90Hzを出力 というプログラムがうまく書けずに困っています。 自分が考えた方法は ○PIC1個目 メインルーチンでパルスの立ち上がり数を無限ループでをカウント タイマ割り込みを掛けて、立ち上がり回数とタイマ間隔から周波数を計算 90Hzより高いならHIを、低いならLOを出力する ○PIC2個目 PIC1個目からの「90Hzより高いか低いか」を入力し LOならパルスをコピーして出力、HIなら90Hz固定出力 タイマ割り込みでパルスの周波数を読むプログラムに どうやってパルスコピーとか固定パルス出力を入れ込んだらいいかわからず こんなお間抜けなフローになってしまいました。。。 アドバイス頂けませんか。言語はMPASMです。
CCP
パルスの立ち上がり回数を調べてたら、例えば、80Hzから100Hzに急に変化したときに間に合わないよな。 90Hzなら10ms以上あるから、立ち上がりから次の立ち上がりまでをカウントしても十分間に合うんじゃね?
>>455 PIC2個使う必要ないんじゃね? 12F683とか1個でも出来そう。
ともかくTimer1とかでパルス幅か周期を計測して
幅:5.55..mS未満か周期:11.11..mS未満なら90Hz以上と判断する。
>>455 ざっと考えただけなので、突っ込みどころがあるかも。
1つのPICでパルス幅測定とパルス出力にそれぞれ1つずつ割り込みを使う。
パルス幅測定にはCCPのCaptureを使う。
パルス出力はタイマ割り込みを使う。
◎Capture割り込み
1. 割り込み発生
2. 90Hzと比較
3. タイマ割り込みの設定値を保持
a.90Hzより低周波のときは、Captureの値を保持
b.高周波のときは、90Hzとなる値を保持
◎タイマ割り込み
1.割り込み発生
2.出力を反転
3.タイマの値を再設定
a.半周期終了のとき、前回の設定値を設定
b.1周期終了のとき、Capture割り込みのとき保持した値を設定
どこまで低い周波数まで計測しなくちゃいけないのかによってタイマの
ビット数とかが足りなくなるかも。
460 :
455 :2008/06/27(金) 00:05:27 ID:7KE2htzW
>>456-459 アドバイスありがとうございます。
スキル晒すのを忘れてました。16F84歴1ヶ月のみです。
PIC CCP でググったら、とても夢が広がりそうな予感がしました。
もっとよく調べて見ることにします。
>>459 の仰る「それぞれ1つずつ割り込み」ですが、
Capture割込みとタイマ割込みを両方有効にさせると
どっちの割込みが掛かっても4番地に飛ばされてしまって
わけわかめになってしまいます。
どっちの割込みが掛かったかによって
割込みルーチンでの飛ぶ先を変えられればできそうですが・・・
16F84よりもっと良い石使わないといけないでしょうか。
>>460 84AでもINTCONレジスタの割り込みフラグを確認することで
複数の異なった割り込みの発生源を特定することは出来ます。
しかし、今回の例ではそもそも84AがCCPモジュールをもって
いないので無理です。
もっとよい石の選択肢としては8ピンのPIC12F683はどうでしょうか。
18ピンにこだわるならPIC16F648AやPIC16F88等になるかと思います。
462 :
461 :2008/06/27(金) 00:27:48 ID:YivgRS+T
あ、CCPの割り込みフラグがあるのはINTCONじゃ無くてPIRです。 前半は一般に、84Aで割り込み発生源を特定する話のつもりでした。 割り込みフラグがINTCONレジスタ以外にある場合でも同様に フラグのあるレジスタを確認することで割り込み発生源を特定できます。 くどい説明ですみません。
463 :
455 :2008/06/27(金) 00:44:59 ID:7KE2htzW
CCPのキャプチャ機能を使うと CCP1ピンの立上りの時のカウンタの値がCCPR1HとCCPR1Lに勝手に入り 次の立上りのカウンタの値とさっきの値の差を取ることにより 1周期の時間が測定できる、ということですか。 そして16F84にはCCPが無いと(´・ω・) 割り込みフラグを見れば割り込み発生源を特定できるのか・・・ アドバイスサンクスです。
初心者ですが、PICライタの仕組みについて質問です。
ライタは種類によって書き込みのできるPICが異なると聞きますが、
どういった問題を解決すれば、対応していないPICの書き込みにも対応できるようになるのでしょうか?
ピン配置の問題だけなら、適当に足の配線を入れ替えてあげれば解決できそうですが、
手近なサイトを見た限り、そんな簡単な問題ではないような印象を受けます。
市販品のライタは高額なので、以下サイトの「1000円以下で作る」ライタを作ってみようと思ったのですが、
説明文の中で「回路を工夫すれば、各種PICに対応できる」とされる理由がイマイチ見えてきません。
ライタごとに対応しているPICが異なる原因とはなんなのでしょうか?
ご存知の方いらっしゃいましたらご教授ください。
ttp://cgi.biwa.ne.jp/~jr3roc/pic/ ttp://feng3.cool.ne.jp/pgm6/pgm5_3.html
>>464 その手のライタは、シリアルポートを信号線として使うと共に、電力供給源としても
使ってる。したがって、電力をウンと食う大容量タイプやP-ROMタイプが苦手。
改造して外部電源化すればいいが「それは格安簡易ライタ?」という話になる。
また、書き込み方式がデバイスや条件によって異なる。それに対応した回路や
ソフトウェアでなければ、当然書き込みはできない。
とりあえず、普通にシリアルポートを持つデスクトップPCなら、問題はないと思う。
個人的なお勧めは、特に手を加えないJDMライタを作って、FENG3氏のライタソフトを
使って、困ったらそこの掲示板で聞く。
466 :
774ワット発電中さん :2008/07/17(木) 21:37:52 ID:iwOKVjzY
もしかしてマルチ?
PIC2つで和音を出すときの話なのですが、 500Khzと300KHzでそれぞれ電圧をオンオフして、同じスピーカーに繋いだとすると。 これで上手くいきますか?
2つの信号をどうやって同じスピーカーに繋いでいるのか (まともなミキシング回路を通しているのか) 回路図を見ないとなんともいえないが、 そもそも500KHzとか300KHzとかは人間に聞こえないと思う。 あなた、コウモリさんですか?
469 :
コウモリさん :2008/07/19(土) 21:36:58 ID:7xn2BlH/
そっか、ミキシング回路がないと駄目なのですね。 ただトランジスタのベースに2つのPICの出力を繋げるだけでは駄目なのですね。
可聴域の広い若者は22kHzくらいまで 漏れは21歳だが15kHzまで 年寄りになるともっと下がる もし本番では500kHzと300kHzを使うとしても テストでは可聴域の5kHzと3kHzあたりで試すのを激しくおすすめ
そもそも、それだけの周波数が出るスピーカーがあるわけないし、振動が空気中を伝わるのか疑問。
>>469 PICの出力をトランジスタのベースに直結じゃダメ。
抵抗をPICの出力とベースの間に抵抗入れればいいんじゃない?
PIC─抵抗┐
PIC─抵抗┴ベース
とりあえず鳴ればいい、ってレベルならこれでいいと思う。
「正しく」MIXしたいのなら、
片方の出力が'H'で、もう片方の出力が'L'のとき
トランジスタのコレクタが1/2 Vddになるように
きちんとバイアスかける必要がある。(エミッタ接地だよね?)
・・・でも300KHzは聞こえないと思う・・・
超音波は(18k)20k〜10MHzといわれてるから その範囲は固体・液体を含め空気中でも伝わると思うよ。 目的違うけど医療用超音波エコーは3M〜5MHzあたり 使うので発音体が存在することも確か。
せっかくマイコンなんだから、ミキシングの計算して結果を1ピンで出せよ。
>>473 でも、医療用エコーは空気中を伝わるわけじゃないと思うんだ。
エコー作れたら面白いかもね。 オイラはいつも脂肪肝って言われるよ orz
>>475 ゼリー塗って検査素子を皮膚に密着させるよね。
皮膚、脂肪、筋肉、繊維組織、骨への反射波を受信するとして。
ピエゾ素子の2次元配列を、時分割で発信・受信させたら、できるものなんでしょうか??
500kHzてPDMとかPWMで低周波を出すんじゃないのか。
479 :
774ワット発電中さん :2008/07/29(火) 00:54:15 ID:ElonF3aj
今までPICの電源電圧を5Vで使っていましたが それ以下の電圧で動かしてみたいと思い (単なる興味) 「PIC 低電圧」などでググってみましたが期待した結果が得られません。 こんな俺に誰か検索ワードを授けてくれませんかorz
型によってちがうだろ pic low voltage
481 :
774ワット発電中さん :2008/07/29(火) 01:52:36 ID:DhRpdJ1g
>>479 使ってるPICのデーターシートを読むべき。
>>479 microchip pic data sheet
483 :
電脳師 :2008/07/29(火) 07:45:30 ID:ctUsvNBH
>>479 検索しないとならないような高度な話なら、質問文内に詳細を書くべき。
オペアンプってミキシングできますか?
できますよ
ということは、PIC×3で和音を出すとして、オペアンプに繋ぐことで目的が達成できるという事ですね。
正しく使えばね。
489 :
のうし :2008/08/01(金) 13:08:54 ID:WXpR9Rfm
>PIC×3で それでいいのだが、このスレの椰子は1個でやりたがる。 イパーイ使えばいいんだよ、このスレは初心者相手なんだから。 でも実際、凝る椰子でもスキルのなさでそーやっている(と思われ)。
×3でも、きっちりタイミング合わせられるなら、 初心者から一歩踏み出してると思う。
指揮をするPICを一つ付けて、そいつの指揮棒でタイミングを合わせれば良いな。
3つのPICに同じクロック入れてクロック数の計算間違わなければ タイミングずれないと思うけど
リセット解除のタイミングが同じならね
494 :
のうし :2008/08/02(土) 17:05:32 ID:uByZNLfb
メロディー用途なんだから個々の内部クロックでも曲はまずずれてこないとおもわれ。 たしか内部のって個々に微調整されて(OSC校正レジスタなんてあるな) かなり正確にしてあるけど‥ 要はリセットを同一にすることだな。 でもこれってすぐ実験できそうじゃん。 ところでPICでメロディーやるライブラリやメロディー集なんかのHページあるの? 音楽著作権なんかでメンドくさそ‥ うpぎぼん!
495 :
774ワット発電中さん :2008/08/02(土) 17:14:44 ID:ctQ/xTdg
さすが脳内(試)言う事が違う。
>>491 -
だからさ、そんなこんなを考えるのは「初心者」じゃないんだってば。
自分をよく見てみろ。ちょっぴり毛が生えてるだろ?
497 :
脳死 :2008/08/02(土) 21:18:55 ID:WJC1R79d
圧電素子は、叩いたりするのなら直結でもいいんだろうけどね・・
500 :
電脳師 :2008/08/08(金) 07:36:48 ID:mH6zq/30
たしかそんなサイン的なことで明かりをon、offするのがあったな。 ベッドから手をあげてメイドに合図するようなのを感知してやるやつ。 Irだか超音波だったような‥ でも手を叩く音を感知する場合はCマイクで高域フィルターを介せばいいとおもわれ。 あと、屋外のそーいったとこでは周囲音が邪魔して開かないかも、何事かと思われるようなサイン音じゃないといけない。 かなり聴き分けれるDSPモンならいいが‥ チャリンコのならフツーに赤外リモコンや超音波みたいな方式がいいやうな‥ たしかスーパーのLCD式値段表示パネルは赤外で店内全域をやっている。 市販じゃボタンを押すと子機が鳴る電波式のがあった。部屋ん中でよくなくす物に予め付けといて使うらしい。
>>498 増幅が必要か否かは、信号の大きさ次第。
まずは信号の大きさを測れ。
502 :
774ワット発電中さん :2008/08/08(金) 16:19:32 ID:FCjg4xzI
>>498 俺 F675 で同じこと(入力だけだけど)したが、
圧電素子直結でOKだったなぁ。
って・・・・A/D 使ってるよな?
HIGHって言ってるってことは?
504 :
500 :2008/08/08(金) 17:58:07 ID:X87/oTlY
505 :
498 :2008/08/09(土) 01:02:03 ID:c1Z/Rkrf
皆さん回答とアドバイスありがとうございます。
皆さんのアドバイスを見て、よく自分のやりたい事を検討したところ
>>498 の「手を叩く音を検知」では要求を満たせないことがわかりました。
やりたいことを箇条書きにすると以下のようになります。
1. 圧電サウンダやスピーカなどを使って、特定周波数(可聴域)の音を2種類検出したい。
2. 1. で検出した周波数の音を「1」「0」として簡易音波通信が行いたい。
2. 1. で使った入力部品を、出力用としても使用したい。
で、上記のような内容を実現できる方法はないかと検索したところ、
バンドパスフィルタで音のフィルタリングを行い、電圧の検出はコンデンサマイクで
増幅すれば可能ではないかと考えました。
方向性として間違っていたらご指摘頂きたいのですが、どうでしょうか。
初心者らしく、落合アセンブラでとりあえず7セグをダイナミッ点灯したっす。
落合アセンブラ なに?
掛布アセンブラとか、衣笠アセンブラとかもあるのか?
秋月汗の事でしょ
高校野球が終わったが、その汗はなんかやだ。
513 :
774ワット発電中さん :2008/08/29(金) 22:17:16 ID:p/Crvq0o
激しく遅レスだが、昔口笛で反応するキーホルダー(中国製)があったなぁ。 樹脂モールドチップで詳しくは不明だけど、入出力は圧電ブザーでした。 恐らく、圧電ブザーの部分を加工調整して共振点を振れば目的の周波数付近で最大電圧に出来る部分が出てくると思う。 実際分解して組み立てたら恐ろしく反応が悪くなったw(共振点がズレた?) 圧電ブザーの部分は真ん中の穴を大きくして加工したものだった。 当時分解して入出力を同じ部分でやってる事に驚いたよ。
84Aでビープ音を作っているのですが 電源入れている間は「ピー」とループして鳴り続けるのですが 「ピー、ピー」とちょっと休符を入れたいのですがどうすればいいですか? とりあえず今のプログラムはこれです よろしくお願いします MAIN BSF PORTA,3 CALL DO BCF PORTA,3 CALL DO GOTO MAIN DO MOVLW D'238' MOVWF DO1 LP1 NOP NOP NOP NOP NOP DECFSZ DO1,F GOTO LP1 RETLW 0 END
アプローチとしては、 1.休符の長さ分何もしないサブルーチンを作る(LP1のもっと長いやつ) 2.MAINを一定時間鳴らした後とめるようにする 3. 1,2を交互に呼んでループさせる タイマーを使う方法もあるけど
>>515 タイマーサブルーチンを作ってやろうかと思ったのですが
2の部分が分からなくて断念しました
一定時間鳴らした後止めるというのが意味は普通に分かるのですが
いざプログラムとして書こうとすると
どんな風にしたらいいのか分からなくて困っています
>>514 一番簡単なのは、MAINループをいま無条件に繰り返しているけれど、
カウンタをつけて一定の回数ループしたら、今度は
MAIN2
CALL DO
GOTO MAIN2
のように、音を出さない時間つぶしのループを作る。
ただ、もちろん、この部分にもカウンタをつけて一定の回数分ループさせる。
カウンタのつけ方はDOのルーチンからNOP
>>517 なるほどそういう風にしたらいけそうですね
自分は1秒くらいのタイマーを
MAIN
BSF PORTA,3
CALL DO
BCF PORTA,3
CALL DO
ここ
GOTO MAIN
に入れてておかしくなって
後々思ったら波形ぶち壊しにしていました
ありがとうございます助かりました!
>>518 フローチャートみたいなのは描かないの?
紙じゃなくていいから頭のなかに。
そうすれば基本的構造は次のようになって、とすぐ浮かぶと思うけど。
main
CALL beep
CALL wait
GOTO main
で、そのあと各ルーチンを考える。
あとさ、NOP、NOPはGOTO $+1にすると、容量が半分で済みます。
520 :
技術奴隷 :2008/09/04(木) 05:38:55 ID:ECgj3Ptz
>>519 >あとさ、NOP、NOPはGOTO $+1にすると、容量が半分で済みます。
容量が有り余ってる時は大して意味が無いな。
逆にNOPで時間稼ぎした方が低消費電力になるメリットがある。
馬鹿の一つ覚えで凝り固まらず状況によって使い分ければヨロシ
>520 GOTO $+1 より NOP*2 だと どれくらい低消費電力になるの? たとえ差があるとしてもこっちの方が大して意味が無いいような
データシートにはそんな細かい消費電力までは書いてなかったはずだが アドレスバスにデータ流さなくていい分減るってことか? しかしNOPだと2回フェッチしなければならないんだが マジレスしてもしょうがないかもしれないけど、 どちらかというとソースコードの見易さや容量と相談すればよろし 消費電力優先ならタイマ割り込みセットしてSLEEP
523 :
技術奴隷 :2008/09/04(木) 12:45:58 ID:ECgj3Ptz
>>521 記憶によれば凡そ1.2割、NOPx2の方が少ない@12F675
ジャンプ命令は規模の大きい加算器やプリフェッチクリア等の回路が動作するので意外と消費電力が大きい。
特に今回のプログラムの様に「LP1」の中でループする時間が長くほとんどNOPが占める場合は
その割合で消費出力が少なくなるので、電池動作ならその分寿命が長くなるし、電源電流を贅沢に確保出来ない用途では有利。
524 :
技術奴隷 :2008/09/04(木) 12:53:31 ID:ECgj3Ptz
>>522 データーシートは最低限の事は書いてあるけど内部回路を妄想すればすぐに気が付く。
NOPだとインクリメント2回だしその他の回路も動作しない物が多いからだろうね。
ソースコードの見易さを追求するなら、指定した数だけNOPを展開するマクロを組めばヨロシ。
技術奴隷さん、お久しぶりです。てか、最近名無しで書き込んでた? > 指定した数だけNOPを展開するマクロを組めばヨロシ。 fillっていうそのものズバリの擬似命令がありますよ。 でも、最近PICをはじめた人はみんなアセンブラなんか使わないんだろうなぁ。
526 :
技術奴隷 :2008/09/04(木) 13:54:07 ID:ECgj3Ptz
>>525 「お久しぶりです。」とか言われてもこっちは「774ワット発電中さん」をしょっちゅう見かけてる訳だが
専ブラなのでスレ毎にコテを設定するから設定してないスレもあるし、PCが8台ほどあって物によって設定が違う。
IEで書き込む時は鯖が重いと、設定してあってもコテが付かない事もあるし…
>fillっていうそのものズバリの擬似命令がありますよ。
そうだね。俺もマクロの中で使ってる。
結局、電力消費の話にすり替えて、記憶のかなたのチラ裏を書きにきただけか・・・
528 :
技術奴隷 :2008/09/04(木) 20:50:32 ID:ECgj3Ptz
チラシは両面か
そもそもは
>>519 みたいな性格の悪そうな奴が解決済みなのにレスつけた事にはじまる。
まともなレスに見えるが。
>>530 最近さ、気に入らないレスを罵倒する性格のよさそうな質問者が目につかね?
いや、気のせいならいいんだ。疲れているせいだろう。
>>532 このスレが腐ってるのは、たまに質問者が現れると寄ってたかって罵倒するところだな。
これじゃスレが伸びるはずも無い。伸ばす気も無いようだけれどな。
正直どうでもいい
>>522 ますます細かい重箱の隅になるが、
>しかしNOPだと2回フェッチしなければならないんだが
NOP×2回とGOTO $+1のフェッチ回数は同じだよ。
消費電力の違いは知らんがw
本当かどうか試しに 12F683 内蔵8MHz 5V で実験 LOOP GOTO $+1 ×32 GOTO LOOP で 851uA LOOP NOP ×64 GOTO LOOP で 777uA 確かに1割位電流少なかった。 ただ最初 動作確認の為にGPIOをON/OFFさせてたら2mA位食ってたから この程度 NOP/GOTO $+1の差なんてどうでもいい差だと思うが 重箱の隅が気になる方はどうぞってかんじ
>536 おお、実測乙
プログラミング言語の性質として、何もしないというNOPの方が 意味が伝わりやすく人間の言葉らしい。 次のアドレスへ飛べなんて分かりづらい命令を使うのは、 ある意味変態としか思えない。
そのへんの街角で「NOP」と言って「何もしない」と理解できる時点で おそらく変態の部類だから、そう気にすることはないよ。
日曜日に休めって言えば良いのに、明日に行けと言うようなもの。明日は勝手にやってくる。
例えなんかどうでもいい 結果が同じなら同じ
じゃあNOPでいいじゃん
543 :
774ワット発電中さん :2008/09/15(月) 22:44:10 ID:P1flOsLN
圧電スピーカーって音質悪いんだな。はじめて実感した。 なんか音が想定と違うorzと試行錯誤していて 圧電スピーカーから、トランジスタ経由のスピーカーに変えるとあら不思議 想定どおりの音へ/(^o^)\
544 :
のうし :2008/09/16(火) 07:19:00 ID:XoxJfZnb
しかーしっ! 今度は再現性が良すぎてDAしたノイズが‥ これを緩和するフィルタが要るけど再現性が良くてまだ何だか。 校内放送で安物のお知らせ/呼出しチャイムを使っていると、あの特有なフニャーンだかポニャーンとかいったきみょーなノイズが乗ってるのが聴こえる。 セコいデジタル回路のボロが出てる。
また変なのが沸いてきた
NOP 2回 と GOTO $+1の比較は NOPx2回は、プログラム領域2ワード消費(GOTO $+1 は1ワード) GOTO $+1は、NOPに比べて1割ほど消費電力多いという結果。 好きな方を使うなり、その待ち時間に他にすることないのかとか ただ待つだけなら動的にクロック下げてみるとか 人それぞれで いいんじゃない。
005 0000 NOP 29: nop 006 0000 NOP 30: nop 007 2808 GOTO 0x8 31: goto $+1 008 2809 GOTO 0x9 32: goto $+1 たとえばこれで goto $+1がプログラム領域半分って言うのは何を根拠に言い張る?
初めて自分でアセンブラでプログラム組んでPICで音楽ならせた・・・ こんなに満足感のあるものだとは思わなかったよw
>548 何を言い出してるの??? NOPもGOTOも1ワードだよ。 NOP 2回とGOTO $+1を比較してるんだけど・・・ 理解できてる? 元が >514 で時間待ちの為に、NOPが連続してる所を NOP 2個 を GOTO $+1 に置き換えたら、同じ時間待ちで プログラム領域節約できるよ・・・ から始まって、消費電力 ウンヌンに なったんだよ。
たとえば1点から4本の直線が出て、各々がすべて直角になる空間。
理屈では解りそうだが、やっぱり解らない。
>>548 はそんな空間の住人ではなかろうか。
>>543 圧電スピーカだから音質悪いってことにはならんが・・・
音質の悪い圧電スピーカ使ったか、合わないエンクロージャ使ったんじゃないの?
555 :
774ワット発電中さん :2008/09/17(水) 18:36:26 ID:yRNlo6ge
PICでプログラムメモリを使い切った事、なんて無いから わかりやすくて、微妙な調整も出来て、消費電力も少ない NOPの方が圧倒的に便利
556 :
電脳師 :2008/09/17(水) 19:01:47 ID:AnhMZ05Y
>>555 LEDチカチカレベルじゃ、使い切らんよね。
558 :
556 :2008/09/17(水) 20:01:59 ID:AnhMZ05Y
最小限10F2xxクラスでも、12bit×512あるから圧縮したコードで日本語で最大1500文字いけるな。
PICはクロック4回で1つの命令を実行します。 これを1サイクルといいます。 PICの命令は多くが1サイクルの命令なのですが、 2サイクルかかる命令(GOTO)や条件によって変わる命令があります。 という詳しい説明も無くGOTO$+1が容量が少なくてよい。 などというのは、相手に説明する能力が乏しい。 プログラムの歴史がいかに分かりやすくを目指して来たのかを理解していない。 ただのオナニーだ。
ここはPICスレなんだからそれくらい知ってて当然でしょ
初心者が来ることを忘れちゃいけない。 それにしてもあまり意味のある論議とは思えないな。
>>559 結局、オナニーは気持ちいい、ということの体現ですか?
PICで和音って、どうならせばいいのでしょうか?
565 :
のうし :2008/09/21(日) 22:13:06 ID:tG2finjp
つうかリンクくらいしてやれよ。 それがPICを2個以上使うやつだったりしてw‥
>>566 勉強になった
どふぁらとしれそとしふぁそは?
音楽教室で習った和音なんだ。耳で聞き分けるんだよ。
なんで、どふぁらでしれそなんだよ。 素直に、ふぁらど、そしれと家。
和音があるなら洋音とかもあるんだろうか
中華とかイタとかもあるぞ。
よくわからんが音楽教室(全てではないが)では一、四、五度っていうか トニック・サブ/ドミナントの響きの違いを教えるのに基準の音を揃えてんじゃないかな。 転回形で音程を似通わせてるというか。理論より音感を覚えろ、って感じか。 ホントのトコは知らん。
すまんけど、音楽教室レベルに噛み砕いて書いてください・・・
楽曲には必ずコードが付いている。和音とはコードとイコールです。 ドから始まりドレミファソラシドの音だけで構成される楽曲をCメジャーという。 Cメジャーは別名ハ長調という。短調については割愛する。 ドラミファソラシドはアルファベットのCDEFFGABに割り当てられている。 さらに、日本式には、はにほへといろに割り当てられている。 ので、ド=C=「は」であり、ファ=F=「へ」であり、ソ=G=「と」である。 和音の基本的な3和音、別名スリーコードは Cメジャーの場合はC、F、Gであり、それぞれ、ドミソ、ファラド、ソシレである。
ファラドっていうと、ドは一個上のド? 音楽教室では、ドミソもドファラも同じドだった。
転回しているのはクローズド・ヴォイシングで教えているからなんじゃ
・・・音楽スレじゃないんだが(^^;;; 基本はファラド。 でもピアノなんかで弾く時にはそれじゃ手の移動量が多すぎるし、 音域が唐突に変わる感じもするからドファラと弾く。 「ファ」と「ラ」と「ド」の3音が鳴っていれば コード「F」という機能に変わりはない。 適切な例えじゃないかもしれないけど、例えば700円払う時 100円7枚でも500円1枚+100円2枚でも、 あるいは千円札出して300円おつり貰っても同じ、って感じかな。
> ・・・音楽スレじゃないんだが(^^;;; 幅広く深い薀蓄は必要だ。 単純に「LEDチカチカ」をロウソクっぽくしようとしただけなのに、 フーリエ変換まで行ってしまうこともある。
>>563 複数のPINから違う周波数の音を出して合成するか、
PIC内で合成したものをPWMで出力すればいい。
>>578 >フーリエ変換まで行ってしまうこともある。
フーリエ変換であのちらちらを再現できるのか!!
来週は息抜きにSimulinkにフーリエ変換実装してみる。
えーと、和音の周波数をただ、混ぜるだけでは、山と谷が埋まって、変な音になるよね? 微妙に間隔でもあけて、少しずつずらしながらやるの?
とりあえず(ソフト的に)一番簡単なのは ポート3本使って、外部で抵抗3本で合成することかな。
>>581 和音って違う音(周波数)を混ぜる(足す)んだけど、山と谷が埋まるのか?
>>583 混ざらないとしたら何が合成されるんだ?
>>584 PICで普通にやれば、0Vか5Vの違いだけだから、
普通に山同士がくっついたり、谷が他の山と重なれば、只の山になるだけ。
と思うのだけれど、違うの?
587 :
774ワット発電中さん :2008/09/30(火) 18:25:59 ID:rEMb4z5u
大変だ! 大事件だ、後閑哲也さんのあの有名サイトが消えている。 あの「電子工作の実験室」だよ。
588 :
774ワット発電中さん :2008/09/30(火) 19:33:02 ID:qB8odDlg
picfun.com expired on 09/20/2008 and is pending renewal or deletion.
>588 私のところは先週の土曜日からみれない。 いつまで見れたかはわからないが あなたの所では本当に見えるの? >釣り?デマ?風説の流布? こんな事 言っといてキャッシュに残ってるだけ とかじゃないよなw
>>592 俺も見えないけど、あそこが見えなくなることは過去に何度もあったような?
>>580 ちらちらは乱流のカオスだと思うのでフーリエ変換より
アトラクタで簡単に表わせる?
>>592 >>588 じゃないけど、もう見えるようになってるよ。
確かに一回アクセスできなくなってたけど。
vhdlやら何やら書いてあるページなら見える キャッシュ削除したら今度は404www
こっちはキャッシュ削除しても普通に見れてるな。 DNSの情報がまだ浸透してないのかな
それかもね
トップから見れるようになった。
>>585 フーリエ級数を学べばわかると思うよ。
方形波だってサイン波の集合でできてるとみなせるからそれを合成したら潰れるとかはない。
> 合成したら潰れるとかはない。 いや、「合成」自体を理解できてないっぽい
豪勢ですな ハッハッハ
逆に50%方形波をバンドパスフィルタで奇数次の高調波、低調波をカットすると、あ〜ら正弦波。
低調波・・・w
607 :
774ワット発電中さん :2008/10/05(日) 00:34:43 ID:5gVKUo6D
PICなどでPWMを使わず、複数のピンからそれぞれ違う周波数を出力したい場合 どうプログラムすればいいのでしょうか
>>607 それぞれ違う周期(1/f)でピン出力を変化させれば桶。
その違う周期で変化をどうやったら同時にできるのかがわからないのです...
100μ秒ぐらいのタイマで変数の中身をポートに出す。 タイマの延長で各ビットごとの計算しとけばOK メインループでは寝とけばいい。
>607 こんなのでは 一定の間隔で割り込みなりで呼び出して Fxが各Bitの周波数 1/f Txはタイマ CLRF INVB DECFSZ T0,f GOTO $+4 BSF INVB,0 MOVF F0,w MOVWF T0 DECFSZ T1,f GOTO $+4 BSF INVB,1 MOVF F1,w MOVWF T1 他6bitも MOVF INVB,w XORWF OUTB,w MOVWF OUTB MOVWF PORTB
各Timer(0/1/2..)を総動員する手もあるが限りがあるので稚拙だろな。 Timer動作と原理は同じことだけど・・・ 各ピンの周波数出力用に各カウンタ変数を用意して、 適当な分解能時間(100uSとか1mS等)毎に条件カウントup(または設定値からカウントdown) 各H/Lパルス幅分の設定カウントに達したら(またはカウント0になったら) カウンタを初期値(0または各設定値)にしてピン出力を変化させる。 これを繰り返せばok
皆さんありがとうございます
ソフトPWMみたいもんか
> 適当な分解能時間(100uSとか1mS等) 必要な周波数の(最小公倍数)^-1でいいね。
>>616 フーリエ変換は取り出す手段であって、ろうそくの揺ら揺らの元は別に考えないといけない。
そんな事も分からないで知ったような事をいう
>>580 は永遠に何も出来ない。
619 :
774ワット発電中さん :2008/10/16(木) 00:36:58 ID:CvADV3Ha
620 :
619 :2008/10/16(木) 00:47:44 ID:CvADV3Ha
619です!トラ技10月号を見た感じではSPIによるシリアル通信が もっとも適しているのでしょうか?
俺には単に調子こいた様にしか見えんが。
>>580
625 :
774ワット発電中さん :2008/11/08(土) 17:18:37 ID:m3o8Re19
PICにフーリエ変換を乗せたんじゃなくて、ロウソクの光の揺らぎについて調べると、
おおよそ1/fとなっていて、それを解析、理解するにはフーリエ変換が必要だった、
ということですよ。
じゃ、がんがってね!
>>580
627 :
774ワット発電中さん :2008/11/09(日) 05:02:54 ID:Ft638d8V
>>626 そのロウソクの明るさを取り込んだ回路の写真とか、解析した画面とかUPしてもらえると嬉しいな。
628 :
電脳師 :2008/11/09(日) 09:23:01 ID:RIuB9Yh1
629 :
628 :2008/11/09(日) 10:20:47 ID:RIuB9Yh1
そー言えば↑にある共●のロウソクのを弄ってみたけどこれはイマイチだった。 点灯した状態にランダムにチカチカって感じに無機的にモジュレーションかけただけで何だか‥ ちなみに★まみちゃんにかざしたリアルなやつはアナログ的で格が違う パターンをよく見てみたけど、どうやらサンプリングみたいな感じだった。 いつだかファジーだのを組み込んだセンプー機は1/fパターンをサンプリングでやったらしい パターンはある程度の長さのをリピートさせてるとか。
631 :
774ワット発電中さん :2008/11/09(日) 11:48:36 ID:Ft638d8V
>>630 なーんだ。自分でやってみた訳じゃないのね。
634 :
774ワット発電中さん :2008/11/13(木) 23:44:51 ID:nyZGW7/x
ラジコン屋さんです。そのうちセンサー+PIC+ラジコンで何か楽しいことが出来ると
いいなあ、と期待してPICで遊んでみようかと思っています。何で入門したら良いでしょう。
REDUINO-NANO<
http://www.microfan.jp/shop/102_191.html >を見て、そのままサーボが
付く、あとはセンサか、良いなあと思いましたが、一般的でない気もします。おすすめの本とか
キットを教えてください。
本人は、@ 電気工作ハードは自信がない。ハンダ付けも有体に言って下手。
A ソフトは 経験範囲は広い方なので、なんとかなるでしょう、という感じです。
AVRでないの
AVRですな。 Arduinoはそれなりに知られてる。 とりあえず作り始めたくて、ハードに自信ないなら、そこのボードでもいいし、 あとはPSoCでGainerやKANADEなんかも同じような方向性。 あとは普通にはじめからマイコンの勉強をするか。
637 :
934 :2008/11/14(金) 23:13:16 ID:yNucx3fg
アドバイスありがとうございます。一般的でないなあ、と言ったのは つまりAVRだから。 何も知らずに買って 相当の時間を費やしてから、「言語がぜんぜん違うし、(サーボや センサに)向いてないよ」と言われてもちと泣きます。 普通にマイコンの勉強をする〜PIC KIT2とブレッドボードではじめる、という意味でしょうね。
PICよりAVRの方が普通だと思う アーキテクチャ的な意味で
640 :
774ワット発電中さん :2008/11/15(土) 06:34:42 ID:Tv5iYDTP
現実的に、資料が少ない物と多い物なら 多い物を選ぶのが普通。 例が多い方が何かあったときに問題解決し易いし 一度習得すればなんでも使えるから とりあえず例の多いと思われる物で始めるのが吉。
642 :
のうし :2008/11/15(土) 07:28:35 ID:MdlF8E8U
暗黙の棲み分けを知ってる。 本PICヌレだと厨ばっかで荒れてるから。
すいません、超初心者ですが、教えて下さい。 MPLAB IDE v8.10 と MPLAB C18 にて、C言語でプログラミングしています。 Deviceは PIC18F2550 ですが、今はシミュレーションでやってます。 void main(void) { TRISA = 0x00; while (1) { LATA = 0x00; LATA = 0xFF; } } while 中の中でブレークポイントを仕掛けて、SFR を直接のぞいたら、 PORTAレジスタは 0x00 と 0x10、LATAレジスタは 0x00 と 0x50 のように 変化していました。 LATA はどうして 0xFF にならないのでしょか?あと、LATA と PORTA の レジスタの値が異なるのはどうしてですか?
>>643 ADCON1を仕様書でチェック。
RA6はConfigurationBitsを設定しないとI/Oポートにならない
のでLATのD6は書けたように振舞うがPORTAのD6は"0"としか
読めない。
645 :
643 :2008/11/20(木) 23:47:30 ID:Hx4ZTNme
>>644 調べてみます。ありがとうございました。
スレも伸びないことだし、だれか音声の作成を始めてくれないか。
ウチュウノテイオウザカリテ
ジャーヨウ
頑張れ?
やっぱ、松井だよな。
653 :
774ワット発電中さん :2009/02/08(日) 16:25:03 ID:XkFIhIXO
ちょwww ソースと回路キボンwwww
オスカル! アンドレ!
もしccs-cの古いver. (3.1xx〜3.22?)あたりを使ってるなら当時のバグに該当してるかもな。 なお ver.3の最終(3.249)とか現行のver.4以降なら問題ない バグ内容は、12F629/675みたいなOSCCALが無いにもかかわらず call 0x7ff movwf osctune ; osccal 相当のcode を吐いてしまうもの。 最終番地(0x7ff)に retlw なcodeが無いので暴走する。 対処はCソースで #include <12f683.h> の後とかに次の呪文を書けばok #rom 0x7FF={0x3400}
659 :
鉄 :2009/03/02(月) 10:29:37 ID:N4xdorlY
踏切カンカン音を作りたいんですが、 ミとソの和音、(329.62Hzと391.99Hz)を出したいのです。 単音ならだせますが、和音となると考えこんでしまいました。 PIC12F629を使って、LEDと音を出そうかなと考えてます。
660 :
電脳師 :2009/03/02(月) 10:49:26 ID:H/IyrONM
カンカンにするには工夫が要るかも。 フツーに音やってもピーピーにしかならない。 カンカンは、一音の立ち上がりが最大で、すぐ衰退する打楽器系の音量変化をしてる。 2、3段階くらいに音量が  ̄―_ なんてふーに変わるようにRとかで制限するとリアルかも。 また段階も定差でなく定比(指数的段階変化)でなおかつ変化の経過も  ̄――___ なんて感じのような‥ 健闘を祈る!
661 :
鉄 :2009/03/02(月) 12:59:21 ID:N4xdorlY
了解です。 あ、PWMのように、矩形波のデユーティ比を変えて行けばいいかも。 ありがとうございました。
なんか、質問者の方がレベルがたk
素直にPICを2個使うのだ!
やっぱ玄関チャイムみたいなピンポーン〜は難しいのかね
>>664 音程を出すのは簡単。わずかな音の数であれば和音も可能。
一番の問題は、チャイムのような澄んだ音をだすこと。
正弦波を得るためにフィルタが必要になり、PICだけでは難しい。
それともうひとつは、振幅を制御するエンベロープ機能。どのみち
外部回路とかD/Aなどが必要になる。
PSoCだとけっこう出来るんだが。
>>665 どうもそうではないらしい。
波形よりも振幅がキッチリ出ていれば玄人の耳でも違いがわかりにくいらしい。
ちなみにオレはマニアでないので試していない。
っとなると、R−2Rラダー+アンプが有望ではないかと・・・ダメ?
667 :
電脳師 :2009/03/03(火) 09:34:25 ID:1bqc1+Sh
PWMなら自在。
正弦波からエンベロープに和音。
ピンポーンなんかの、ンポの部分の前後の音が重なったとこも。
またD/AはそこらのCとRそれぞれ1本ずつでいい。詳しくは『デジタルアンプ』とかでググるといい。
特にdsPICくらいMIPSがあると単純な正弦波で綺麗な形で数百kHzいける。
だから可聴くらいだとかなりいろんな処理が出来る‥ つうかFM音源まで作れてあらゆる音をリアルに再現できる。
たしか、音楽系の中に音創りなんてジャンルあったな。FM音源のセルだのアルゴリズムとかをいろいろやって。
あと、ケータイなんかもFMエディタを操作できるのあるし。
マイコンでも可聴域の合成はハード的にはもう完成している、
ソフトやアイディアや要望や実例がないだけ。
もっと
http://science6.2ch.net/test/read.cgi/denki/1210751026/29 しようよ。DSPでフィルタやFFTやったって面白くない。
つ「お前がやれ」 お求めのものはこれですか?
> 一番の問題は、チャイムのような澄んだ音をだすこと。 > 正弦波を得るためにフィルタが必要になり、 正弦波って、この世で一番やわらかい音だと思うんだが。 出力相当出てるのに、耳にはソフト。 けっして「澄んだ音」ではない。
エコーかけりゃ、どんなダミ声でも澄んできこえるし。風呂オケ。 なんじゃらフォルマントで、天使の歌声だってつくれらあな。
重箱の隅つつかんで 何の2CHぞ! 揚げ足取らんで 何の2CHぞ! 茶化し入れんで 何の2CHぞ! この三つ無くば ネトウヨの巣窟と化すは必定ぞ
重箱かぁいいよなぁ。 コンビニ弁当の容器しか縁がないや
>>665 さん、気持ちはわかったからROMに戻って。
677 :
665 :2009/03/05(木) 21:31:32 ID:P0ng9Qb/
>>676 今見たら、オレにレスが付いてるが、676の言う意味がワカラン。
さほど間違ったことは言ってないはずだが。
子供はほっとけよ
感覚上のことを議論しても仕方ないと思うんだが。 「あの子、俺の好み」「タイプじゃない」その程度の話。
681 :
鉄 :2009/03/06(金) 09:16:53 ID:uRajiPt5
フルレンジのオーディオならともかく、 チャイムとかベルのBEEP決め打ちなら、RCのローパスだけで充分じゃないかな。 と思いますが。
なんだ 実際にやったこともないヤツが書き込んでるのか
すいません。半年ROMってます。
684 :
774ワット発電中さん :2009/03/06(金) 20:32:52 ID:z64eB78d
フィルタ無くても、澄んだ音は出るのに・・・
>>680 「あの子、俺の好み」「あぁ彼、かっこいいね」その程度かな。
うほ
686 :
774ワット発電中さん :2009/03/16(月) 04:00:19 ID:SLcGo01J
>>669 > 正弦波って、この世で一番やわらかい音だと思うんだが。
> 出力相当出てるのに、耳にはソフト。
> けっして「澄んだ音」ではない。
そうか?
高調波はいらないから澄んでるともうけど?
687 :
電脳師 :2009/03/16(月) 08:52:43 ID:GhW/n6/d
無機的な電子音だとおもわれ。 比較的高い音程の単純な方形波、つまりデジタル。 正弦波は積分した(方形を鈍らせた)感じだから篭ったような音のやうな。 単純な部類の電子オルゴールの音がそうだと言われていた。 正弦波のはっきりしたものは『鮮明な』音ってことでは?
「澄んだ音」でキラキラした清涼感のある音を想像する者と、 濁り成分のない正弦波を想像する者がいるんだろ もう済んだ話題だ 澄んだ音だけにwww
おーい 山田くん 座布団全部もてって
もてって?
いま、旬だよね。言葉遣いのあら捜し。
何もPICなんて変なもの使わなくても良いだろうに
> 濁り成分のない正弦波を想像する者がいるんだろ
まさにその「想像」で書いたんだろうな。
式とか波形とか見ると、これが澄んでなくてどうする、って気になるのは解る。
でも
>>685 が世の常識と言うのと同じレベルだ。もちろん、個人的趣味を否定はしないが。
まだ蒸し返すってことは、よほど「想像」が覆されて悔しかったんだろう。
> 正弦波のはっきりしたものは『鮮明な』音ってことでは?
なんだよその「はっきり」した正弦波ってのは。
うほ
696 :
774ワット発電中さん :2009/03/16(月) 23:08:29 ID:SLcGo01J
>>694 > なんだよその「はっきり」した正弦波ってのは。
むしろはっきりしない正弦波は?
1/fのゆらぎ?
横から済まんが、はっきりって意味自体がつかめない
正弦波って時報の音でしょ? これを澄んだ音だと書いてあるサイトもあるね。 *個人的には*そう思わないけど、まぁ人それぞれだね。
699 :
電脳師 :2009/03/17(火) 10:44:15 ID:Ab20paJK
時報(NHK)のは正弦波でポーンって感じの音。 電子音の方形波(澄んだ音?)同じ音程のはピーって感じ。 ガッコにオーディオジェネレーター(発振器)あったらたいてい正弦/方形波の切り替えがある。 違いを聴いてみよ。 でもフリーソフトでもPCでできるオーディオジェネレーターがあったような‥ 漏れは図書館にあるDSPの本に付録してるCDROMからDLした。 ついでにFFTでも遊ぶと面白いぞ。
人それぞれな事象をイメージによらず語れるように「正弦波」とか「倍音」とかいう 客観的に定義できる言葉があるんだろ A「俺の好きな正弦波はね、」 B「いや俺は好きじゃないよ」 とか言ってるレベル で話の発端はなんだ、「チャイムのような澄んだ音」を出すために 「正弦波を得る」とか言ってるからおかしな話になる
701 :
699 :2009/03/17(火) 13:35:21 ID:yEYlE7Ms
チャイムなら『鮮明で深みがある』だろ。 音が重なった感じに萌えてるんじゃね?
だからwそういう言葉を使うからややこしくなるんだろw で、そもそもチャイムのピンポーンは正弦波じゃないだろ、 そこが違うから話が脱線するんだよ だいたい「PICだけでは難しい」って、そのくらいの付加回路は許してくれよ
703 :
701 :2009/03/17(火) 15:02:07 ID:Ab20paJK
チャイムには正弦波(ビブラフォン)のと電子音のとかのグレードがある。 秋月にたしかチャイムIC(YM294?)があったけどこれは和音可能の矩形波だったな。 響かすには音量レジスタに随時下げた値をライトするようになっていた。 ところでビブラフォンはFM音源のアルゴリズムやパラメータを見ると、純正弦波にやや倍音を足している。 それにしても、音の表現ってあまり一般じゃないな。 大きい音を高い音なんて言ったり、音を小さくしろと言うのを低くしろなんて言ってたり‥ 厨の理科でオシロで実験しなかったっけ?
倍音があったら正弦波じゃないだろ そんな事言ってっから「正弦波のはっきりしたもの」とか「純正弦波」とか訳のワカラン事を書く 正弦波は正弦波
705 :
774ワット発電中さん :2009/03/17(火) 17:02:07 ID:Ay3T4I67
所詮脳内。 だから、フィルタで濁りを取るなんてアホな輩が出てくる。
>>706 判りやすい悔しがり方だな、おい。
>>699 時報あたりならまだなんとか・・・だけど、それより高くなると
正弦波も矩形波も聞き分けできなくなるな。
輝度には敏感だけど色には鈍いとか、人の感覚って、けっこう生きるため
以外の無駄部分を省いている気がする。
流れに関係ない話だけど。
>>707 別に悔しくて言ってるんじゃない。君が間違っているからだよ。
正弦波と他の音では明らかに音が違う。
「濁りを取る」という表現が適切かどうかは別として、フィルタをかけた方が
変な音でなくなるのは事実。
699に対するレスで高い音のことを言っているようだが、確かにかなり高音では
二倍の高調波すら聞き取りにくいから波形による音色の差は少ない。
しかし、時報は440と880ヘルツだから、矩形波と正弦波ではけっこう違ってくる
よ。ちなみに、ヤマハの電子メトロノームMEシリーズなんかの出す音はほとんど
矩形波でフィルターも通してないから、すごく音が汚い。
ただし、君がそう言いたくなるのも分かる理由がある。スピーカーの性能があまり
良くないために波形がなまることが多く、そのために「結果的にフィルターをかけた
ようになっている」からね。
そろそろ別のスレ行ってもいいかと
どうぞ勝手に行ってくれたまえ
>>708 が「フィルタをかけた方が変な音でなくなるのは事実」ってのが気に入らないね
そんな訳ねーって経験者の俺が言ってみる
ほう、経験者ね。あまり深い経験はないみたいだね。
いや、せっかく盛り上がってるのでついでに。 矩形波って、変な音?
714 :
のうし :2009/03/18(水) 09:10:45 ID:zi5oxGCZ
今度は『変な(音)』なんて新たな表現を議論するかw‥ おれ的には、いくつかの音を重ねて、それぞれのスペクトルや基本音が時間内で変化するやつ。 ホニャとかピュイッって感じの声みたいにホルマントがあるやつ。 あと特性をフィルタでそんな感じにコネクりまわしたオチョくった音とか。 まあ言葉的には異音とか破壊音なんかがそう言われるけど‥ 他にFM音源で音を創って競う『擬音祭り』なんてやったりする、ハァハァとかクチュクチュだのとか。
マイコンならD/Aでおおざっぱな波形を吐いて 階段だから、ハードでなましてサイン波にしたことはあるな。 これでもいろいろウマくやらんと倍音なかなか減らんけどね。 矩形波は倍音が出るのが基本で、電子音のお約束みたいな音だな。 これを変といわれると、テクノとかGMとか全部変な音楽だのう。
>>714 「正弦波のはっきりしたもの」とか言ってるやつは、「変な音」と気が合いそうだなw
717 :
774ワット発電中さん :2009/03/18(水) 19:08:56 ID:co2uTyBt
同じ、同じ、他にも秋葉の皇子とか好き放題名乗ってるけど気にしてはいけない。 名前欄なんか見なくても内容だけですぐにヤツだと分かるから。
719 :
のうし :2009/03/19(木) 10:52:47 ID:2tTR2KJW
嫌な音なんてどぉよ。 厨ん時、それが苦手な奴の前で「クスリくれ"ぇ〜」と言いながら黒板を爪で引っ掻くアレ。 高い音に50HzのAM変調をかければ作れるよ。
720 :
774ワット発電中さん :2009/03/19(木) 23:34:59 ID:S4/VxepK
>>719 つまり黒板を引っ掻くやな音は簡単にはつくれるといふことなのですね
電脳師、電脳死、のうし、秋葉の皇子・・ 一連の書き込みでもう充分ふかい
723 :
774ワット発電中さん :2009/03/21(土) 04:38:29 ID:rIQYGkdx
脳内だからむり。 HEXじゃなくて01をスイッチで書き込むとか言い出すぞw
724 :
719 :2009/03/21(土) 07:27:13 ID:FIlLvAUR
それはたまたま4093で発振を組んだ際、入力の片方を手で触ったら50Hzのハムが乗ってそうなった。 手の方をいろいろやって遊んでいたら彼女が「嫌な音だねー」と言った。 高いピー音が、ギー音って感じ。
PWMで正弦波を表現したら、イイ音なのかな?矩形波だけど。
そこで、フィルタを通して澄んだ音、の出番なわけですよ。
PIC の PWM で 音声合成を簡単に実現する方法。
ttp://www.patok.jp/manual/TK-1230Bref.pdf page 14/35 AT#VTX
115.2Kbps で *.WAV ファイルを PIC へ転送、 PIC 側 は 125μsec 毎に PWM 変換して再生する。
つまりどんな音でも PC の *.WAV ファイルで 8bitリニアPCM、8KHzサンプリンなら再生可能。
うわぁ簡単だぁ(棒
729 :
のうし :2009/03/22(日) 13:59:31 ID:2gOJrfrG
INTOSCタイプのPICなら外付けは圧電素子とCとRだけでいい。 あらゆる音が可能だからそれが喋ったり演奏したり(圧電素子だと低音は出ないけど)できる。 音の出るおもちゃに入ってるカスタムなんかみたいなことできるな。
730 :
無職猫 :2009/03/22(日) 17:06:17 ID:T7mjH06E
>>728 原理はとても簡単だけど実際にはちょとテクニックが必要になる。
RTS 制御はもちろんだけど 無手順だと PC 側に割り込みが掛からないので
XMODEM 等の PC 側に割り込みでデーターを要求するプロトコルの方が良い。
WinXP SP2 の頃は 512byte のバッファーで十分だったけど
WinXP SP3 以降は svchost.exe がリアルタイム実行するのでシングルコア CPU だと無理。
最近の XP だと 768byte のバッファーでも音が途切れる場合が有る。
バッファーの十分に取れる PIC18 シリーズでないと無理だと思うよ。
PCから転送しながらPICで再生するメリットはないじゃん フラッシュメモリに保存するんじゃないの
短時間の再生なら、内蔵フラッシュでも同じ様に出来るよ。 もし PC から内蔵フラッシュを書き換える場合、コードプロテクトは使えないけどね。
何が「同じ様に」なの?
同じ様に = 125μsec毎に内蔵のフラッシュから読み出して PWM へ出力する事 1秒間に 何byte の ROM が必要になるか計算してみてね。 10秒間も音声合成しようとすると、どれだけの ROM を消費するかしら?
内蔵フラッシュとか何の罰ゲームだよ
738 :
774ワット発電中さん :2009/03/24(火) 13:10:04 ID:mlALZIjH
>>734 >10秒間も音声合成しようとすると、どれだけの ROM を消費するかしら?
それくらい自分で計算汁
侍ジャパン、やった〜!!!
ダル、ダメだろ、あいつ。
日本国内ではそれなりに評価が高いようだが、 主催者側が発表した日本の特筆すべき選手として、 松坂と岩隈は選ばれているが、ダルビッシュは選ばれてないね。 俺もそれに同意する。球威ではダルはすごいが、ポカも多い。 安定感では岩隈だな。だてに去年21勝もしてないよ。
現状の松坂もどうかと思うよ。 次の契約で「バカの一つ覚えの玉数制限はさせない」って条項入れられたらマシになるかも。
このスレはPICで松坂を作るスレになりますた
すいません、おしえてください。 ccs-pcbでつくったプログラムのlstファイルをもらったのですが、これをつかってasmファイルってつくれるのでしょうか? ちんぷんかんぷんなので今mplabいじってるところです。
ちんちんびんびんなので今いじっているところです。
↑ これなに? スパム? ブラクラ?
DLしてみたら、歩行者信号の音がwavファイルで3つ入ってた 1分半とか無駄に長くて意味不明
流れからするとPICで作った音の合成結果ではないかと・・・ ど---なんだ?
流れからすると釣りとしか思えない
751 :
774ワット発電中さん :2009/04/09(木) 17:24:21 ID:7gArOtV2
流れからすると、どーでもいい。
確認せずに書くけど、菊川交差点のぴよとかっこう?
かっこう、確かに2種類音色がある気がする。
かっこう と かかっこう?
相互鳴き交わし(「かっこう」と「かかっこう」、「ぴよ」と「ぴよぴよ」)でなく、 音色自体が何種類かあるね。製造メーカーごとに違うんかな。
>>752 雑踏の音がなかったので、街角から録音してきたピヨ・カッコウではないと思う。
現状は、なんとか、端末からMAKEをして、以下のファイルができました。 Makefile mid2pic mid2pic.cpp mid2pic.o midi.cpp midi.h midi.o Mid2pic及び(一応a.out ./a.outも実行) すると [root@localhost mid2pic]# mid2pic bash: mid2pic: command not found となります。 環境はfedora5です。
>>757-758 > [root@localhost mid2pic]# mid2pic
> bash: mid2pic: command not found
./mid2pic
でどう?
近頃は、普通、安全のためにカレントディレクトリをpathに入れないので、
明示的に指定しないと実行されない。
760 :
774ワット発電中さん :2009/04/11(土) 23:17:18 ID:1cn61TfX
ウニ板で聞いた方が速くね?
マイコンにスピーカーをつけたら音楽が鳴らせるんですか?
鳴らせる場合もあれば鳴らせない場合もある
圧電スピーカーならいけそうだな
764 :
のうし :2009/04/14(火) 06:47:42 ID:UvFolBau
圧電スピーカーと普通のスピーカーは何が違うんですか?
>>765 圧電素子で振動体を振動させて鳴るのが圧電スピーカー。
「圧電素子」でうぃきぺるとよい。
磁力と電磁力で振動体を振動させて鳴るのが普通のスピーカー。
「スピーカー」でうぃきぺるとよい。
767 :
757 :2009/04/14(火) 22:05:50 ID:D0P7WaoR
>>759 有り難う御座います
./mid2pic 変換するファイル名
で上手く行きました。
後は、これをインディアン変換すればよいのか?
上手く鳴れば良いな・・・
>>760 unix方面で聞かなくてもよさそうです。ありがd
やっと規制が解除された・・・ Orz
768 :
774ワット発電中さん :2009/06/06(土) 18:00:17 ID:E3r2Zf5W
先輩方、お教えください。 LED点滅回路をC(HI-TECH C フリー版)で組んでいるのですが __delay_ms() 関数(本当は関数ではなくマクロ)がうまく動きません。 #include <htc.h> #define _XTAL_FREQ 4000000 __CONFIG ( BORDIS & OSC_4MHZ & UNPROTECT & MCLRDIS & PWRTEN & WDTDIS & INTIO ); main() { CMCON0 = 0x07; GPIO = 0x00; ANSEL = 0x00; TRISIO = 0x08; while(1){ GPIO = 0x01; __delay_ms(200); GPIO = 0x00; __delay_ms(200); } } __delay_ms(180)くらいならコンパイルも通り回路も動くのですが 200を入れるとコンパイルエラーになってしまいます。 インクルード先のマクロ定義を見ると #define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000UL))) となっていて、確認したところunsigned long型の桁あふれを起こしている訳でもなく なぜ200だと動かないのかわかりません。。。
それは HI-TECH PICC(PRO)の低レベルな限界ってやつ。 delay exceeds maximum limit of 197120 cycles ビルトイン関数 _deley()の制限で上のメッセージ見なかった? 4MHzならTcy=1usだから 197.12msまで つまり__delay_ms()の引数は197までなのさ。 元々、定数引数しか扱えないし __delay_ms(100); を2回書けば委員じゃね? 尤もその分codeサイズ嵩むが・・・
なんでわざわざ無理な言語使って、本文と関係ないコンパイラで躓くのが好きな人が多いんだろう。
>>769 早速ありがとうございます。
確かにコンパイルエラーの内容がそうなってました。
ということは打つ手なしですね・・・
一昔前のPICC-Liteなら、delay.h内のDelayMs() が
255まで引数取れたのに、ダウングレードしてる印象です・・・
毎回for文で回そうかと思ったけど
for(uint8 i=0;i<5;++i) のように一時変数をカッコ内で確保する記法できないし
unsigned char を uint8 に typedef して・・・って、typedef無いし
普段C++してるプログラマにとっては戸惑うこといっぱいです。
とりあえず、__delay_ms(100)を自動で複数回回すように、自前のDelay関数を書くのが早そうですね。
ありがとうございました。
>>771 自前のDelay関数例、変数引数もok
void delay_ms(unsigned int x)
{
unsigned int i=0;
while(i++<x) __delay_us(970); //適当に調整
}
>>770 私の場合
「数百MBオーダの広大なメモリと、数GHzのプロセッサの資源を頼りに
ハードウエアリソースに無頓着なコードを書く、典型的なダメC++プログラマ」
から脱却したくて、PICのアセンブラとCを学んでます。
関数を呼んだり条件分岐をする時、オーバヘッドが存在するとか
スタックには限界があるとか(そもそもPIC始めるまでスタックを意識したことなんて無かった)
ダメC++プログラマにとっては新鮮な驚きばかりです。
だから、
>>770 さんへのレスは
途中で書き込み失礼orz
だから、
>>770 さんへのレスは「私が物好きだから」です。
つまり変態でつか
ま、「CPUをカツカツに使う」楽しさ(苦しさ?)ってのは、いまどきのPCには無いからねえ。
>>773 偉いね。
ダメC++(に限らないけど)プログラマーが多いのは確かだし。
組み込み屋さんでもそういう人が増えてて困る。
コンピュータというのは、CPUというのがあって、その中に
レジスターやプログラムカウンター、スタックうんぬん
ってのは習わないのかね、最初に。
クラスとかUMLとか思想はいいんだろうけど、実装も考えて欲しいよね。
コンパイラーが賢くなれば変わるのかな?
今時のPCでもぎりぎり速度で画像処理とかしようとすると配列のアクセスの手順変えるだけで速度変わったりして結構気使うけどね。 授業で速度重視する癖が出てアクロバティックな書き方とかすると先生に見通しが悪いって言われる。
780 :
774ワット発電中さん :2009/06/17(水) 02:40:51 ID:88h0r7Iu
レスを全部読んではいないのですが、 きれいな和音を実現している例はアップされていますか? 短音でもきれいな音であればなお良いです。
>レジスターやプログラムカウンター、スタックうんぬん >ってのは習わないのかね、最初に。 PICにはまともな汎用レジスタもスタックもありませんから そんなもの習う必要はありません ・・・・・てかてか
>>780 あなたの言うきれいな音って何?
サイン波なのか、適度に倍音が含まれている音なのか。
そんな議論が前もあったからどんな音なのか書かないと頓珍漢なレスが返ってくる。
>>782 ブザーのようなブーという汚い音(矩形波かな?)でなければ良いという程度です。
きっと例の「澄んだ音」を求めているんじゃないか?w
100〜120Hzでアタックの利いた微分波形みたいなもんやと思う。
> ふと、「ブザーの音」の「ブザー」って何ぞという疑問が沸いた。 buzzer 【名】 ブザー、汽笛{きてき}、サイレン
>>788 わざわざ俺に教えてくれてありがとう。
質問したつもりはなかったんだけどな。
790 :
774ワット発電中さん :2009/06/22(月) 01:19:55 ID:46xyFlxw
ひこーきのシートベルト着用のポーン って難しい?
>>790 にとっての簡単と難しいの境界がどこにあるのか、誰でも判別できるように
簡単に説明してくれ
>>790 でないと答えようもないわな。
>>790 791みたいな屁理屈じじいは放っておこう。
はっきり言って、そんなのは簡単だ。大丈夫、やれるから。
さくっと書いてupしたら、きっと791のじじいも尻尾巻いて逃げるさ。
期待してるぞ。
まずはアメパトサイレンからだ!
と言うことは、旅客機に乗ったことがあるヤツと乗ったことがないヤツとの違いと言うことか?
小学生には難しい、オレには簡単
797 :
電脳師 :2009/06/23(火) 13:34:48 ID:K3+d9Ys1
>シートベルト着用のポーン PICだとチト厄介。 ポーンは正弦波だからD/A変換やフィルタが必要。 また音量が時間で変化するからその処理や回路が要る。 アナログでならトランジスタ1石でできる。
790は製作に取り掛かった模様だ
>>797 > アナログでならトランジスタ1石でできる。
その回路、ぜひアップしてくれ。
800 :
797 :2009/06/24(水) 02:55:43 ID:mKrieBZJ
いつだかの懐古トラオ支にあった。 リズムボックスの製作なる記事があって、パルスを加えると正弦波を発し、あたかも打楽器みたいな感じのポーンだのキーンみたいな音のする回路だった。 おそらく1980の10だか8月号だったような‥ 超単純だから即組んでみたけど、プッシュSWとかでトリガーをかけるとポーンとなった。 また調整があって、状態によっては発振しっ放しにもなる。 記事にはルンバとかのリズムを、その回路4個でやっていた。太鼓のポンや打楽器のキーンやカーンとかあってCRの時定数で設定されていた。 なんかあの時代らしいディスクリートでなかなかいい味出していた。
↑ ウンウン 良き時代だったなぁ・・
>>800 おそらくは、帰還をかけた発振回路で、その帰還量の
変化で振幅を徐々に小さくするんだろうな。ちょっと考えてみる。
803 :
774ワット発電中さん :2009/06/25(木) 03:22:05 ID:sIBQl50+
全然素人なんで、唐突な質問失礼します。 PICをつかってちょっとした音源を作りたいんですが、小さなスピーカーって、 なんという名前で検索すればいいんでしょうか? よく、メロディ電報とかに入っている、直径二センチくらいしかないスピーカー でも、ちゃんとした音楽とかの音を出せるんでしょうか? PICに何かアンプとかなくても鳴りますか?
>>803 小型でマイコンから直接駆動できるぐらいの電流で鳴るものなら
圧電サウンダ 圧電スピーカー で検索。
音質はブザー音が周波数変わる程度と思いましょう。
コイルとマグネットのダイナミック型超小型スピーカーもありますが、直接駆動するには、電流が不足するかもしれません。
>>803 蚊の鳴くような小さい音でよければPIC直結でも鳴る。
普通レベルの騒音環境下で、それなりに離れてもちゃんと聞こえるようにするには、
アンプを入れないとダメ。
806 :
803 :2009/06/25(木) 08:48:34 ID:XmIF6a0r
>>804 >>805 レスありがとうございます。音程の基準にしたいだけなので、音量は小さくて良いし、
音質もそれほど問いません。
でも、できれば、携帯の着信音にあるくらいの音楽(音量は小さくて良い)が聴ける
音質があると良いですね。その手の圧電スピーカーとかでは無理でしょうか?
>>806 携帯電話に入ってるのがそのまま圧電スピーカーです
携帯のスピーカーってけっこう良い音するよね。 俺の携帯はAUで、着メロは、ラプソディ・イン・ブルーにしてる。
ケータイの音質は圧縮フォーマットにもよるので、スピーカーのみの性能だけではないと 思われる・・・っと憎まれ口
>>809 そうなの? とはいえ、入力波形さえ整えれば、
圧電スピーカーでもそれなりの音質は得られるんだよね?
ブザーみたいな音だけじゃなくて。
圧電スピーカーの音質… 村田製作所の高性能品じゃねか?>携帯電話 普通のアレを想像すると微妙なんでないか? と、想像。
電磁スピーカの場合、大音量を得るには大電流が必要。100mA出力可能とかの特殊IOピンがあれば ドライブできるが、たいていのマイコンでは20mA程度が限界なので十分な音量を得るのが難しい。 圧電スピーカの場合、大音量を得るには高電圧が必要。たいていのマイコンでは5Vとか3.3Vが 限界なので十分な音量を得るのが難しい。 それと、小型スピーカ全般に言えることだが、振動板自体のドライブと同じくらい、 適切な大きさのエンクロージャに入れてやることも重要。むき出しだと音が小さいが エンクロージャに入れると十分な音量になるという場合もある。
>>805 最近の蚊は静かに忍び寄ってくるから困る。
携帯は普通電磁スピーカーだよ ちっさいから圧電みたいな帯域狭い音がする
>>813 蚊の羽音なんて結構低い周波数なのに聞こえにくいとは
よっぽど年齢が(ry
ひどい物言いだな。 そうだよね、うちのも最近、ひたひた歩いてくるから困っているんだ、ぐらい言ってやれ。
今日の読売新聞朝刊のマンガ読んだ?
ウチは日経だから読んでないよ
読売って、まだコボちゃんなの?
>>819 そう。
ずばり、モスキート音についてのマンガだったよ。
そういや、猫避けに、超音波(てか、子供には聞こえるらしい)を出す器具が売られてるみたいだけど 効果あるのかな。 ちなみに、年寄りの猫には効かない事もあると書いてある。
最近PIC始めたんですが、PICについてるポートってなんで別れてるんですか? ポートAもポートBも入出力って意味では一緒だと思うんですが。 弱プルアップ設定ができるくらいしかわからなかった。 PIC16F84A
8ビットづつ、分けただけ。
>>823 ありがとう
それを元に必至こいて調べたら出てきたよ
データバスが8bitだから8個に分けてるんだな。
そういう設計だから。 入出力に対応するレジスタが、I/O端子8本ごとに分けられてれば 他のSFRと同様に扱えるからですね。
PICに限らず、だな。 8bitはデータ幅イッパイ使うのが一番効率いいし。
俺はI/Oが4ビット程度しかないPICのの方が好き。 あくまでも個人的意見。
お聞きしたいのですが、PIC単体で役一秒のWAVを再生したいのですが、WAVから量子化16ビットでデータを出したのですがどの様にプログラムを組めば良いのかわかりません。どなたか教えてください。 一応過去にあった「もう一回」としゃべるプログラムを見て考えたんですが良くわかりませんでした。
あれで分からなければちょっと無理。 もう少し経験を積んでから、再度挑戦してみては。
>>828 バイナリエディタで開いて"data"という文字列以降を引っ張ってくればOK
>>829-831 レスありがとうございます。実はまだまだ初心者なのでサンプルプログラムを見て動作を理解したり、サンプルプログラムを改変したりする低レベルです。
PWMとWAVで検索するとヒントを得られたので、またしばらく悪あがきしてみます。
>>832 悪あがきをするのなら、R-2R の ラダー抵抗から音声合成に入るほうが基本。
量子化 16bit は PIC 単体ではかなり容量の大きい PIC でないと無理だよ。
834 :
774ワット発電中さん :2009/09/01(火) 13:04:55 ID:zCGARsLE
つか16ビットの精度があるラダーDACなんて簡単には作れないな
836 :
電脳師 :2009/09/01(火) 17:25:12 ID:G9EXp8mJ
いつだかのトラ技にAVR(って知らないけど)だかで .wavを転送して発声とかするのあったな。だりか覚えてないか?
>>835 お笑い系URLをありがとう。
どうせ半固定にするなら、MSBだけじゃなく全ビットやればいいのにねw
気は心 量や額はわずかだが、誠意がこめられていること。 贈り物などをするときに用いる語。
>>828 wavがデータ量で難がありそうなので、サイン波を自作する。
自作はプログラムで計算するかテーブル(データ)に1周期分だけ確保とか。
工夫すれば1/4周期を使って1周期分作れたりできる。
1ポートでPWM使ってサイン波を鳴らす、が基本の塊かと思う。
LEDで蛍の光っぽく見せるのにPWMを使う作成例とかでPWM覚えて応用がいいかも。
841 :
836 :2009/09/03(木) 08:46:20 ID:thZzbRN6
こんなことしてみたけど、これなら楽かも。 .wavにある発音データの一周期のバイナリ取り出して、これを繰り返して再生するようにした。 連続のまま聴くと電気カンナみたいな音でしかないけど、発声するみたいに時間ごとに大きさが変わる(アーではなくアッみたいに)ようにするとらしくなった。 母音ならこれでいいけど、それ以外は時間ごとに波形が複雑に変化する。でもそこから粗くいくつかサンプルして擬似的にやればよかった。 このようにして、それぞれの一周期だけの数十バイトをwavから抜き取ってやれば極少データでいける。 ある意味、合成だからいつの時代かの携帯の通話音みたいな圧縮がかった感じになるかも。 あと他にこんな面白いのあった。 幼児用の、ひらがな文字と発音を学習するマシーンがあって、50音のキーを押すと発声するのあった。 中を見たらチップは基板にそのままモールドされてるアレだった。 このマシン、記憶機能があってそれに多〇ク〇スタルとかセリーヌとか入れて喋らせたら イントネーションがバラバラで『玉栗廃る』とか『芹犬』みたいな発音になった。
高1のころEEPROM(24LC512とか)にwavデータを8bit、8kHzとかで 入れといて、PICで読み出してR-2RラダーDACで鳴らしたことはある。 windowsの起動音鳴らしたりして遊んでた。
844 :
841 :2009/09/04(金) 08:39:35 ID:2e4clmbm
そういや最近のPICならラダーなんかやらないでも、PWMあるから音声を直接(CとR一つずつやるだけ)を出力できるし、
OSCも内蔵だから外付けはあとパスコンだけでいけるな。
半田付けなんかしなくてもPICに電池だのパーツだの圧電素子とかをリードにグルグルラッピングして‥
だりか
>>841 の原理とかでプログラム書いてやってよん。
845 :
844 :2009/09/04(金) 08:44:30 ID:2e4clmbm
うっ、
>>727 に近いのあるな。ROMが外付けで大変かもしれないけど‥
プログラムったってROM読んでPWMに出力するだけだから誰でも書けるでしょ
>>845 727 のプログラムを作った本人だけど PIC18F87J10 ぐらい ROM 容量があれば、十分作れるよ
イントネーションの操作は無理だから、同じ音程で声を出す方が難しいと思う。
ぬるぽ
850 :
774ワット発電中さん :2009/09/08(火) 17:39:51 ID:iTjFQ1se
突然で悪いんだけど、「PICマイコンがもたらす社会へのメリットとデメリット」ってテーマで小論文の課題を出されたんだが どうしたらいい
PICマイコンが無い世界とある世界を考えて、それぞれメリットとデメリットを考えてみては? フリースケール、ルネサスがあるから問題ありませんとか真顔で書かない様にw 相手が求めるような面白いものを書けば良いと思うよ。 つーか何でマイコン全般じゃなくてPIC限定なん?
>>850 この板、このスレだって「社会」と言えなくもない。
>>850 どうしたらいい
って、考えるなり調べるなりして提出すればいいよね
提出しなくても俺は全然困らないけど
マイコンというと昔の文献ではパソコンに相当するから PICマイコンと書いていわゆるワンチップマイコンを表現しているのでは
昔の文献のパソコンどうのってことは もしかして ×ワンチップマイコン ○ワンボードマイコン なのだろうか? まあそれぐらいの性能はあるか…
857 :
のうし :2009/09/10(木) 08:22:35 ID:KWWvTTwU
相変わらず、相変わらずだな、こいつ。
PIC12F675とLEDを使って点灯をさせております。 サイズの問題があっって、コンパイラをMPLAB+Hitech-Cから MPLAB+SDCC+gputilsへ移行中なのですが、後者でコンパイルするとLEDが暗くなってしまいます。 何か問題がわかる方がおりましたら是非ご教授下さい。
吐くコードがおかしいだけでしょ
>>860 859です。
確かにそうかもしれませんが、設定のような気がしているので質問させていただきました。
理由として、プログラムは2種類試したからです。
(1)単純に点くだけ
(2)ディレイで点滅する
hitechでは
(1)明るい(電流7mA)
(2)明るく点滅
SDCC
(1)暗い(電流3mA)
(2)暗く早い点滅
このテストで予想すると、回路も変えずPWMもしていないのに暗くなるのは、何かの設定なのかな?と思った次第なのです
862 :
860 :2010/01/30(土) 15:00:19 ID:7MSvQy/w
自己解決。 ポートがアナログのままだっただけ… 自分があほなだけでした(涙
たくましく育って欲しい by 丸大
864 :
774ワット発電中さん :2010/03/03(水) 08:49:35 ID:54zKNSPL
PICでBEEP音を作りたい人 いませんねえ。
いませんねえ。(原田知世ふう)
866 :
774ワット発電中さん :2010/03/05(金) 17:53:03 ID:QidV5F2L
PICと、MAX662を使って5Vから昇圧した12Vで、圧電スピーカーを使ったBEEP音を出したいのですが、 どういう回路にすれば良いですか? 5VではPWM出力を直接圧電スピーカーにつないで出したのですが、思ったより音量が小さくて、 もっと大きくしたいと思いまして・・・。 MAX662は30mAの出力は保証されているようですが、電流は足りるのでしょうか?
>>867 ありがとうございます!
トランジスタでやってみてはいたのですが、「抵抗にパラに」というのをやっていませんでした。
なので音がほとんど出ず、根本的なやり方が間違っているのかと思っていました。
100Ωをつけてやってみたところ、5Vより少し大きな音が出ました!
これはどういった理由で行うのでしょうか?
それから、その抵抗はどのくらいの大きさのものを入れると良いのでしょうか?
圧電スピーカーは秋月で売っていた
ttp://akizukidenshi.com/catalog/g/gP-01251/ を使っています。
お時間があるときにでも、教えていただけると嬉しいです。
869 :
774ワット発電中さん :2010/03/06(土) 11:11:53 ID:Ckn3t/cj
>>868 BEEP音発生おめでとうございます。
PWMということですが交流的にお話をしますと
例えばMAX5V、MIN4Vというような波形を作ってしまうと
振幅が1Vなのでスピーカーはほとんど震えないので音が小さいです。
また振幅が充分あっても動きがなだらか
(波形が正弦波のようになめらかだったり周波数が低い)
であってもスピーカーが震えないので音が小さいです。
振幅が大きくして(0〜5Vまで目いっぱい使う)
スピーカーをたくさん振るわせる工夫するといいと思いますが
他の人たちの反対意見があればそちらの方が正しいです。
871 :
868 :2010/03/06(土) 21:23:50 ID:nILehR4N
>>869 PWMは使わずにタイマ割込みを使って、音階が出せるようになりました!
PWMと比べて音の大きさはあまり変わらなかったです。
>>870 すごくわかりやすいサイトの紹介ありがとうございます!
抵抗はこのサイトで書いてあるように1kΩくらいが良さそうでした。
4.7kΩくらいにすると音が少し変になります。
大変勉強になりました!
最終的には音質は悪いと思いますが、小さい電圧で大音量の音声を出してみたいです。
コイル入れてみる 共振してれば爆音だよ
>>871 >PWMは使わずにタイマ割込みを使って、音階が出せるようになりました!
それならBTL駆動つうか、平衡出力にしてみたら?
5V電源で10V(±5V)相当になるよ。
874 :
774ワット発電中さん :2010/03/07(日) 03:45:40 ID:Nb9iNH/z
>874
PICはライターが絶対に必要です。
一部評価ボードにライター機能付きがありますが、そっちは割高だったり大きかったり、外部のPICには書き込めなかったりしますね。
ちなみにPICはライターをケチると環境依存で書き込みが出来ない可能性が高いです。
(RS232コネクタから給電と書き込みを行うモノがありますが、えてして最近といえないPCでも電圧不足で使えない可能性が高いです。)
(最低でもUSBタイプのやつか、PICKIT2を買いましょう。PCを買い換えるよりも何倍も安いです。)
>スイッチを押せば音が出る物ならば極単純ですが、3.5mmジャックから音を出力する場合はPICが必要 という考えは正しいでしょうか。
いいえ、このクラスのPICマイコン単体にそういう特別な機能はありません。(これはたぶんPIC内でGNDと繋いだり切ったりして音を作っているだけですね)
貴方はDC電源直結で音のなるブザーと比べてます?アレは自分で音のならせられる機構(発振回路)が入っているだけです。
イヤホンなら他のブザーやスピーカのように信号としての入力は振動が無ければ音は出ませんよ?
ちなみにこれが自分では鳴らないブザーの活用の方法
ttp://www001.upp.so-net.ne.jp/FITDESIGN/buzzer.html (多分貴方の出されたサイトも同じ事をして鳴らしているはずです。)
というわけで、マイコンが無くとも他の手段で鳴らすことも可能かと思いますけど。(電源直結でも音として出なくともコーン?は動くでしょうし。)
ただコレを普通に作成してからマイコンを抜くと、セラロックも(単体では発振せず)意味ないし、選択スイッチ、保護抵抗も意味が無いです。それぞれ空のICソケットと繋いでも意味は無いでしょう。
(買えるのでしたら)手っ取り早く最初に提示されたサイトの方から書き込み済みのPICを買ってしまうのがイイと思います。
プログラムが必要だからライターは必須
>>874 > 初心者と言っていいのかわかりませんが失礼します。
初心者さん、こんにちわ。
> を作ろうと思っておりますが、やはりPICに書き込むためのライターは必須でしょうか。
PICをつかいたいならそうですね。
> スイッチを押せば音が出る物ならば極単純ですが、3.5mmジャックから音を出力する場合はPICが必要 という考えは正しいでしょうか。
単純な音を出すだけでよければPICを使わなくてもよいですが、
モールス信号を自動的に出力したいならPICを使う方が楽でしょうね。
いまどき、モールス信号を使うことがあるのかどうかよくわかりませんが…
何をしたいのですか?
878 :
774ワット発電中さん :2010/03/07(日) 10:53:24 ID:KkgLQDyN
>>874 いらっしゃいませ。
そのサイトの中をいろいろ探しましたが
HEXファイルなどのプログラムが見つかりませんねえ。
書いてあることは
「プログラムを書き込んだPICを500円で売ります。」
ってことですよね。
それを買わないと作れないってことなのでライターは不要です。
しかしこのサイトの人は人から譲ってもらったプログラムに
ちょっと手を加えただけの物で金銭取引とは根性ありますねえ。
>>878 >プログラム書き込み済みの PIC12C509A のご要望がありましたので、有償ですが PIC-12C509A + 4MHzセラロック を配布します。
>(500円の定額小為替証書+返信先を記入して切手を貼った封筒をお送り願います)
秋月で150円と20円だから手間賃と思えば金額的には問題ないけど、元の作者の人には断りを入れてあるんだろうかね?
ホント、いい根性してる。
べつにいいでないか
881 :
774ワット発電中さん :2010/03/07(日) 15:53:25 ID:Nb9iNH/z
>>875 >ちなみにPICはライターをケチると環境依存で書き込みが出来ない可能性が高いです。
USBのPICKIT2が安心ですね。秋月さんでは安い方が品切れで残念です。KIT3は手が出ませんね。
>>877 純粋にモールスの練習に使用するところです。
特に通信をやっている訳ではないので疑問が残るかとは思いますが・・・。
>>878 PICを理解するためにも書籍を参考にに作る事にしました。
同等物というわけにも行かないですが。
回答ありがとうございます。
882 :
774ワット発電中さん :2010/03/07(日) 16:30:22 ID:KkgLQDyN
アマチュア無線でもすんのかな? おぢちゃんも昔アマチュア無線やってただよ 長髪でメガネかけてておうちの屋根に大きなアンテナ乗せてたから 友達に「過激派」とか「スパイ」って呼ばれただよ って あんまり関係ない?
>>875 > ちなみにPICはライターをケチると環境依存で書き込みが出来ない可能性が高いです。
> (RS232コネクタから給電と書き込みを行うモノがありますが、えてして最近といえないPCでも電圧不足で使えない可能性が高いです。)
統計でも取ったのかよw
シリアルものを毛嫌いしてるのはよくわかったけど。
>>882 夜中に酔っ払いに
「みろ!あのアンテナを、北を向いて居るぞ!」って叫ばれるんでつね。
885 :
774ワット発電中さん :2010/03/07(日) 22:05:57 ID:KkgLQDyN
>>884 いや
白昼に一般人に叫ばれてたよ。
実際日曜日の夜に聞こえてくる暗号放送が好きだったよ
若い女のアナウンサーの担当だったりするとうれしかったよ
www
888 :
774ワット発電中さん :2010/03/14(日) 17:50:57 ID:WI+rjSRg
Dsub9pinなどのRS232Cポートの付いたPCをノートタイプwindows98を筆頭に3台所有しているが JDMやRCDで84Aはまず100%いけるね。629や675は一発勝負的なところがある。 PICという趣味を1週間で挫折する心配を考えると3000円の出費 (当時は約6000円)はある意味賭けであるし大金なわけよ。 挫折したときの痛手を最小限に食い止めたい思いから安価なライターから出発したよ。 学校で手ほどきを受けて来た人は階段の2段目から3段目に上がる気分かも知れないが 俺がスタートした地点の下には「レベル【バカ】」って書いてあったのでね。
> 629や675は一発勝負的なところがある。 最初、調子が良くなかったんだが、しばらくしたら9割5分はイケるようになった。 ダメでもリトライすればまずOK。なんでだろうねぇ。 ちなみにRCD。
890 :
774ワット発電中さん :2010/03/14(日) 22:24:44 ID:WI+rjSRg
>>889 使用時間によって調子が変化する感じはあるので同感です。
ひょっとしてソフトはPICProg4Uかな?
あれは割と調子いいね。
自分の頃はIC−PROGとかWinPICだったので調子狂ったよ。
今はそれで焼いた675を組み込んだWriter509(Writer675)を使ってるよ。
結局市販品は未だに買ってないです。
明日PICをやめても痛くないってワケよ。www
891 :
774ワット発電中さん :2010/03/14(日) 22:58:35 ID:Z+LAmMeK
pic prog4uとRCDライタ一本ではや、5年。 お世話になってます。
892 :
774ワット発電中さん :2010/03/14(日) 23:28:03 ID:WI+rjSRg
Writer509(Writer675)に乗り換えるといいですよ。 USB変換ケーブルが使用出来るし書き込み時間が半分以下になるよ。 ソフトは基本的にはW509。PICの型式によってはPICProg4U。 W509のがやや早い気分です。
> ひょっとしてソフトはPICProg4Uかな? yes. 5年経ったかどうかは記憶に無いけど、転がってたユニバーサル基板の切れに 仮組みして、使えるんでそのまま常用w 675全力で書き込むと稀にエラーが出るけど、リトライでまず通る。 ミドルレンジぐらいの規模なら、書き込み時間は苦にならないし、RCDで十分だと思う。
894 :
774ワット発電中さん :2010/03/15(月) 22:22:03 ID:KBl9Luc/
>>893 すべて了解で同意。
で ひとつ教えてね。
自分のときは675で書込み不良でプログラムメモリーが全て「0000」と書き込まれてしまい
最後のOSCCALも消失してしまうことがあったけどそういう問題は発生していませんか?
何度も消去すると「3FFF」に戻った、または全て「3FFF」のプログラムを何度も書き込んで
「3FFF」に戻った(OSCCALは消失のまま)こともあったがRCDやJDMで復旧不可能の場合もあったよ。
そんな経験はない?自分的には629と675には弱いというイメージがあるんですよねえ。
RCDはPCに負担をかけるから常用したくない。なのでW509を作る為に書くだけの、そんなに凝らなくてもいいJDMで十分。
896 :
774ワット発電中さん :2010/03/16(火) 13:25:28 ID:omwQe0qO
>RCDはPCに負担をかけるから___ って本当? RCDでPCを壊した人を聞いたことがない。 >そんなに凝らなくてもいいJDMで十分 RCDのが製作はカンタンだけどどこを凝る?
>>896 > って本当? RCDでPCを壊した人を聞いたことがない。
PCがおかしくなったと言うレスが以前あった。
> RCDのが製作はカンタンだけどどこを凝る?
部品点数を数えればJDMの方が少ないでしょ。
しかも232CドライバICの使い方として、信号線にコンデンサをつける事は保証されてない。
てか、データーシート嫁。
898 :
774ワット発電中さん :2010/03/16(火) 19:28:37 ID:omwQe0qO
JDMとRCDを作ったことあるのかな?RCDの方が断然カンタン。 JDMの方がいろいろな追加回路が考案されてて凝るならJDM。 そのICの型式とデータシートのページ数教えてね。 お勉強するよ。 で素人判断だけどICは保証しなくてもPCの回路が保証してくれてる ってことはないのかな?
>>894 書き込み失敗は、2〜3箇所1〜2bitぐらい化けることが多い気がします。
0000になったことは、あることはあります。このときは「読み込みで失敗した
んだろう」ぐらいに考えてました。トラブルで全部ビット書けちゃう、って変だし。
あれこれやっても結局原因はつかめず。OSCCALが消えたこともあるかもしれない。
でも、書き込みシーケンス内ではいったん消してるんで、トラブル時に消えても
不思議ではないです。
>>897 部品の足が多ければ、その分点数は減る傾向になりますね。
RCDには余計な部品も含まれるし。
> てか、データーシート嫁。
ICより、規格仕様と現物確認だと思います。シリアルの場合は。
900 :
774ワット発電中さん :2010/03/18(木) 05:57:41 ID:PBaspEqr
そろそろBEEP音を作りましょう
割り込みを使うと濁ります。
902 :
774ワット発電中さん :2010/03/19(金) 06:20:56 ID:ZlROI9+q
【キャリアだけ無駄に長い】いいかげんPICでBEEP音を作りたい!!3【頭脳が残念】
音出すならAVRがいいよ
905 :
774ワット発電中さん :2010/03/19(金) 18:09:16 ID:ZlROI9+q
>>903 20MHzですごいねえ。倍の40MHzでもきつそうなのにねえ。
AVRは2つのプログラムが平行して走ってるってわけでもないんでしょ?
映像とサウンドが同時進行ってところが凄いと思った。
良い物を見せてくれてありがとう。
906 :
774ワット発電中さん :2010/03/19(金) 21:39:37 ID:ndOyYcdS
こういうアイディアは日本人はニガ手だよな 多機能信仰みたいなものがあって、あえてこういう機能限定したものを作らない というかつれない。 PICでブロック崩しとか AVRで オシロのアナログ時計とか。 モノがあるってことは人間をダメにするな
>>906 日本人は…とか、えらい短絡的じゃね?
トラ技1997年5月 ワンチップ・ブレークアウト・ゲームの製作
www.cqpub.co.jp/hanbai/books/34/34421/34421_188-189.pdf
アイディアというか、いわゆるメガデモの文化だよな
>>903 で挙げられてるのは。
そういう文化は日本にはあまりないとは思う。
908 :
774ワット発電中さん :2010/03/20(土) 08:40:33 ID:EMGhc7kI
アイデアのことを問題にしているようですが プログラミングの難易度としては問題のないレベルという認識なんでしょうか? PICでも可能なレベルなのでしょうか? C言語を使えば同じ動作になるということでしょうか? 不勉強でごめんなさい 教えてください
とりあえずPIC16では無理だと思う。
910 :
774ワット発電中さん :2010/03/20(土) 23:23:49 ID:EMGhc7kI
>>909 それは使えるC言語の文法の種類が限られるというような意味なのでしょうか?
またはメモリー容量の不足ということでしょうか?
質問ばかりですみません。お教えください
>>910 PIC16では何もかもが足りないだろう。
スピード足りない、RAMが足りない、ROMが足りない。
//PIC24なら色々逆転するけど。
解像度を落として音は矩形波3音のみぐらいなら、なんとかなる…か?
そもそも、
>>903 のはアセンブラで組まれている。
ATmega88ならともかく、PIC16でCだと更に絶望的に速度もRAMもROMも足りない。
だが、一番必要なのはチップの性能ではなくてプログラマの技術と根性と情熱だと思う。
912 :
774ワット発電中さん :2010/03/21(日) 08:40:13 ID:BEuAkd7h
>>911 PIC16では容量不足は理解しました。
>>903 の中で「20MHz」と言っているけど、AVRはPIC16より早い速度で
(どちらもアセンブラ使用で、容量は別として)動くのでしょうか?
動作に対する命令語数が少なく済み、処理が早く進むという意味でしょうか?
またまた質問ばかりでごめんなさい。とても興味がありまして・・
クロックサイクルや命令セットの違いにバンク切り替えとか色々あるから AVRの20MHzはPICの80〜100MHz相当 両方のデータシート読めば判るよ
914 :
774ワット発電中さん :2010/03/21(日) 12:26:08 ID:BEuAkd7h
>>913 >AVRの20MHzはPICの80〜100MHz相当
この説明ですっきりしました。
ありがとうございます。
すっきりはするが、正しいかどうか適当な説明だな。 これが疑似科学w
>>915 車買ったら、燃費グッズをしこたま買い込むタイプだね。
>>916 chiptuneの曲としても気持ちのいい音と曲だよね。
ファミコン(NES)用のを作ってもいい曲を作りそうだ。
Chip music の項を見たら、
> (C64 executable file, 6517 bytes)
コモドール64かよっ!
そういう素地があるならATmega88でのデモも納得。
わかりません。
ミキコ、ワタシの弾いてほしいのはミ
>>920 サザエさんのオープニングのつもりなんだけど。
エラー: このリンクは無効です。 ヒント: dip.jp にアクセスする Google で検索:
924 :
774ワット発電中さん :2010/04/30(金) 00:12:31 ID:pvx5x5Vi
>>919 もう一度アップロードしてよ〜〜〜
聞きたいなぁ
横断歩道の「とおりゃんせ」のメロディだったと思う。
926 :
774ワット発電中さん :2010/04/30(金) 09:30:35 ID:mw91HEap
PICにセントロI/FをつけてX-Yプロッタを接続 「OILOILOIL.」と文字出力させる
>>929 "OIL OIL OIL." で検索してください。
分かったけれど全然笑えない。しかも上記の音と関係ないし。
>>905 PC-8001とか4MHzでビープ音で和音だしたりしてたから、40MHzなら余裕だろ。
933 :
774ワット発電中さん :2010/05/04(火) 13:50:04 ID:Na9jVj3J
>>932 カラー動画と同時進行ってこと わかってる?
気になったので見てみた。あーメガデモかー。 内部でいくらかRAM展開したものを単純にI/O垂れ流しとしても、それなりに早いな。 ATRってコア動作どーなるんだろう? でもまあ…このスレ的にはココまで要らんよね
>>931 922つながりだろ。わかってやれよ、おとなななんだから。
ガキのたわごととしか思えない
フラットヘッドX-Yプロッタを見たことがないガキってことだな
938 :
774ワット発電中さん :2010/05/05(水) 12:21:26 ID:vpMs79N/
>>934 DSPICでFM音源のBEEP作ったよ
939 :
774ワット発電中さん :2010/05/05(水) 14:22:04 ID:TyRt5dbv
■生活保護だけじゃない【在日特権】 <丶`∀´> 【生活保護】で遊んで暮らす 在日朝鮮人 ウハウハ〜 地方税→ 固定資産税の減免 【在日特権】 特別区→ 民税・都民税の非課税 特別区→ 軽自動車税の減免 【在日特権】 年 金→ 国民年金保険料の免除 心身障害者扶養年金掛金の減免 都営住宅→ 共益費の免除住宅 入居保証金の減免または徴収猶予 水 道→ 基本料金の免除 【在日特権】 下水道→ 基本料金の免除→ 水洗便所設備助成金の交付 放 送→ 放送受信料の免除 【在日特権】 交 通→ 都営交通無料乗車券の交付 JR通勤定期券の割引 清 掃→ ごみ容器の無料貸与 → 廃棄物処理手数料の免除 衛 生→ 保健所使用料・手数料の滅免 【在日特権】 教 育→ 都立高等学校・高等専門学校の授業料の免除 通 名→ なんと公式書類にまで使える(会社登記、免許証、健康保険証など) 民族系の金融機関に偽名で口座設立→犯罪、脱税し放題。 職業不定の在日タレントも無敵。 【在日特権】 凶悪犯罪者の1/3は在日なのに実名では報道されない。 生活保護→ 【在日特権】在日朝鮮人なら、ほとんど無審査でもらえます 日本人は孤児だろうと病気だろうと、絶対にもらえない。 予算枠の大半を、人口比率1%未満に過ぎない在日が独占。 ニートは問題になっても、この【在日特権】は問題視されない。 住民票→ 外国人登録原票」は通常、一般人では閲覧できない。 (日本人の場合、債権関係の係争で住民票を閲覧される) さらに…→ 生活保護予算の大半は在日だけの【在日特権】
FM音源のBEEPってなんだろう。微妙にエコーがかかってたり? クラクションみたいな音が出たり? ポーンとかピーンポーンとかポピプッとか鳴ったり?
なんだそのMSXみたいなのは…オフィシャルだと平仮名でぽぴぷっだけど。 dsPICのDSPをFM変調に使っただけじゃなかろうか。
ガセだったようだなw
お大事に
バ○はガセ引かないから大丈夫
どうやって基板と圧電素子を付ける? なんか、うまくいかない。。。
947 :
774ワット発電中さん :2010/06/02(水) 06:32:27 ID:+RwAHHTM
948 :
のうし :2010/06/03(木) 11:55:18 ID:vCZemQO0
基板なんか介さないで歯で噛んで骨伝導するとなかなかだぞ、あまり出ない低音がいける。
ごめん、虫歯なんだ
950 :
774ワット発電中さん :2010/06/04(金) 23:37:06 ID:/alM1ggn
俺なんか歯が無いんだぜ
俺は毛がないんだ。orz
オレは胃がない
俺はちん(ry
脳がないレスばかりだ
オー!ノー!
誰も俺「懊悩」をわかってくれない
書き込みが無くなった。凄い。
959 :
774ワット発電中さん :2010/06/18(金) 21:37:08 ID:v6CvwJxy
PICでMIDI信号だして、MIDI音源鳴らすというのはどうだろ。 簡単に正確な音階で色んな音が出せる。
ハスラー教授乙
>>959 それだったらPIC使わなくても、紙にメモを書いて楽器を持っている人に手渡して音を出すのでも同じ。
でも128分音符とかは弾けないぞ。たぶん。
そんな短い音符現実には意味ないだろ。 16分音符までで十分。
PICで鳴らすなんて現実には意味ないね。 世の中にある楽器その他で十分。
野暮なヤツはここに来るなよ
966 :
774ワット発電中さん :2010/06/20(日) 11:54:43 ID:ZZEDXpwr
>>961 そこは、PICで楽譜なりコード表示する装置作って、
楽器持ってる人に見ながら演奏してもらうところだろ。
結局、MIDI音源鳴らす、以上のネタに発展できないところが悲しいw
そんなことはない。 実際に商品化した例もあるよ。
>>964 一般的なMIDIシーケンサのタイムベース知ってて言ってんの?
963へのあてつけレスに何言ってるんだかw
↑ みぐるしいね
ここで
>>959 が「やってみたよ」と再登場。
そして
>>961 が「やっぱりメモと同じ」と追い討ち。
さらに空気の読めない
>>969 あたりが絡んできて・・・
973 :
774ワット発電中さん :2010/07/02(金) 19:07:29 ID:d5/0Ti4b
まだぁ?
16F819でLEDフラッシャを作ろうとしているのですがうまく動きません 何かサンプルプログラムがあるような際とあれば教えていただけないでしょうか? 一応16F648Aで実行できたものは16F819にプログラムの修正を加えながら書き込んだのですがうまくいきませんでした。 (まったく動きませんでした)
どうなったんだ?
最近、実際の音声のうpがほとんどないな。 そろそろ新スレ立てるかな?
よろ
まだか
統合するの?
もう、落とそうかしら。
977 :774ワット発電中さん:2010/07/20(火) 04:39:52 ID:fiFlqcrq
最近、実際の音声のうpがほとんどないな。
そろそろ新スレ立てるかな?
978 :774ワット発電中さん:2010/07/20(火) 15:09:35 ID:ReaSog8D
よろ
979 :774ワット発電中さん:2010/07/20(火) 20:02:33 ID:gG0TiPux
まだか
980 :774ワット発電中さん:2010/07/25(日) 16:58:39 ID:j3WnFQni
次スレ
http://science6.2ch.net/test/read.cgi/denki/1279265489/l50 981 :774ワット発電中さん:2010/07/25(日) 19:37:20 ID:pR8ur/gJ
統合するの?
982 :774ワット発電中さん:2010/07/25(日) 20:24:39 ID:XkxQc9Yw
>>977 のやる気のなさと
>>980 が次スレを建てるしきたりから、そう決定されました。
まあPICスレでも聞けることだしねえ>BEEP音
この期に及んで地道に保守ってかw