忍者ブログ

あやの

NゲージをベースとしたDCCについての日記を 書いています。 ある程度貯まりましたら、鉄道模型のDCCのまとめサイトに まとめています。 DCC館 http://1st.geocities.jp/dcc_digital/ DCC2号館 http://dcc.client.jp/

2018/04    03« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »05
なんか、おもしろそうなので、ebayで買いました。
作るのめんどくさかったので、完成品を購入。$11.90

LCRメータの他に、色々できるようですが、まだ試していません。

右のパターンに部品を押し付けておくと、SMT部品も測定できます。

SS14


RB160M-30TR


T4


S2


セラミックコンデンサ


抵抗




拍手[0回]

PR
鉄道模型市2018に、DCC電子工作連合が出展!こうご期待!
DCC電子工作連合:http://desktopstation.net/tmi/
第15回 鉄道模型市2018 ←クリック!
開催会場:都立産業貿易センター 台東館 4階展示室
開 催 日 :2018年 4月30日(月、祝日)
DCC電子工作連合の位置はココから確認しておいてください。
117番です。
 
DCC館からは、キワモノを揃えさせてもらいました。
・TOMA-RUN With Tantalum 7個 抵抗・ダイオード付キット 1000円 (配布数6個)
 中国で買ったタンタルコンデンサ付き
・両極性化基板 5個(完成品)1000円(配布数3)
・両極性化基板 10個 トランジスタ・ダイオード・定電流ダイオード付キット  1000円 (配布数5個)
・Monitoring Board(LEDのシルク間違えています) お一人様2個  カンパコーナー?

工作レベル ★★★★★










拍手[1回]

Dsair用にebayで購入したものが届きました。
$1.42でした。
貧乏性なのでアクリル保護フィルムはまだ剥がしていません。
(この方がMDF風で良いかなw)











拍手[0回]

ファンクッションは当初
出発時 F4
PM9 F5
AM0 F6
AM3 F7
AM6 F8
ヤード F9
で作りましたが、DCS50k がF9認識しなかったので、AM6無くしてF8 ヤードになっています。

また、DCS50Kは電源を入れ直しても、前回のファンクッションを覚えている様で
いろいろ対策入れました。
勝手にF4が始まるのはガードしきれていません。
ヤードはランダムに点灯する様に作ってみました。




void Elm_Control(){
  static char state = 0;    // ステート
  static char lamp[8]={0,0,0,0,0,0,0};
  static char sw = 0;
  static long cnt=0;
  long selL  =0;
  
  switch(state){
    case 0:
      if(gState_F4 == 0){
        lamp[0] = 0;
      } else {
        lamp[0] = 1;
      }
      if(gState_F5 == 0){
        lamp[1] = 0;
      } else {
        lamp[1] = 1;
      }
      if(gState_F6 == 0){
        lamp[2] = 0;
      } else {
        lamp[2] = 1;
      }
      if(gState_F7 == 0){
        lamp[3] = 0;
      } else {
        lamp[3] = 1;
      }
      if(gState_F8 == 0){
        lamp[4] = 0;
      } else {
        lamp[4] = 1;
      }
      if(gState_F9 == 0){
        lamp[5] = 0;
      } else {
        lamp[5] = 1;
      }
      digitalWrite(O1, LOW);
      digitalWrite(O2, LOW);
      digitalWrite(O3, LOW);
      digitalWrite(O4, LOW);
      
      cnt ++;
      if (cnt==10){
          state = 1;
           cnt =0;      
      }
      break;
      
    case 1:
      if(gState_F4 != lamp[0]){
        // F4 受信時の処理
        // 出発時
        digitalWrite(O1, LOW);
        digitalWrite(O2, HIGH);
        digitalWrite(O3, LOW);
        digitalWrite(O4, LOW);
        lamp[0] = gState_F4;
        break;
      }
      if(gState_F5 != lamp[1]){
        // F5 受信時の処理
        // PM9時
        digitalWrite(O1, HIGH);
        digitalWrite(O2, HIGH);
        digitalWrite(O3, HIGH);
        digitalWrite(O4, HIGH);
        lamp[1] = gState_F5;
        break;
      }
      if(gState_F6 != lamp[2]){
        // F6 受信時の処理
        // AM0時
        digitalWrite(O1, HIGH);
         digitalWrite(O2, HIGH);
        digitalWrite(O3, HIGH);
        digitalWrite(O4, LOW);
        analogWrite(O4, 10);
        lamp[2] = gState_F6;
        break;
      }
      if(gState_F7 != lamp[3]){
        // F7 受信時の処理
        // AM0時
        digitalWrite(O1, HIGH);
        digitalWrite(O2, HIGH);
        digitalWrite(O3, HIGH);
        digitalWrite(O4, LOW);
        lamp[3] = gState_F7;
        break;
      }
      if(gState_F8 != lamp[4]){
        // F8 受信時の処理
        // AM6時
        digitalWrite(O1, LOW);
        digitalWrite(O2, LOW);
        digitalWrite(O3, LOW);
        digitalWrite(O4, LOW);
        state = 2;
        lamp[4] = gState_F8;
        break;
      }
      if(gState_F9 != lamp[5]){
        // F9 受信時の処理
        // ヤード
        digitalWrite(O1, LOW);
        digitalWrite(O2, LOW);
        digitalWrite(O3, LOW);
        digitalWrite(O4, LOW);
        state=2;
        lamp[5] = gState_F9;
        break;
      }
     
    break;
    case 2:
        if(gState_F4 != lamp[0]){
          state =1;
          break;
        }
        selL = random(3);// 0 - 2
        cnt = random(1,5);
        FlashTimer = millis();
        switch(selL){
          case 0:
            state = 3;
            break;
          case 1:
            state = 4;
            break;
          case 2:
            state = 5;
          default:
            break;
        }
        break;
      case 3:
        if((millis()-FlashTimer) >= 200){
          FlashTimer = millis();
          
          if(sw==0) {
            digitalWrite(O1, LOW);
            sw = 1;
            cnt--;
          } else {
            digitalWrite(O1, HIGH);          
            sw = 0;
          }
          if(cnt==0){
             state = 2;
          }          
        }
        break;
      case 4:
        if((millis()-FlashTimer) >= 300){
          FlashTimer = millis();
          
          if(sw==0) {
            digitalWrite(O3, LOW);
            cnt--;
            sw = 1;
          } else { 
            digitalWrite(O3, HIGH);          
            sw = 0;
          }
          if(cnt==0){
             state = 2;
          }          
        }
        break;
      case 5:
        if((millis()-FlashTimer) >= 400){
          FlashTimer = millis();
          
          if(sw==0) {
            digitalWrite(O4, LOW);
            sw = 1;
            cnt--;
          } else{
               digitalWrite(O4, HIGH);          
            sw = 0;         
          }
          if(cnt==0){
             state = 2;
          }          
        }
        break;
    default:
      break;
  }
}


拍手[0回]

FusionPCBの送料込みの$7.9基板が3/18に注文して4/4に届きました!









拍手[2回]

ブログ内検索

プロフィール

HN:
あやのすけ
性別:
非公開
| HOME Next >>
Copyright ©  -- あやの --  All Rights Reserved
Design by CriCri / Material by もずねこ / powered by NINJA TOOLS / 忍者ブログ / [PR]