XIAO SAMD21 と MicroBlocks
MicroBlocks
MicroBlocksは、初心者(9歳から大人まで)がマイクロコントローラーを簡単にプログラムできるブロック言語です。見た目のシンプルさにもかかわらず、MicroBlocksはMicroPythonよりも優れたパフォーマンスを持つ強力なプログラミング言語で、GPIOピンの制御やI2C、SPI、シリアル経由での周辺機器とのインターフェース機能、そして約200の拡張ライブラリを備えています。実際、一部のハードウェア設計者は、高速でインタラクティブな開発サイクルのため、迅速なプロトタイピングとテストにMicroBlocksを好んで使用しています。
XIAO SAMD21 ピン配置とハードウェア機能

すべてのXIAOボードと同様に、このボードには11個のGPIOピン(ピン0〜10)があります。すべてのピンはアナログ入力、デジタル出力、アナログ出力に使用できます。 ピン1〜10は、他のXiaoボードと同様にパルス幅変調(PWM)出力をサポートしています。
他のボードとは異なり、このボードのピン0は10ビットデジタル-アナログコンバーター(DAC)です。ピン0を0から1023の間の数値に設定すると、ピンは0から3.3ボルトの間の安定した電圧を出力します。(対照的に、PWMは数値がパルス幅を決定するデジタルパルスの連続を出力します。)DACピンは音声やその他のアナログ信号の生成に使用できます。
このボードには黄色のユーザーLED(ピン13)と青色のRX/TX LED(ピン11と12)があります。 すべてのLEDは反転しています:LEDを点灯させるには関連するピンをLOWに設定します。
RX/TX LEDはMicroBlocksで使用できますが、注意点があります。 MicroBlocksは常にボードとデータを交換しているため、 MicroBlocksエディターを使用している際にRX/TX LEDが明るく点滅します。 その点滅が気を散らすため、RX/TX LEDはデフォルトで無効になっており、 スクリプトが関連するピンを設定した場合にのみ有効になります。 このことを念頭に置くと、RX/TX LEDはIDEが接続されていない時に有用です。
MicroBlocksファームウェアのインストール
このボードにはブートボタンがないため、ブートローダーモードに入るのは少し難しいです。USBポートの左側にある2つのRSTピンの接点を素早く2回ショートさせるためにワイヤーを使用してください:

成功すると、黄色のユーザーLEDがゆっくりと点滅し、 Arduinoという名前の仮想USBドライブが表示されます。
MicroBlocksのファームウェアフォルダから ファームウェアファイルをダウンロードし、 そのファイルを仮想USBドライブにドラッグしてください。
ファームウェアがインストールされ、数秒後に仮想USBドライブが消えます。 ディスクが適切に取り出されなかったという警告は無視してください。
ボードをMicroBlocksに接続する
データ用USBケーブル(電源専用ケーブルではない)でボードをコンピューターに接続してください。
ChromeまたはEdgeブラウザでMicroBlocksエディターを実行してください。 connect(プラグアイコン)ボタンをクリックしてください:

メニューから**connect (USB)**を選択してください:

ダイアログからボードを選択し、connectボタンをクリックしてください:

ボードが接続されると、緑色の円とボード名が表示されます:

MicroBlocksでのコーディング
MicroBlocksはライブコーディング環境なので、コーディングしながらテストできます。 ブロックやスクリプトをクリックして実行してください。 ブロックをスクリプトペインにドラッグして組み立て、スクリプトを作成してください。
コードは永続的なフラッシュメモリに保存され、ボードが MicroBlocksエディターに接続されていない場合でも実行できます。 when startedブロックの下にあるスクリプトは、ボードに電源が供給されたときに実行されます。
MicroBlocksは並行処理をサポートしています。最大10個のスクリプトを同時に実行できます。
多くの組み込みブロックに加えて、MicroBlocksには追加機能と周辺機器をサポートする 約200のライブラリがあります。 ライブラリを追加するにはAdd Libraryボタンをクリックしてください。
例
このスクリプトは黄色のユーザーLEDを点滅させます:

ブロックリファレンスには 多くの追加例が含まれています。
プロジェクトデモ

より包括的なプロジェクトデモとして、メーカーのLuisがXIAO SAMD21、Grove Shield for XIAO、LEDマトリックスを使用して8x8 LED Neo-pixelデバイスを構築しました。これにより、複雑なコードを書くことなくMicroBlocksを使用して見事なピクセルパターンを描くことができます。ステップバイステップのチュートリアルはHacksterで見つけることができます。
特別な感謝
この記事を執筆してくれたMicroBlocksのJohnに特別な感謝を申し上げます。