Arduino Zero / Zero Pro / M0 Pro / M0

Arduino Zero / Zero Pro / M0 Pro / M0 に関する記事です。



Arduino Zero / Zero Pro / M0 Pro / M0

Arduino Zero / Zero Pro / M0 Pro / M0 の MCU は Microchip ATSAMD21G18A です。綴りが似ていますが Aldnoah Zero ではありません。

See Also:


経緯

Arduino の分裂騒動の最中に発売されたボードです。

つまり、Arduino / Genuino Zero ≒ Arduino Zero Pro / M0 Pro で、M0 Pro - デバッグ機能 = M0 です。

製品名 発売元 地域 デバッグ機能
Arduino Zero Ardiono LLC
(arduino.cc)
アメリカ
Genuino Zero アメリカ以外
Arduino Zero Pro Ardiono SRL
(arduino.org)
すべて
Arduino M0 Pro
Arduino M0 ×

※ 2020/01 現在、すべての M0 系ボードはディスコンとなっています。

See Also:


購入

国内だとスイッチサイエンスで購入できます。

M0 の互換機 (という事にしておきます) は Amazon 等で買えます。

M0 をコンパクトにした互換機もあります。


各部詳細

イメージ的には Arduino DUE を UNO サイズにしたような感じです。DUE 同様、二つの USB ポートがあります。

画像上側がネイティブ USB ポートで、画像下側がプログラミングポートです。

SPI

UNO と異なり、SPI 用のピンは D13~D10 ではありません。

ICSP 端子 (ICSP 機能はないため SPI 端子となっている) を使えば、他のボードとピン互換にできます。

UNO DUE LEONARDO MEGA 2560
SCK D13 / ICSP 3 ICSP 3 ICSP 3 D52 / ICSP 3
MISO D12 / ICSP 1 ICSP 1 ICSP 1 D50 / ICSP 1
MOSI D11 / ICSP 4 ICSP 4 ICSP 4 D51 / ICSP 4
SS D10 D10 (TX LED) D53

正直 SPI 端子が使いにくいのでピンソケットを向かい合わせにハンダ付けした メス<->メスコネクタを作っておいた方がいいと思います (参考: Raspberry Pi 用のメス<->メスコネクタ)。

I2C

UNO R3 と同じ場所に I2C 用のピンがあります。

JTAG (Joint Test Action Group) コネクタ

デバッグ用の JTAG コネクタです。M0 にはありません。

画像左下が 1 ピンです。

Pin 名称 名称 Pin
1 3.3V TMS 2
3 GND TCK 4
5 GND TDO 6
7 (NC) TDIK 8
9 GND RESET 10

SWD (Serial Wire Debug) コネクタ

デバッグ用の SWD コネクタです。

画像左上が 1 ピンです。

Pin 名称 Pin 名称
1 +3V3 2 SWDIO
3 GND 4 SWCLK
5 GND 6 (NC)
7 (NC) 8 (NC)
9 GND 10 TARGET_RESET

Zero と M0 (Pro) の違い

Zero と M0 Pro は完全に同じではありません。例えば D2 と D4 へのピンの割り当てが逆になっています。

ピン Zero M0 系
D2 PA08_TCC0-W0 PA14_TCC0-W4
D4 PA14_TCC0-W4 PA08_TCC0-W0

また、M0 系は IOREF の左隣のピンも結線されているようです。

See Also:


セットアップ

Arduino Zero / M0 を Arduino IDE から使うには [ツール | ボード | ボードマネージャ] で Arduino SAMD Boards (32-bits ARM Cortex-M0+) を探してインストールします。

ボードは適合するものを選択します。


HID

Arduino Zero / M0 は LEONARDO (or Atmega32U4 搭載品) 同様に、HID デバイスになる事ができます。やり方は LEONARDO と全く同じです。

HID デバイスになれるのはネイティブ USB ポート の方なので、USB ケーブルを抜き差しするか、2 本接続して対応してください。

See Also:


USB ホスト

Arduino Zero / M0 は USB ホスト機能も持っています。USB ホスト機能が使えるのはネイティブ USB ポート の方です。

See Also:


DAC

Arduino Zero / M0 は A0 が DAC 用のピンとなっています。

定数 ピン
DAC A0

See Also:


Serial

たとえば、次のようなスケッチがあったとします。普通の Arduino ではシリアルモニタを開けば、"Hello,world." が繰り返し表示されます。

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello,world.");
  delay(1000);
}

Arduino Zero / M0 ではネイティブ USB ポートに接続していると表示されません。ネイティブ USB ポートでシリアルモニタに表示させるには、Serial ではなく SerialUSB を使います。

void setup() {
  SerialUSB.begin(9600);
}

void loop() {
  SerialUSB.println("Hello,world.");
  delay(1000);
}

M0 互換機も SerialUSB を使います。Serial はボード右上のピンから引き出せるので、USB<->シリアル変換モジュールを接続すれば通信できます。D0/D1 は Serial1 です。

右上のスルーホールにはRobotDyn のボードのようにピンソケットを立てておくと便利です。


スケッチをアップロードできない

スケッチをアップロードできなくなってしまったら、リセットボタンをダブルクリックすればブートローダーモードに入る事ができます。

ブートローダーモードに入ると、さっきまでと違うシリアルポートが出現するのでそれを選び、Blink のような適当なスケッチをアップロードしてください。

See Also:


ここにある情報が役に立って、「調べる手間が省けたからオマイに飯でもおごってやるよ」 というハートウォーミングな方がいらっしゃいましたら、下のボタンからどうぞ。

メニュー: