Microchip社のArm搭載マイコンSAMの投稿が大分溜まったので、散在する投稿の総目次を作るとともに、シリーズを独立させることにいたしました。「AT SAMの部屋」であります。独立初回の今回は、先週手に入れたSeeeduino Xiaoを組み立てて、何時ものとおり、まずはLチカから。
※「AT SAMの部屋」 投稿順indexはこちら
Seeeduino Xiaoについて調べるときに、よるべとなるSeeed Studio社の日本語Wikiへのリンクを貼り付けておきます。
搭載されておりますAT SAMマイコンは、ATSAMD21G18A-MUです。このところ周辺回路をいろいろいじっていたATSAMD51P19からすると弟分のエントリ・レベル機種。
Seeeduino Xiaoの組み立て
製品パッケージの中身を並べたものが以下です。組み立てといってやることは2つです。
-
- ピンヘッダ2列のハンダ付け
- ピンの説明シールを貼る
説明シールは色違いで3種類(完全無地のものを含めれば4種類)あり、どれを貼り付けようか、チト迷いました(つまらぬことを。)
回路図みると、QPN48パッケージのATSAMD21G18マイコン以外にボード上に搭載されている部品はレギュレータと受動部品が数点といった程度の筈なのですが、ほぼ全てが金属製のケースの中に格納されていて内部は見えませぬ。これってEMC対策?無線デバイスでもなく、内部は「身許が割れている」汎用マイコンなのに被せてあるのはなぜ?唯一表に見えるのが、USB Type Cコネクタの左に4個見えているLEDであります。4個の内訳は、
-
- 電源LED(緑)
- ユーザLED(オレンジ)
- UARTのTX、RX用LED各1(青)
です。今回は、吉例Lチカとて、ユーザLEDを点滅させることにいたします。
背面は以下のような感じです。表面にシールを貼り付けるときは、この裏面の3V3の位置を基準に貼ることになるかと思います(シールに印刷されているのは2~6、7~3v3までで、0,1,VCC,GNDは含まれません。)
プログラムの作成とビルド
今回は、お手軽にArduinoプラットフォームで行います。ご本家のArduinoIDE側でもビルドできるようにセットアップはいたしました。しかし、あとあとの便利さを考えて VSCode + PlatformIO 環境でのビルド&書き込みといたしました。ホストはWindows利用です。
例によってPlatformIOでのプロジェクトの作成は簡単です。PlatformIOのホーム画面(VSCodeにPlatformIOイクステンションをインストールしてあれば下の方に「お家」アイコンが有る筈なのでそいつを押せば登場します)から、Project Wizardを呼び出して、必要な3項目を指定するだけです。こんな感じ。
これで、不足のツールやライブラリなどあれば皆セットアップしてくれます(そのため、初回はちょっと時間かかります。)
プロジェクトが立ち上がったら src ディレクトリ内に main.cpp があり、Arduinoプラットフォームの場合、空の setup()関数とloop()関数が用意されているので、フツーにArduinoのつもりで書けばOKです。”.ino”ではなく、”.cpp”ですがあまり気にする必要はないと思います(ino独特の関数プロトタイプの自動生成機能に頼っている場合は不明。)なお、main.cppといいつつ、本当のmainは別にいて、そこからsetupとloopが都度呼び出されているようです。
画面下のステータスバー内の、チェック・アイコンを押せばビルド、矢印アイコンを押せばSeeeduino XiaoへUploadです。勿論Upload前にSeeeduino Xiaoを適当なUSBポートに接続しておかねばなりません。デバイスマネージャにCOMポートとして正しく認識されていれば、PlatformIOには何も指定しなくても書き込み先のSeeeduino Xiaoを見つけられると思います(複数個候補があるようなケースは試していないです。多分Platformio.iniにポートを指定すれば良い筈。)
実際に書き込んでLチカしているところが以下です。右下のオレンジ色LEDが点滅してます。
上記の写真は小型なSeeeduino Xiaoの「利点」がよく分かります。小型のブレッドボードに載せても、広い領域がフリーで残されているので工作する余地が大きいです。何をつなげるか、だかれども。