2007.7.6

今日発表資料作って、明日から美馬研・柳研合同合宿です。
あ、そういえば増井さんという方が9月のはじめに函館に来るそうです。インターフェース関係の方はチェックのほう、よろしくお願いします。




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




2007.7.5

午前中は病院でつぶれた。夕方、組み込み系詳しい人に聞いて、ようやく実行速度の遅れを理解。なるほど! 今日はそれだけ。
  • 呼吸が速くなると、REDが赤色に変色するプログラム
やっと遅くなる理由が分かった・・・。delay()のせいです。ここをmillis()を使った分に書き変えてみようと思います。




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




2007.7.4

  • WISSに投稿について
WISSのページ(http://www.wiss.org/)
2007年の情報が全く載っていないけど、どういうことだろう? あれ、今年は2007年だっけ・・・?
と思ったら、あった。 
WISS2007(http://www.wiss.org/WISS2007/)

  • an Tシャツデザインコンテストに応募
今日の前半、やる気と集中力がなかったので、気晴らしに応募してみた。コクヨデザインアワードは応募し損ねた!! ああ、200万が・・・。ところで応募したデータは、結果が出てから公表する。かもしれない。
応募のページ(http://weban.jp/koots/contest/)

  • 呼吸が速くなると、REDが赤色に変色するプログラム
アレ!?おかしいなー。赤色しか見えないよ。
図7.4-1
もしやそういうタイプのLEDかと思って、確認してみたらちゃんと点いたので、やはり例のプログラム実行速度の弊害だと思う。コンピュータ側のSerialのSpeedはどこで変更すればいいんだろうか? これは明日聞こう。




コメント
  • 使っているシリアル通信のソフトにビット・レート(bitrate)とかボー・レート(baud rate)とかって項目ない?
    それで変更できるはずよ。因みにビットレートもボーレート(多分この場合は)意味はどちらも同じとおもっていいです -- 奉行 (2007-07-05 12:23:54)
  • どこだろう!? 見当たらない。 -- ニンジャ (2007-07-05 17:37:11)
名前:
コメント:




2007.7.3

  • 呼吸が速くなると、REDが赤色に変色するプログラム
プログラムは書け、コンパイルは通ったけどまだ動作確認はしてない。先日回路を確認する際に、マイコンの接続等を全部ばらしたので、元に戻すのに時間がかかる。とりあえずドライバーが見当たらない。明日来て動作確認する。
もはや、見るのが億劫なほど長くなってしまったプログラム・・・。184行。まだましか。

以下、未確認プログラム。メモ。確認したら消す。
/***
  呼吸-LED2
  pwmを用いた
  ***/
 
//sekibun
  int i = 0;
  int ad;
  int valS[101];
  long sum = 0;
  int heikin1, heikin2;
  int now;
 
//maxx
  int maxx;
  int widthh[4] = { 8, 8, 8, 8};
  char line1, line2;
  long t = 0;
  long time1, time2;
  long widadd = 8;
 
//黄色LED
  int ledPin3 = 11;   // LED connected to digi-pin 11
  int YPW1 = 1;
  int YPW2 = 4;
  int k1 = 0;
 
//赤色LED
  int ledPin2 = 12;   // LED connected to digi-pin 12
  int RPW1 = 1000;
  int RPW2 = 4000;
  int RPW3 = 100;
  int k2 = 0;
 
//その他
 
 
//確認用
  long r = 0;
  long u = 0; 
  int ledPin = 13;          // LED connect 13
  int previousMillis = 0;   // LED fu? modificado
  int value = LOW;          // Estado anterior del LED
  int interval = 1000;      // Intervalo de parpadeo
 
 
void setup()
{
  Serial.begin(9600);
  pinMode(ledPin3, OUTPUT);      // Yellow pin as output
  pinMode(ledPin2, OUTPUT);      // Red pin as output
  // 確認用
  pinMode(ledPin, OUTPUT);
}
 
void loop()
{
  sum = 0;
  heikin1 = heikin2;
  r++;
  // ここで100幅分の平均値を計算
  for(i=0 ; i<100 ; i++){
      ad = analogRead(0);
      valS[i] = ad;
      sum += valS[i];
 
  //LED_Yellow   
      if(k1 == 1){ // 下向きのベクトルのとき(温度下降時)
        YPW1 = 1;
        if(YPW2 <= 20){
           YPW2 = YPW2 + 1 ; // LEDだんだん明るく
        }
        if(YPW2 > 20){
           YPW1 = 0;
        }
      }
      if(k1 == 0){ // 上向きのベクトルのとき(温度上昇時)
         YPW1 = 1;
         if(YPW2 >= 1){
           YPW2 = YPW2 - 1;// LEDだんだん明るく
         }
      }
      // pwm操作
      digitalWrite(ledPin3, HIGH);   // sets the LED on
      delay(YPW1);                  // wait 
      digitalWrite(ledPin3, LOW);    // sets the LED off
      delay(YPW2);                  // wait
 
  //LED_Red   
      if(k2 == 1){ // 下向きのベクトルのとき(温度下降時)
        RPW1 = 1;
        if(RPW2 <= 20){
           RPW2 = RPW2 + RPW3 ; // LEDだんだん明るく
        }
        if(RPW2 > 20){
           RPW1 = 0;
        }
      }
      if(k2 == 0){ // 上向きのベクトルのとき(温度上昇時)
         RPW1 = 1;
         if(RPW2 >= 1){
           RPW2 = RPW2 - RPW3;// LEDだんだん明るく
         }
      }
      // pwm操作
      digitalWrite(ledPin2, HIGH);   // sets the LED on
      delayMicroseconds(RPW1);       // wait 
      digitalWrite(ledPin2, LOW);    // sets the LED off
      delayMicroseconds(RPW2);       // wait
    }
    heikin2 = sum/100;
 
 
  //* Down *//
  if(heikin1 > heikin2){
    if((line1 == 'U' && line2 == 'F') ||
       (line1 == 'F' && line2 == 'U') ||
       (line1 == 'U' && line2 == 'U')){
     maxx = heikin1;  // 極大値の更新
      time1 = time2;
      time2 = t;
      widthh[0] = time2 - time1;      // 振幅
     line1 = line2;
    line2 = 'D';   
    k1 = 1;
    }
    else if(line1 == 'F' && line2 == 'F'){
      line1 = line2;
      line2 = 'D'; 
      k1 = 1;
    }
    else{
      line1 = line2;
      line2 = 'F';
    }
  }
 
  //* Widthh for Red LED *//
  widthh[3] = widthh[2];
  widthh[2] = widthh[1];
  widthh[1] = widthh[0];
  widadd = (widthh[1] + widthh[2] + widthh[3])/3;
 
  if(widthh[1] > widthh[2]){
    k2 = 1;
    RPW3 += 100;
  }
  else if(widthh[1] < widthh[2]){
    k2 = 0;
    RPW3 -= 100;
  }
 
  //* Up *//
  else if(heikin1 < heikin2){
    if((line1 == 'D' && line2 == 'F') || 
    (line1 == 'F' && line2 == 'D') ||
    (line1 == 'D' && line2 == 'D') ||
    (line1 == 'F' && line2 == 'F')){
      line1 = line2;
      line2 = 'U';
      k1 = 0;
    }
    else{
      line1 = line2;
      line2 = 'F';
    }
  }
 
  //* Flat *//
  else {
    line1 = line2;
    line2 = 'F';
  }
 
  // 確認用
    if (millis() - previousMillis > interval) {
    previousMillis = millis();   
    // Recuerda la ?ltima LED cambi?
    if (value == LOW)            
    // Si el LED est? apagado lo enciende y viceversa.
      value = HIGH;
    else
      value = LOW;
    digitalWrite(ledPin, value);
    Serial.println(i);
  }
}
 
 




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




2007.7.2

  • 今日は就活?みたいな感じで
何も進んでない2。 これはまずい。
でもホームページを作っている。ほぼ一息ついた。

明日は色をつけるプログラムを書く予定だったけど、
明後日のゼミが明日に移動になったので…、どうにか何とかしよう。



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





today: -
yesterday: -
最終更新:2007年07月11日 01:37
添付ファイル