AT SAMの部屋(1) SAMD21搭載、Seeeduino Xiaoで吉例Lチカ

Joseph Halfmoon

Microchip社のArm搭載マイコンSAMの投稿が大分溜まったので、散在する投稿の総目次を作るとともに、シリーズを独立させることにいたしました。「AT SAMの部屋」であります。独立初回の今回は、先週手に入れたSeeeduino Xiaoを組み立てて、何時ものとおり、まずはLチカから。

Seeeduino Xiaoについて調べるときに、よるべとなるSeeed Studio社の日本語Wikiへのリンクを貼り付けておきます。

Seeeduino Xiaoをはじめよう

搭載されておりますAT SAMマイコンは、ATSAMD21G18A-MUです。このところ周辺回路をいろいろいじっていたATSAMD51P19からすると弟分のエントリ・レベル機種。

Seeeduino Xiaoの組み立て

製品パッケージの中身を並べたものが以下です。組み立てといってやることは2つです。

  1. ピンヘッダ2列のハンダ付け
  2. ピンの説明シールを貼る

説明シールは色違いで3種類(完全無地のものを含めれば4種類)あり、どれを貼り付けようか、チト迷いました(つまらぬことを。)

Xiao_Parts回路図みると、QPN48パッケージのATSAMD21G18マイコン以外にボード上に搭載されている部品はレギュレータと受動部品が数点といった程度の筈なのですが、ほぼ全てが金属製のケースの中に格納されていて内部は見えませぬ。これってEMC対策?無線デバイスでもなく、内部は「身許が割れている」汎用マイコンなのに被せてあるのはなぜ?唯一表に見えるのが、USB Type Cコネクタの左に4個見えているLEDであります。4個の内訳は、

  1. 電源LED(緑)
  2. ユーザLED(オレンジ)
  3. UARTのTX、RX用LED各1(青)

です。今回は、吉例Lチカとて、ユーザLEDを点滅させることにいたします。

背面は以下のような感じです。表面にシールを貼り付けるときは、この裏面の3V3の位置を基準に貼ることになるかと思います(シールに印刷されているのは2~6、7~3v3までで、0,1,VCC,GNDは含まれません。)

Xiao_Back

プログラムの作成とビルド

今回は、お手軽にArduinoプラットフォームで行います。ご本家のArduinoIDE側でもビルドできるようにセットアップはいたしました。しかし、あとあとの便利さを考えて VSCode + PlatformIO 環境でのビルド&書き込みといたしました。ホストはWindows利用です。

例によってPlatformIOでのプロジェクトの作成は簡単です。PlatformIOのホーム画面(VSCodeにPlatformIOイクステンションをインストールしてあれば下の方に「お家」アイコンが有る筈なのでそいつを押せば登場します)から、Project Wizardを呼び出して、必要な3項目を指定するだけです。こんな感じ。

ProjectWizこれで、不足のツールやライブラリなどあれば皆セットアップしてくれます(そのため、初回はちょっと時間かかります。)

プロジェクトが立ち上がったら src ディレクトリ内に main.cpp があり、Arduinoプラットフォームの場合、空の setup()関数とloop()関数が用意されているので、フツーにArduinoのつもりで書けばOKです。”.ino”ではなく、”.cpp”ですがあまり気にする必要はないと思います(ino独特の関数プロトタイプの自動生成機能に頼っている場合は不明。)なお、main.cppといいつつ、本当のmainは別にいて、そこからsetupとloopが都度呼び出されているようです。

VScodeArduino
画面下のステータスバー内の、チェック・アイコンを押せばビルド、矢印アイコンを押せばSeeeduino XiaoへUploadです。勿論Upload前にSeeeduino Xiaoを適当なUSBポートに接続しておかねばなりません。デバイスマネージャにCOMポートとして正しく認識されていれば、PlatformIOには何も指定しなくても書き込み先のSeeeduino Xiaoを見つけられると思います(複数個候補があるようなケースは試していないです。多分Platformio.iniにポートを指定すれば良い筈。)

実際に書き込んでLチカしているところが以下です。右下のオレンジ色LEDが点滅してます。

Xiao_onBB

上記の写真は小型なSeeeduino Xiaoの「利点」がよく分かります。小型のブレッドボードに載せても、広い領域がフリーで残されているので工作する余地が大きいです。何をつなげるか、だかれども。

AT SAMの部屋 総目次へ

AT SAMの部屋(2) SAMD21、GPIOのドライブ・ストレングス設定 へ進む