見出し画像

Nゲージの自動運転 #2 費用0円 Arduinoやパーツが無くても電子工作を疑似体験できる。

Arduinoを買っても、使えるか心配。
スケッチって何? プログラムなんて書いたこと無い!
そんな方に、費用0円で Arduino が試せます。
Lチカ (LEDを、チカチカ点滅(^^ゞ )も試せます。

ここに書いた内容は私が実際にやってみたことです。
嘘はありませんが電気もパソコンもプログラムも鉄道も・・・すべてに素人の私です。内容について誤った記述があるかもしれません。
実践される場合は自己責任でお願いします。

以下「作業のながれ」までは、テーマには無関係な内容が続きますので、読み飛ばして下さい。

中古で売れるかダメなら処分しようと、ホコリを被ったNゲージ。
少し走らせてから処分しよう! と思ったのが復活の切っ掛け(^^ゞ
「Arduino とやらを使うと自動運転ができるらしい?!」との情報も小耳にはさみ、これはやるしかない!と、思ったのが今から1ヶ月ほど前。
初めて知った「Lチカ」も楽しかった。
しかし、Nゲージの自動運転への挑戦を始めると・・・電気もパソコンも分からない素人にとって失敗・挫折の連続。
モータドライバ も、最近知ったばかり・・・(^^ゞ
でも失敗を繰り返しながらも少しずつ前に進んでいます。
ここまでネットや書籍では解りずらかったことなど、特に電気やプログラムの初心者の方に、失敗しながらも、何とか解決できた情報をお伝えしていきたいと思い note を始めました。
稚拙な内容だと思いますので、その点はご容赦を!

作業のながれ

1 Arduino IDE をインストール
2 SimulIDE をダウンロード
3 SimulIDE を開いて回路を製作 図A
4 Arduino IDE でスケッチを書く 図B
5 コンパイル後、SimulIDE へ転送
6 SimulIDEの電源アイコンをクリックして実行


1 Arduino IDE をインストール

2 SimulIDE をダウンロード

ここまでは、ネットや書籍に詳しい情報がありますので省略します。

3 SimulIDE を開いて回路を製作

SimulIDE 画面 左からパーツを選び中央のワークスペースに配置・配線する

上が SimulIDE の初期画面。
ここに、ArduinoUno LED 抵抗を配線する。(下図 図A)
スケッチを書いて
11番ピンの電流を ON OFF させれば、LEDが点滅する。カナ?

図 A
LED アノード(+)と11番ピンをつなぐ
抵抗(330Ω)をLEDカソード(-)とGNDにつなぐ
(図のLEDは点灯中)


4 Arduino IDE でスケッチを書く

配線がおわったら、Arduino IDE でスケッチを書く。
今回は LEDの1秒ずつ点灯消灯を繰り返す、スケッチ。

図 B
11番ピンを出力に設定
HIGH(点灯)を1秒間 LOW(消灯)を1秒間 繰り返す


5 コンパイル後、SimulIDE へ転送

通常はArduinoとPCをUSBケーブルでつなぎ「書き込み」で転送します。
が今回は、SimulIDEへ転送するため、手順が変わります。

スケッチを書き終わったら

1 Arduino IDE の < スケッチ > をクリック。
  < コンパイル済みバイナリーをエクスポート > をクリック。

2 保存されたフォルダの中に .hex の拡張子がついたファイルが2つでき 
  ます。転送するのは、 with_bootloarder がついてないファイルです。

.hex ファイルが見つからない???
誰でも知っていることなのでしょうが?

拡張子 .hex ファイルがどこを探しても見つからない?
ネットで調べても分からない? 
やり方が間違っている? 
あきらめかけた時・・・

エクスプローラ の表示 をクリック。 
続けて 表示 をクリック。
すると 隠しファイル チェックを入れると、みつかりました。(^^ゞ  

3 SimulIDE の回路上の Arduino UNO 本体の上で 右クリック
  < Load firmware >を選択
  ファイル名に、先ほどの .hex  を指定すると、転送されます。

  

6 SimulIDEの電源アイコンをクリックして実行 

転送がおわったら、電源ボタン(赤)をクリック。
成功すれば、LEDが1秒間隔で点滅を繰り返します。

右の赤いアイコンが電源ボタン

書 籍

スケッチをかくためにC言語の本を探していたら、Arduino に関する記述もあったので・・・一応、ご紹介。
この本で、今回紹介した SimulIDE の事も知りました。

基礎C言語  株式会社アンク 著 
インプレス


この記事が気に入ったらサポートをしてみませんか?