Arduino IDE導入～Lチカ

# はじめに
趣味のクルマいじりをしていた際に、ふと車載システムを自作できたらいいなと思いマイコンのDIYに挑戦することにしました。
マイコンボードとして有名所ではAruduino以外にもRaspberry Piなんかがあります。

車載システムとして「電源を急にぶち抜いてOK」「電源オンですぐにコードが実行」「最終的にめちゃちっさいゲジゲジみたいなマイコン(AVRマイコン?)の書き込み機としても使える」といったメリットを感じ、Arduinoにトライしてみることにしました。やろうと思えばラズパイでもできるのかもしれませんがね、、、

まずは環境構築と確認を行います。とはいえソフトをインストールするだけなので超簡単でした。

言語のベースはCっぽいです。学生の頃以来久しぶりに触りました。

# 環境
* Windows10
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/d49f4dcf-2fe3-fce2-cc45-576fe4dd025e.png)

* Arduino UNO R3
* USB AコネクタBコネクタ変換ケーブル

# Arduino IDEの導入
### インストーラーのダウンロード
公式サイトにアクセス

https://www.arduino.cc/

SOFTWAREをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/e4c59765-a625-cc10-3176-9d2baaa883e9.png)

OSにあったものをダウンロードします。今回は"Windows Win 10 and newer, 64 bits"を選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/61940f13-b93f-b885-b855-4b23c51dfd8f.png)

お金に余裕があれば寄付しましょう。
寄付しない場合は"JUST DOWNLOAD"を選択してインストーラーを適当なフォルダに保存。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/7cb40233-f991-b32b-ceec-8867ae5c3b38.png)

### インストール
ダウンロードしたインストーラーを起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/dcd2b0a4-58e8-1b9c-74cd-3cb197970e2e.png)

同意する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/b5165557-d2d8-87d4-a5a9-fc897e35f008.png)

今回は自分だけ使えればOKとします。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/d063b293-3f5d-3206-4083-cb8c0ce69e25.png)

デフォルトで指定されているフォルダにインストールします。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/1c3d8561-3c6f-9e55-85c3-25641097b856.png)

開始・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/e9496081-7b01-9622-c58a-f341af0cebdf.png)

終わりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/ded65931-4dda-1714-a2dd-caaf3c2a3231.png)

デスクトップにArduino IDEのショートカットが作成されます。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/9d2ea49f-227e-7717-6c7a-d2195f400cc7.png)

一度開くとあれこれ初期設定が開始され、追加で色々とインストールされます。インストールしてやりましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/81179666-17db-75e0-df04-c544fbfa3626.png)

### 各種設定
日本語化します。File>PreferencesのLanguageを日本語に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/7b6ce2d4-6e50-18de-b68d-3f559d3bfb3e.png)

![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/4b464c4f-a0aa-a497-52f8-52ed3c7d63f1.png)


ArduinoをPCに接続していれば、IDEがArduinoを認識しているはずなのでそのボードを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/b8afdf67-397e-3c00-5098-66bba91178d3.png)

ボードが繋がっていなければこんな感じに表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/c39062e9-ad89-f50b-7b80-aba44a4484aa.png)

ここで各種インストールが始まる場合があります。素直にインストールに応じましょう。

# テスト
マイコンの世界(?)には"Lチカ"と呼ばれるものがあるらしいです。プログラムで言うところの"Hello World!"みたいなもんだと思います。
LEDをチカチカさせるから"Lチカ"なんだとか。

### Lチカ
ArduinoボードとIDEの接続が終わったら、ファイル>スケッチ例>01.Basics>Blinkを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/005c5d8e-3559-4ecc-39d3-e99851052c4f.png)

新しいウィンドウが起動します。久しぶりにCを見ました、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/e67ec688-b65e-1def-4931-a45d40061de3.png)

Arduinoにはデフォルトでこのコードが書かれているらしく、このままだと動作が特に変わらないので`delay`を100ミリ秒にしてみました。
```c
// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(100);
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(100);
}
```

コードの記述が終わったら検証ボタンをクリック
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/4ab61829-b758-b762-975f-c7d1c6e5fabf.png)
その後書き込みボタンでArduinoへ書き込みを行います。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/d2e336bd-42c2-970b-5f1e-cb6915e7aff9.png)
Arduino UNOのオレンジ色のLEDがめっちゃチカチカすれば書き込みが正常にできています。
一応書き込みボタンだけでもコンパイルはやってくれるようです。

# トラブルシューティング
ボードが認識されない場合はツール>ポートをいじってみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2716347/23738809-b814-272b-37b9-8fd5899b3335.png)