イノッチの鉄道模型ブログ

日常生活の中のトピックスを気ままに書きます。鉄道模型製作や畑作業が中心です。
これまで製作した鉄道模型作品は、ホームページ「イノッチの鉄道模型」inoyoshio.jimdo.comに載せていますので、こちらもよかったらみてください。

Arduinoで自動往復・ポイント切替運転②

前回に引き続き 回路検討です。スイッチを切るのを忘れると往復運転をいつまでもつづけてしまう、という作品展での苦い経験から、
「プッシュボタンを押して発車し、数回往復したあと自動的に運転停止する」ことにこだわって、なんとか作った今のスケッチをそのまま生かして自動停止にこぎつけました。


1)PBオンでスタート
「切替スイッチ」を倒してスタートする方式から→「プッシュボタン」オン方式(リレー接点による自己保持制御)にしました。また、いきなり定速になるので、コンデンサ充電による なめらかスタートにもしました。


2)自動停止の方法
n回往復したことをカウントして停止する方法が常道と思いますが、今のスケッチをそのまま生かし、 RSc検出後の「if条件」支配下の最後にモータを停止するという方法にしました。タイミング的には上図の紫の部分(終了制御)です。
スケッチの追加としては
if(digitalRead(4)==HIGH){  ここの処置の最後に 
    ⁑
    ⁑ 
analogWrite(9,val/9); //減速2(1秒間)
delay(1000);
digitalWrite(10,LOW); //走行一旦停止
delay(1000);
digitalWrite(8,HIGH); //モータ回路OFF
delay(2000);
digitalWrite(8,LOW);
を追加しました。

回路図の変更は色塗りの部分です。初めて作ったスケッチで車両の自動運転が実現できたので、強引に追加回路で更新した次第です。実現した改良運転の動画を撮ろうとすると、ポイント付近の脱輪が再発しました。じっくり原因追及しなければと‥。
また、oomoriさんから「int変数」を使ったスケッチ構想の提案をしてもらい、Arduinoとのつきあいも、まだまだ ”2合目”あたりかな‥といった感じです。

×

非ログインユーザーとして返信する