Androidスマートフォンで模型をコントロール

 

〜☆改良版☆ ショート検知機能付き仕様回路〜

 オリジナルの回路には保護機能としてポリスイッチを取り付けてありますが、PWM出力だと遮断動作が不安定な
ようで、より確実な検知機能を追加しました。

 フォトカプラを使って線路に流れる電流を監視しています。
 運転中にショートすると、電流が抵抗の少ない方へ流れるのでフォトカプラの方へ流れる電流が減るので、それを
検知してショートと判断します。

 ショートを検知すると出力を止めて非常ランプが点灯します。
 復旧はコントローラーで方向を切替えるだけの簡単操作です。

 運転用のアプリは前回の物がそのまま使えます。

 パターン基板を使っていますが、回路を1枚に収めるために一部のパターンを切断しています。

  マイコンに書き込むスケッチは以下のとおりです。

 

部品の構成

★は今回の追加部品

ブレッドボード型プリント基板

Bluetoothモジュール EGBT-045MSAVR

マイコン ATMEGA328P

クリスタル(水晶発振子) 16MHz

フルブリッジドライバーTA8428K

ダーリントン・トランジスタ 2SD1415A x2

整流用ショットキーダイオード x2

3端子レギュレーター5V  TA48M05F

電解コンデンサー47uF

電解コンデンサー10uF

積層セラミックコンデンサ0.1uF

ポリスイッチ 0.4A(0.8Aで遮断)

ピンソケット(長くて分割できるのが良)

★ブリッジダイオード DF08M 800V1A

★フォトカプラ TLP621−1

★抵抗 100KΩ x2

★定電流ダイオード 15mA

★LED 赤・緑 各1個

ACアダプタ 15V0.8A または 12V1A

ACアダプタジャック

///PWM周波数設定
void analogWrite3(int op1){
  TCCR2A=0b00100011;
  TCCR2B=0b00001010;
  OCR2A=150;
  OCR2B=op1;
}
void analogWrite10(int op2){
  TCCR1A=0b00100011;
  TCCR1B=0b00011010;
  OCR1A=150;
  OCR1B=op2;

void setup() {
  Serial.begin(9600);
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
}
int v=0;
int v1=10;
int fw=0;
int res=0;
void loop(){
  int ar=analogRead(0);
  if (fw!=0){
    if (ar<800){
      fw=0;
      res=1;
      v1=0;
      digitalWrite(11,HIGH);
    }
  } 
////方向転換

  if (v==201){
    fw=1;
    digitalWrite(13,LOW);
    digitalWrite(3,LOW);
    digitalWrite(11,LOW);
    delay(10);
  }
  if (res==1){
    v=202;
    res=0;
  }

  if (v==202){
    fw=0;
    digitalWrite(13,LOW);
    digitalWrite(3,LOW);
    digitalWrite(12,LOW);
    digitalWrite(10,LOW);
  }
  if (v==203){
    fw=-1; 
    digitalWrite(12,LOW);
    digitalWrite(10,LOW);
    digitalWrite(11,LOW);
    delay(10);
  }
/////ポイント1 
  if (v==210){
    digitalWrite(5,HIGH);
    delay(100);
    digitalWrite(5,LOW);
    digitalWrite(2,HIGH);
    delay(100); 
    digitalWrite(2,LOW);
  }
  if (v==212){
    digitalWrite(6,HIGH);
    delay(100);
    digitalWrite(6,LOW);
    digitalWrite(4,HIGH);
    delay(100); 
    digitalWrite(4,LOW);
  }
////ポイント2
  if (v==214){
    digitalWrite(7,HIGH);
    delay(100);
    digitalWrite(7,LOW);
  }
  if (v==216){
    digitalWrite(8,HIGH);
    delay(100);
    digitalWrite(8,LOW);
  }
  if (fw==1){
    digitalWrite(13,LOW);
    digitalWrite(12,HIGH); 
    analogWrite3(v1);
    digitalWrite(10,LOW);
  }
  if (fw==-1){
    digitalWrite(12,LOW);
    digitalWrite(13,HIGH);
    analogWrite10(v1);
    digitalWrite(3,LOW);
  }
  v=Serial.read();
  if (0<v && v<150){
    v1=v;
  }
  delay(5);
}

【送料無料】電脳Arduinoでちょっと未来を作る

【送料無料】電脳Arduinoでちょっと未来を作る
価格:1,890円(税込、送料込)

inserted by FC2 system