Seeeduino XIAOとBlocklyDuinoで電子工作入門

## はじめに

この記事では、Seeeduino XIAOを自分のパソコンで使えるように設定し、BlocklyDuinoで書いたプログラムを動かす方法を説明します。
Seeeduino XIAOの具体的な使い方や、プログラムの書き方などはほかの資料などを参考にしてください。

### Seeduino XIAOとは

![Seeduino XIAO](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/3aeec337-118e-8596-ab8e-57cabf6c548a.png)

Seeduino XIAOはとてもコンパクトなマイコンです。
Arduinoなどのほかのマイコンとも互換性があり、お手頃な価格で手に入るので電子工作の入門として最適です。

秋月でも、1020円（2023/4/11現在）で買えるようです。
https://akizukidenshi.com/catalog/g/gM-16135/

### BlocklyDuinoとは

マイコンをつかって制御するには、基本的にはC言語（Arduino言語）などでプログラミングをする必要があります。
初めて、電子工作をする人にとっていきなりプログラムを書くのは少しハードルがたかく、電子工作がとっつきにくい原因の1つになっているかもしれません。
![BlocklyDuino](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/ee114738-9486-16cf-bd55-1b733f131bd3.png)

BlocklyDuinoはブロックを組み合わせるだけで、マイコン用のプログラムを作れるサイトです。これを使えば、いちから自分でプログラミングをするよりも簡単に（しかも日本語で）プログラムをつくれます。

BlocklyDuinoはここから使うかことができます。
https://code.makewitharduino.com/?lang=ja

## Step0. 準備

### Arduino IDEのインストール

プログラムを作ったら、それをマイコンに教えてあげる必要があります。
そのために、使うアプリがArduino IDEです。Arduino IDEをつかって、マイコンにプログラムを教えてあげることを、プログラムを書き込むと言います。

それでは、自分のパソコンにArduino IDEをいれましょう。
公式サイト（ https://www.arduino.cc/en/software ）にアクセスしてください（英語のページだけど安全なサイトです）。
右側のDOWNLOAD OPTIONSのところに、Windowsだとか、LinuxだとかmacOSだとか色々かいてあります。Windowsを使っている方は一番上の「Windows Win 10 and newer, 64bits」という部分を、Macを使っている方はしたのmacOSという部分を選択してください。
![Arduino Download画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/370247d7-0388-ae28-fb83-1a50da898da5.png)

そうすると、寄付してくださいという画面になりますが、無視して「JUST DOWNLOAD」というボタンを押せば無料でダウンロードできます。（もちろん、寄付してからダウンロードすることもできます）
![Arduino Just Download](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/31e07a2d-6ced-4bfc-a3d9-a3dcf6d9af6d.png)

ダンロードしたファイルを開くと、インストール方法の説明がでてきます。指示に従って操作してインストールをおこなうと、こんな感じの画面が開くと思います。
![Arduino IDE](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/f8b27012-ff6b-f0c0-9fbb-76c9a65b1245.png)

ここまできたら、ひとまずArduino IDEのダウンロードは完了です。

### Seeeduino XIAO用のライブラリのインストール

Arduino IDEを開いた状態で、Windowsなら左上の「ファイル」→「基本設定」をMacなら「Arduino IDE」→「基本設定」を開くとこんな画面になります。（英語版だと環境設定がPreferences...になっています。）
基本設定の「追加のボードマネージャのURL」という部分に↓のURLをコピペしてOKを押してください。
```
https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json
```
![基本設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/da6bfca2-e61b-4009-ab2e-c608758af9e0.png)

上のメニューから「ツール」→「ボード」→「ボードマネージャ」を選択するとこんな画面がでてくる。
検索のところに、「Seeeduino XIAO」といれて、「Seeed SAMD Boards by Seeed Studio」ってかかれたものをインストールしましょう。
![ボードマネージャ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/8595c44a-a00f-efca-b4e3-d95872a3532f.png)
（インストールにはすこし時間がかかるかもしれません）

## Step1. ブレッドボードに部品をさしていく

電子工作をするときは、ブレッドボードと呼ばれる白い板の上に色々な部品をさして試作をすることが多いです。ブレッドボードは図の矢印の向きの穴同士が中でつながっています。

![ブレッドボード](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/a878b00a-8752-4845-5e57-d752b702b240.png)

今回はシンプルにSeeeduino XIAOとLED、そして抵抗をつないでみましょう。LEDとSeeeduino XIAOをつなぐときはジャンパ線と呼ばれる導線をつかうと便利です。

![回路図](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/452af39a-abea-f3d7-b0c2-692cfc37f0c3.png)

これで、回路の準備は完了です。Seeeduino XIAOとパソコンをUSBケーブルでつないで次のステップに進みましょう。

## Step2. BlocklyDuinoでプログラミング

さて、ここまできたらついにプログラムを作ります。
直接、Arduino言語で書いてもいいけど、今回は簡単のためにBlocklyDuinoというウェブページを使ってみましょう。

BlocklyDuinoのページ（ https://code.makewitharduino.com/?lang=ja ）にアクセスすると、こんな画面がひらきます。

![BlocklyDuino](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/db50e722-a287-f14d-53a7-4f54127b23db.png)

BlockyDuinoでは、「時間」や「ピン制御」などさまざまな種類のブロックを組み合わせてプログラムを作ります。
今回はためしに、「ピン制御」→「デジタル」にある「デジタル出力ピン［　　］状態［　　］」とかかれたブロックと、「時間」にある「ミリ秒まつ［　　］」を使ってこんなプログラムを作ってみてください。
![プログラム例](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/a8590a45-3677-73e7-4360-e7bb56275f38.png)

これは、ピン7（LEDにつながっているピン）をHIGH（つまりオンの状態）にしたあと、1000ミリ秒（＝1秒）まち、次にLOW（つまりオフ）にしたあと1000ミリ秒まつという動作を繰り返すプログラムになっています。

## Step3. Arduino IDEにコピー＆ペースト

BlocklyDuinoでプログラムがつくれたら、これをArduino IDEをつかってマイコンに書き込む必要があります。
BlocklyDuinoの画面で「Arduino」と書かれた部分を押してみてください。
こんな感じにArduino言語でかかれたプログラムが出来上がっています。
![Arduino画面](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/5a489e52-3b0f-f83e-81ec-e2e5d140c340.png)

このプログラムをコピーして、Arduino IDEの画面に貼り付けてください。
![Arduino IDEに貼り付けた様子](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/ef2a06da-4e70-3752-c800-945bedfbe992.png)

## Step4. Seeeduino XIAOに書き込み

最後にマイコンに書き込んで完成です。

まずは、下準備として2つやることがあります。
「ツール」→「ボード」→「Seeed SAMD (〜〜) Boards」から「Seeeduino XIAO」を選択。
「ツール」→「ポート」からusbとかかれたものを選択。

ここまできたら、左上にある矢印ボタンを押してみましょう。
![書き込み](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878565/e44f32aa-665a-b194-82fe-da0973f29ecd.png)

しばらくすると、マイコンへの書き込みがおわって、LEDがピカピカ光るようになると思います。
（ファイルを保存するようにでてくるかもしれません。そのときは好きな場所に今回のプログラムを保存してください。）

## おわりに

これで、BlocklyDuinoとSeeeduino XIAOを使って電子工作をする準備は完了です。
ブレッドボードやLED、スイッチなどの部品を買ってきてオリジナルの装置を作ってみてください！

それでは、良い電子工作生活を（？）