Arduinoで音も鳴る発信機を作ってみました。
D12、D13は抵抗をはさんでコイルにつなぐ D12―コイル―抵抗(330Ω)―D13
GND、D3はスピーカーにつなぐ GND―スピーカー―D3
D7――タクトスイッチ――GND
(音の切り替え)
D6――抵抗(510Ω) ――発光ダイオード――GND
D5――抵抗(510Ω) ――発光ダイオード――GND
1.D6,D5ともに消灯 音1
2.D6点灯、D5消灯 音2
3.D6消灯,D5点灯 音3
4.D6、 D5ともに点灯 音4
Aruduinoのスケッチについて
NFCは13.56 MHzの周波数を利用するものなので、できるだけ、高速でI/OポートのHigh,Lowを繰り返さなければなりません。
調べたところ、
①PORTB = B00100000; // デジタルピン13をHIGHに
②PORTB = B00010000; // デジタルピン12をHIGHに
を繰り返す方法が一番速いように思いました。
これを単純に繰り返すと7MHz程度のスピードがでるようですが、
For文、while文で繰り返すと、この命令だけでPORTB文4サイクル分以上かかって遅くなってしまいます。
それでAruduinoのメモリをわくいっぱい使い、①②を4000回ほど繰り返し、そのかたまりをさらにwhile文で繰り返すことにしました。
0 件のコメント:
コメントを投稿