2007.6.30.

  • 今日は就活?みたいな感じで
何も進んでない。
ホームページを作っている。
明日からnew pageに移ります。



コメント
名前:
コメント:




2007.6.29.

図6.29-1
  • ArduinoのSerial.begin()について
どうやら、本プログラムは一定の時間で動いていない模様。1回のroop()の経過時間は上記図のように一定ではない。一定で動かなくてもちゃんと動かないことはない。ノイズの原因がこの辺りにあると思ったが、また違った要因かもしれない。
アー!!やーばーいー。予想以上に時間がかかっている。

さらに、roop()の中身に1秒ごとにLEDを点滅させるプログラムを置いてみたところ、およそ3秒ごとに点滅したので、実行速度が本来の1/3にまで低下していることが分かった。

そもそもこのマイコンはどうやって1秒を測っているんだろうか? コンピュータ側の1秒と連動しているんだったら、それはもう一定ではない。
と、思って、コンピュータから切り離して電池で駆動させてみた。すると、まあ大体同じ時間で動いた。しかも同様に時間間隔は不安定であった。(あと、LEDの明るさがほぼ半分になっていたのが多少気になるところ。)



  • 赤外線リモコン受信モジュール(Photo Modules for PCM Remote Control Systems)と赤外線LED(狭放射タイプ)を用いて、赤外線送受信にトライ。
今一瞬分からなくなったので、メモ。
ミリsec = 1/1000sec
マイクロsec = 1/100000sec = 1/(10^-6)sec

1Hz = 1secに1周期
1kHz = 1secに1000周期
38kHz = 1secに38000周期

使える関数
delayMicroseconds();

今先ほど、できたー。500msecごとに信号"1"を発する。
ちなみに、pulsos[]の中身を書き換えることによって、いろんなパターンの信号が送れるようになっている。
int ledPin=13;
int IRPin=5;
int pulsos[]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
              1,1,1,1,1,1,1,1,1,1,1,1,1};
int cont=0;
int cont2=0;
 
void setup() {
 pinMode(ledPin, OUTPUT); 
 pinMode(IRPin, OUTPUT);
}
 
void loop(){ 
  digitalWrite(ledPin,HIGH);
  for(cont=0;cont<28;cont++){
    if(pulsos[cont]==1){
	for(cont2=0;cont2<38;cont2++){ 
	 digitalWrite(IRPin,HIGH);
	 delayMicroseconds(13);
	 digitalWrite(IRPin, LOW);
	 delayMicroseconds(13);
	} 
    }else{
	digitalWrite(IRPin, LOW);
	delay(1);
    }
  }
   digitalWrite(ledPin,LOW);
   delay(500);
}  
 
図6.29-2
図6.29-3
受信中の様子。



コメント
名前:
コメント:




2007.6.28.

  • ArduinoのSerial.begin()について
今、Serial.begin(9600)と設定している。これはReferenceには、

Description
Sets the data rate in bits per second (baud) for serial data transmission. For communicating with the computer, use one of these rates: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200. You can, however, specify other rates - for example, to communicate over pins 0 and 1 with a component that requires a particular baud rate.
Parameters
int datarate, in bits per second (baud)

と書かれている。ためしに1200に設定したところ、一秒という時間が実時間より1200/9600程度遅くなったっぽい。

そして実行時間中ループする関数、roop()のなかの実行回数を見たかったので、long i;を置いてi++してみたところ、平均i=22106.25だった。

  • iの値
22432	
44645	22213
66832	22187
88956	22124
111134	22178
133235	22101
155305	22070
177317	22012
199445	22128
221553	22108
243618	22065
265640	22022
287707	22067
----------------
	22106.25
※iの値。1秒ごとに1行。右列が行ごとの差。下が平均値。




コメント
名前:
コメント:




2007.6.27.

今日はプログラミング演習の質問タイム等で進まなかった。
これはよくないよー!
  • ホタル通信。ものすごくノイズが乗るので、除去のための検証。23日~
どうやら規則的な周期は、プログラムに要因がありそう。
その辺りを明日以降調整していこう。


  • 赤外線リモコン受信モジュール(Photo Modules for PCM Remote Control Systems)と赤外線LED(狭放射タイプ)を用いて、赤外線送受信にトライ。
今日はなし。




コメント
名前:
コメント:




2007.6.26.

  • ホタル通信。ものすごくノイズが乗るので、除去のための検証。23日~
今日はなし。


  • 赤外線リモコン受信モジュール(Photo Modules for PCM Remote Control Systems)と赤外線LED(狭放射タイプ)を用いて、赤外線送受信にトライ。
この辺に詳しい人に教えてもらった。何がいけなかったかというと、送信側が38kHzで送信しないと駄目らしい。この辺は、マイコンでプログラム書けば何とかなるかな。DigitalWrightの関数で。
以下はメモ。
(1)送信側 (2)受信側 (3)38kHzに設定しないと駄目
図6.26-1




コメント
名前:
コメント:




2007.6.25.

  • ホタル通信。ものすごくノイズが乗るので、除去のための検証。23日~
前日のコメントありがとうございました。アドバイスにしたがって、さらに検証してみました。
今日はなぜかノイズが少なく、熱電対の値が反映された。でもまだノイズはある。
以下の図6.25-1は、3回分の呼吸。まあまあうまく出ている。(後半はノイズの極大値)図6.25-2が、定期的に乗っているノイズ。かなりはっきりしている。パソコンの電源を抜いても直らなかった。まだ謎。
このノイズは、回路から来るものではない。というのは、オシロスコープで見たところ、マイコンまでのところではノイズが乗っていなかったから。
そして、交流から来るものかと思い、パソコンの電源を抜いてみたところ、図6.25-3が得られ、変化がないことがわかる。すみません、値見にくいかも。そしてガッカリ。
図6.25-1
図6.25-2
図6.25-3




  • 赤外線リモコン受信モジュール(Photo Modules for PCM Remote Control Systems)と赤外線LED(狭放射タイプ)を用いて、赤外線送受信にトライ。
この辺に詳しい人を発見! でも今日は話を聞けなかった。




コメント
  • ホタログ・トップページに基本情報を載せました。
    よろしければ参考にしてください・・・ -- ninja(管理人) (2007-06-25 19:56:33)
名前:
コメント:




2007.6.24.

  • ホタル通信。ものすごくノイズが乗るので、除去のための検証。23日~
パソコンにつないだ状態で実行すると、信号の極大値maxxをとったときの振幅widthhは常に3に。熱電対の値は全く反映されず。
24日~、ホーマックで銅網を探すが、売ってない。
櫻沢研から銅の金網をかりる。一瞬止んだが、またノイズィに。以降、ずっとノイズィ。
パソコンから孤立させて起動。すると、ノイズはほぼ消えた(ように見えた)。でもパソコンにつながないと、データ記録とデバッグはできないので、どうにかしたい。

図6.24-1
図6.24-2

  • 赤外線リモコン受信モジュール(Photo Modules for PCM Remote Control Systems)と赤外線LED(狭放射タイプ)を用いて、赤外線送受信にトライ。
ちなみにPCM方式とは、一定時間毎に信号が有るか無いかで0、1を区別する感じ。送信側と受信側で「一定時間」と言うのをずれない様にしなければならないらしい。ホタル通信に関しては近距離だから、あとはシステムが滞りなければ大丈夫だと思う。
なんとなく仕組みが分かったところで早速トライ。
受信機はとりあえずモジュールにGNDと5Vを接続。
LEDを光らすみたいにスイッチと1.5V電池×2を用いて発信機を製作。
これだけじゃだめなのか。受信機が全く反応しません。
ワッショイ!訳わかんなす。

◆参考になりそうなページ オーグチさんの卒業研究




コメント
  • 測定系が直流だとうまくって、交流が入ってくるとだめなんだと思う。
    だから、ノートPCなら電源だけ抜けばノイズがなくなると思う。
    -- Kuni (2007-06-25 07:11:07)
  • パソコンとシリアル接続してるってこと?
    もしそうなら、回路にバグがあるということなんじゃないだろうか?
    どこかで短絡してるとか -- 奉行 (2007-06-25 08:53:39)
名前:
コメント:



today: -
yesterday: -
最終更新:2007年06月30日 16:51