時間を計る
Arduinoのスケッチで時間を計るためには、millis()関数が用意されています。これはArduinoのマイコン・ボードに電源が投入されてからの経過時間が戻されます。単位はmsです。6万で割ると分の経過時間となります。
この値の奇偶でポート5に接続されてLEDの点滅を行います。ポート6に接続されたLEDは2分ごとに点滅するようにします。そのため12万で割りその答えの奇偶で点滅します。
時間を計る
Arduinoのスケッチで時間を計るためには、millis()関数が用意されています。これはArduinoのマイコン・ボードに電源が投入されてからの経過時間が戻されます。単位はmsです。6万で割ると分の経過時間となります。
この値の奇偶でポート5に接続されてLEDの点滅を行います。ポート6に接続されたLEDは2分ごとに点滅するようにします。そのため12万で割りその答えの奇偶で点滅します。
LilyPad用圧電ブザー
前回作成した 関数void beep((int buzpin,int fre,long timel1)を利用して、「スローステップ運動用」のタイミング作成用のタイミング用ブザーのスケッチを作成します。
今回作成したスケッチを次に示します。
LilyPad用圧電ブザー
今回は、LilyPad用の圧電ブザーを使用します。圧電ブザーですので音として鳴らすためには、音の高さに応じた周波数のパルス信号を加える必要があります。ディジタル出力をブザーのプラス端子に接続します。ブザーのマイナスは電源のGND(-電源)に接続します。
この状態で、パルスの周期の半分の時間 ディジタル出力をHIGHにして、残りの半分の時間 出力をLOWにします。ブザーを鳴らしている間、この操作を続けます。この処理のためのスケッチではブザーを鳴らすための関数を作ってみます。
発振周波数はドレミファ
発振周波数はC7からのドレミファの4音を繰返すことにします。ドは2093Hz、レは2349Hz、ミは2637Hz、ファは2794Hzとなります。
加速度センサからの出力の値
<加速度センサはマイクロマシンの親戚の技術で作られている>
LilyPad 加速度センサには、ANALOG DEVICES社のADXL330というデバイスが利用されています。
この加速度センサは、MEMS(Micro Electro Mechanical System)と呼ばれる半導体を製造する技術で製造されたセンサです。センサの内部に小さな錘があり、その錘が受ける加速度による変移をピエゾ抵抗または静電容量の変化として捉えます。この機構を、半導体を作る技術と同じ技術で作ることによって、今回使用しているADXL330では4mm×4mm×1.45mmの大きさの中に組み込んでいます。マイクロマシンを作っている技術と同系統の技術で作られています。
カバンの白色LEDの点滅
カバンの白色LEDの点滅回路を抜き出すと、次のようになります。プラス電源からマイナス電源の間に白色LEDのユニットを直列に接続しています。この回路を接続している出力ポートは、スケッチのsetup関数の中で必ず、
pinMode(ポート番号、OUTPUT);
出力に設定します。ディジタルポートのデフォルトのモードはINPUTです。
出力ポートと設定せずに次の回路を接続すると、ディジタル・ポートはHIGHでもなくLOWでもない中間の電圧になります。ディジタル入力電圧がこのような中間の電圧になるとICの内部で貫流電流と呼ばれる過大な電流が流れ、システムを不安定にしたり、場合によっては素子を破壊する場合があります。そのために、pinMode関数でOUTPUTに設定するのを忘れないでください。