ChromebookからArduino に書き込む

# ChromebookからArduino に書き込む

タイトルの通りChromebookからarduino系マイコンに書き込みたい時セットアップなど自分がやってみて一番手軽だった方法を書いときます。

書き込み環境はarduino web editorを使用。ネイティブアプリをLinuxを使用してインストールする方法も試したが、linuxからUSBポートを使ったシリアル通信の設定が結構面倒だったのでweb editorを使用。

ネイティブのarduinoで書き込む方法は他の方が記事にしてくれているのでそっちを参考に

https://qiita.com/ekzemplaro/items/93c58b6ebe33e49ecbbc

## 環境

Chromebook
ASUS CZ1000DVA-L30019

https://www.amazon.co.jp/%E3%80%90Amazon-co-jp%E9%99%90%E5%AE%9A%E3%80%91ASUS-Chromebook-%E3%82%A4%E3%83%B3%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%BB%E3%82%A2%E3%82%A6%E3%83%88%E3%82%AB%E3%83%A1%E3%83%A9-%E3%80%90%E6%97%A5%E6%9C%AC%E6%AD%A3%E8%A6%8F%E4%BB%A3%E7%90%86%E5%BA%97%E5%93%81%E3%80%91%E3%80%90%E3%81%82%E3%82%93%E3%81%97%E3%82%93%E4%BF%9D%E8%A8%BC%E3%80%91-CZ1000DVA-L30019/dp/B09G9XVB3P

Chrome OS
バージョン　103.0.5060.132(32ビット)

使用したクロームブック本体はASUSのCZ1000DVA-L30019というモデル。Amazonで購入。
Chrome osは2022/7/20時点最新のものを使用。

## web editorへのサインイン

https://login.arduino.cc/login?state=hKFo2SBFQTRkSXJGb0pCU25NU0Z2VUtwMUtLU2hwdjNFZHM0RKFupWxvZ2luo3RpZNkgR3ZmUm1NVFZod0JKdGpQSDU5Uzc5bk5TNFFIWjNTWTGjY2lk2SBycjZMU09TejU3aDdmdnNIZFJYWFBrWkczRVJvWFRmWg&client=rr6LSOSz57h7fvsHdRXXPkZG3ERoXTfZ&protocol=oauth2&authorizeTimeoutInSeconds=5&redirect_uri=https%3A%2F%2Fcreate.arduino.cc%2Feditor&logout_uri=https%3A%2F%2Fcreate.arduino.cc&audience=https%3A%2F%2Fapi.arduino.cc&scope=openid+profile+email&response_type=code&response_mode=query&nonce=LlNzOFY2MUpDenMzaElNYUhmT1FsSU96QU5MZDI1SUtNQW1DbmZFdmkyTw%3D%3D&code_challenge=AVLQATpm2De1X-ghaYj4JoOJiYpaVga1mK9xYZD-WKQ&code_challenge_method=S256&auth0Client=eyJuYW1lIjoiYXV0aDAtc3BhLWpzIiwidmVyc2lvbiI6IjEuMTIuMSJ9#/sso/login

上のページにアクセスするとログイン画面に誘導されるが、下のGoogleアカウントを使用してログインを選択。
![スクリーンショット 2022-07-20 15.15.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/745a90b3-d107-8c0d-49e1-c0961b1d2f52.png)
Chromebookを使ってればGoogleのアカウントにはサインインしていると思うのでスムーズにArduino　web editorにサインインすることができるはず。
※クロームブックをゲストとして使用している場合は自身のGoogleのアカウントでサインインしてください

使用するGoogleアカウントを選択すると次のような画面が開く
![スクリーンショット 2022-07-20 15.18.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/46f59940-5032-744e-1d64-cd0661b79c7f.png)
<font color="red">1</font>で他のユーザーと重複しないユーザー名を入力
<font color="red">2</font>にチェックを入れて
<font color="red">3</font>をクリックするとアカウントが作成される。
そのままログインすることも可能だろうが自分の場合**auth error**的なことが表示されたのでリロードして再度、Googleアカウントでサインインを選択するとエディター画面が開いた。
web editorとUSB接続したボードのシリアル通信用のアプリをplayStoreからダウンロードするとUSBで接続して書き込みができるようになる。

## セットアップ

https://chrome.google.com/webstore/detail/arduino-create-for-educat/elmgohdonjdampbcgefphnlchgocpaij

↑シリアル通信用アプリ。ダウンロードして開くと自動でweb editorが立ち上がる。
**ここまでできたらUSBでarduinoのボードとChromebookを接続する。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/b10342fb-cbc1-a91d-1a45-3423f5ba842e.png)

画像は投稿時にMacで撮ったスクリーンショットなので厳密にはChromebookで開いたエディタとは違うかもしれないがほぼ同じ。
![スクリーンショット 2022-07-20 15.44.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/cb8b6370-f72f-2fe2-e0db-d84a8b7c7712.png)
赤枠の部分をクリックするとどのシリアルポートを用いて通信するかを選択するタブが現れる。
![スクリーンショット 2022-07-20 15.51.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/53beea5f-76a6-40d0-ff06-0dab4f37320e.png)
現れたタブのBoardという部分をクリック。クロームブックでは**Board** /dev/ttyUSB0と表示されるはず

![スクリーンショット 2022-07-20 15.49.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/36403ba9-b9ba-738f-5ada-4855d00834d1.png)

## 書き込み
接続したポートを選択すると使用しているボードが何かを問われるのでBOAEDSの検索画面で接続したボードを検索して選択、右下のOKをクリックすると書き込みができるようになる。
![スクリーンショット 2022-07-20 16.02.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055872/22da2ca1-da7d-2a06-5f51-d54af5b0aec3.png)

試しに hello worldをシリアルモニタに1秒ごとに表示させるプログラムを書きこんでみたが問題なく動作した。
普段ネイティブのarduino ideを使っていたのでシリアルモニタの開き方が一瞬わからなかったが、左のメニューのMonitorというところから開ける。


Serial.begin()の際に使用したスピードでモニターも読み出しをしないと文字化けするので注意。

## 終わりに
子供向けプログラミングが流行ってきて学校で貸し出ししているクロームブックでarduinoに書き込みできないのか気になったのでやってみた。
学校で貸し出しているChromebookでは制限でplay Storeからダウンロードできなかったりするらしいのでシリアル通信用の機能が入れられい可能性はある。
この記事がChromebookでarduinoを使いたい人の手助けになれば幸いです。


2025年1月14日　追記
久しぶりにchromebookから書き込もうとしたらarduino nanoの互換ボードを接続してarduino nanoを選択しようとすると、Verify Onlyという表記がボード選択の際に出てきて書き込みのボタンが無効化されてしまうということがあった。
Arduino Unoを選択すると書き込みボタンが有効化され、書き込みが可能になった。
nanoの互換ボードのボード搭載LEDはarduino nano同様13番ピンに接続されているため、オンボードLEDを試しにLチカさせてみたが、正しく点滅の間隔も書き込めたのでnanoの互換ボードに書き込みができない際はArduino Unoを選択してみると書き込めるかもしれません。