ARDUINO NANO EVERY をさわってみた

#Arduino Nano Everyについて
[ARDUINO NANO EVERY](https://store.arduino.cc/usa/nano-every)は、Arduino ファミリーの新ボードの１つです。
[種類はいくつかあります](https://mag.switch-science.com/2019/05/21/a-new-nano-family/)が、今回は秋月電子通商で[NANO EVERY](http://akizukidenshi.com/catalog/g/gM-14848/)が手に入ったのでさわってみました。

![IMG_8520.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/bcbb4a36-bdc4-57c4-7ff9-f6d2900853e1.jpeg)

パッケージから取り出すと既にピンがはんだ付けされていました。
奥が今回購入したNano Every,手前が旧来のNanoです。USBがMiniからMicroになっている以外はピンの数、サイズともに同じです。
Nanoからの置き換え用途にも使えるように、Nano互換モードでビルドすることができるようです。

![IMG_8518.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/510e27ca-2cb8-1245-3da9-66a34a9b6175.jpeg)
ピン番号がボード裏面に印刷されているのは非常に残念です。
ブレッドボードに差したらピンの配置がわかりません。
ArduinoUnoは表面ばかりか側面にも印刷されているのに…。

![IMG_8519.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/378ba14b-70ae-2efd-c36f-7bda5f38cc46.jpeg)

というわけで側面にシールを張ってみました。
[**#テプラを貼られたら負け**](https://www.google.com/search?q=%E3%82%BB%E3%83%96%E3%83%B3%E3%82%AB%E3%83%95%E3%82%A7+%E3%83%86%E3%83%97%E3%83%A9&sxsrf=ACYBGNSSg7j1c8UghTWebvDT3FZImryyyw:1578469760821&source=lnms&tbm=isch&sa=X&ved=2ahUKEwj6pYeLwvPmAhUFE6YKHZ8XD8AQ_AUoAXoECAwQAw&biw=1049&bih=644) 

#Arduino IDE でビルド

最新のIDEには既にEveryのボードが含まれていますが、含まれていない場合は
ツール＞ボード＞ボードマネージャー
を選択し、
![2020-01-08_161755.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/64ff510f-0f50-85ea-bb87-eb7d9e9d7b74.png)

検索フィルタで```Arduino Nano Every```と入力すると
Arduino megaAVR Boards が出てくるのでこれをインストールします。

![2020-01-08_162125.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/5f1a84f5-7b2f-9e08-6f83-dde3e5f2f2e0.png)

インストールが終わるとArduino Nano Everyが選択できるようになるので、
Arduino Nano EveryをUSBでPCに接続したのち、これを選択します。

![2020-01-08_163635.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/b4106e06-69d8-2ba6-ea05-3b6dc3d5def0.png)

ボード選択の下のRegisters emulation は前述したエミュレーションモードなので、
旧来のNanoと置き換える用途以外の時はNoneを選択します。

```
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello,Every");
  delay(1000);
}
```
ボード、ポートでArduino Nano Everyを選択し、上記のスケッチをボードに書き込むと、
シリアルモニタにHello,Everyと表示されます。
![2020-01-08_163908.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/3fe5c64d-c1c5-af5c-742a-4526ab18da9f.png)

#PlatformIO でビルド
みんな大好きPlatformIOでももちろんビルド可能です。
他のarduinoボードからの変更時は

```
board = nano_every
```
で大丈夫です。

#Serial1を使ってみる
さらに Nano Every は、 Nano では使えなかった Serial1が使えるようです。
Serial1で使用するピンはTX1,RX0です。Nano互換モードでビルドしても使用できます。

先ほどのスケッチを

```
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello,Every");
  Serial1.println("Hello1,Every1");
  delay(1000);
}
```
のように変更し、TX1,RX0のピンに適当なUSBシリアルモジュールのRX,TXをつなぐと、Nano Every からは 
```Hello,Every```
が、シリアルモジュールのポートからは
```Hello,Every1```

が出力されます。

![2020-01-08_170304.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/0250f617-cb46-4e36-b507-190ec3dfacdc.png)

#感想
旧Arduino Nanoの半分近い値段でSerial1まで使えるのはいいかなと思いました。
個人的に複数シリアルを使用し、かつSoftwareSerialではできないパリティビット等の細かい設定が必要な場面があったので、その用途には向いているかなと思っています。