Arduinoの新ボードとなる『Arduino Uno R4 Minima』『Arduino Uno R4 WiFi』の発売がとうとう開始されましたね!(2023年6月27日)
Arduino好きとしては各種Arduinoボードは1つは持っておきたいということで、今回『Arduino Uno R4 Minima』を購入してみました。
Arduino Uno R4シリーズとして無線機能が付いていない標準タイプのボードです。
Arduino Unoは2010年に発売が開始されたArduinoの中では最も代表的なボードになり、前バージョンのArduino Uno R3が登場したのが2012年らしいので10年ぶりのアップデートになるようですね!
Arduino Unoはボードにピンソケットが付けられているので直接ジャンパーワイヤを挿してテスト等を行うことができ、使えるI/O端子(入出力端子)の数も多く、そしてArduino用の各種シールドを取り付けることにより機能を拡張して使うことも出来る便利なボードです。
2年ほど前にArduinoとの出会いで電子工作を始めたのですが、Arduinoはこれからマイコンを使った電子工作を始めてみようと考えている初心者の方でも比較的簡単に扱えるように上手く考えられ作られた開発ボードだと思います。
Arduino Uno R4ではこれまでのR3で使われていたMCU(マイコンチップ)がATmega328PからRenesas(ルネサス)のRA4M1に変更され処理速度が大きく向上しHID機能やCANバスなどこれまで標準では無かった機能を使うことが出来るのですが、動作電圧(5V)やボード上のI/O端子の配置などR3互換で作られているので、これまでのArduino Uno R3とほぼ同じ感覚で扱うことが出来るようになっています。
Arduino Unoは本家ボードや互換ボードなど含めるともう20台以上持っていると思います。
既に製作物に組み込んでいるものをR4ボードに入れ替えて同じスケッチで動作するかなど試してみましたが、ほぼ同様に動作させることが出来ました。(一部修正が必要なものもありました)
そしてArduino Uno R4発売以降もUno R3は継続販売されるようですね。
サードパーティ製の一部シールドと互換性がなかったりする場合もあるようなので、これはありがたいです!
またR3タイプのUnoでは付加機能が追加された便利な互換ボードがたくさん販売されているので、当面の間はR3/R4両タイプのボードを使うことに私の環境ではなりそうです!
当ブログはこれからArduinoを始めてみようとお考えの方によく見て頂いているようで、そのような方が本記事を見るとこれまでのUno R3または新しいUno R4どちらのArduinoから始めたら?
なんて思うかもしれませんが、ほぼ互換性が保たれて作られているようなので正直どちらでも問題ないと思います。
初めてのArduino Uno R4 Minimaなので簡単に仕様等まとめていきたいと思います。
目次
新しく登場したArduino Uno R4 Minimaを使ってみました!基本仕様等まとめ!
Arduinoには多くのボードがありますが、一般的によく使われるボードと言えばArduino Unoだと思います。
テスト回路を組む場合などで接続がしやすく、I/O端子の数もArduino Megaほどではありませんが比較的多くの端子を使うことができ、ボードサイズもコンパクトなので使いやすいと思います。
またArduino用に用意されている多くの各種シールドを使うことが出来るのも魅力です。
そして2023年6月にArduino Uno R3の後継機となる『Arduino Uno R4 Minima』と無線機能が使える『Arduino Uno R4 WiFi』が登場しました!
これまでのArduino UnoではMCUにAtmel(現Microchip)のATmega328Pが使われていましたが、Arduino Uno R4ではRenesas(ルネサス)のRA4M1(Arm Cortex-M4)というチップが使われています。
搭載されているMCUが変わったため処理能力等大きくアップしているようですが、これまでのUno R3と仕様や使い方など大きく変わってしまったらちょっと面倒だな・・・なんて購入前に思っていたのですが、実際に使ってみると従来のArduino Unoとの互換性を考慮して作られているのでほぼ同じ感覚で扱うことが出来ます。
MCUは変わりましたがArduino Unoとしてのピン配列や動作電圧(5V)は維持されているので、これまでのUnoのスケッチ(プログラム)やシールドもほぼ問題なく使えるようですね!
私はスイッチサイエンスさんで購入しましたが、現在Amazonでも取り扱いが開始されたようです。
おなじみのアクリルケースが付属していますが、個人的にArduino Unoはいつもこのバンパーを3Dプリントして使っています。
非常に使いやすいですよ!
実装パーツは少なく、内部回路構成もシンプルなものとなっています。
I/O端子のピンアウトはUno R3と同じなので、普段Arduinoをよく使われている方ならR4用のボードパッケージをインストールするだけで問題なく使えると思います。
Arduino Uno R4 Minima 主な仕様
これまでのArduino Uno R3と仕様を比較してみます。
Renesas(ルネサス)のRA4M1チップを使うことにより動作クロックは16MHzから48MHzに大きくアップしています。
また、今ではあまり使うことがないUSB B端子からType-C端子に変更されたのは使い勝手が非常に良くなりました。
そして外部電源の入力として使えるDCジャックや[Vin]端子からの入力電圧がUno R3の7-12V(推奨)からUno R4 Minimaでは6‐24Vの範囲でサポートされています。
HID機能や12ビットDAC、CANバス、オペアンプなど新規に追加された機能もいくつかあります。
Arduino Uno R4 Minima | Arduino Uno R3 | |
MCU | RA4M1(Arm Cortex-M4) | ATmega328P |
動作クロック | 48MHz | 16MHz |
動作電圧 | 5V | |
USB端子 | Type-C | Type-B |
Flashメモリ | 256KB | 32KB |
SRAM | 32KB | 2KB |
EEPROM | 8KB | 1KB |
デジタル入出力ピン | 14 | |
アナログ入力ピン | 6 | |
I/Oあたりの電流 | 8mA | 20mA |
外部電源 | 6‐24V | 6‐20V(推奨7‐12V) |
DAC | 1 | – |
PWM | 1 | |
UART | 1 | |
I2C | 1 | |
SPI | 1 | |
CAN | 1 | – |
Misc(SWDコネクタ) | 1 | – |
少し気になるのがI/O端子あたりに流せる電流値が8mA出力とUno R3よりもかなり低い数値となっているようですね!(Uno R3では20mA)
Uno R3はAVRチップということもあってか多少無茶な事をやっても壊れるということはこれまで無かったのですが・・・Arduino Uno R4 Minimaではかなり控えめな数値となっているようなので、少し気を付けようかななんて思ったり・・・。(ちゃんとLEDの電流制限抵抗を付けたりね!)
Arduinoはオープンソースハードウェアなので公式サイトに回路図や仕様等、詳細な情報が公開されています。
Arduino Uno R4 Minimaの詳細な仕様はこちらで確認して下さい!
ピン配列
Arduino Uno R4 Minimaのピンアウトはこのようになっています。
完全にUno R3互換で配置されているので、これまでと同様の感覚で使えると思います。
Uno R3から追加されている端子は、[BOOT]ピンとデバッグ用のSWD端子ですね!
従来のUno R3ではブートローダーの書き込みにICSP端子が使われましたが、Uno R4の書き込みにはこの端子は使われません。
このICSP端子が残されているということは、既存のシールドが使えるようにという配慮なのでしょうね!
デジタル入出力端子がD0~D13までの14本、アナログ入力端子がA0~A5の6本、PWM出力で使える端子がD3/D5/D6/D9/D10/D11の6本はこれまでのUno R3と同じですが、A0端子がDAC(デジタル・アナログコンバータ)として使えるようになっています。
標準でHID機能(ヒューマン・インターフェイス・デバイス)が使えたり、CANバスやRTC(リアルタイムクロック)が搭載されています。
またハードウェアシリアルが2系統ありUSBシリアルの扱いがUno R3と微妙に異なる部分があります。(後述します)
それ以外はこれまでのUno R3とほぼ同様に扱うことが出来ます。
- デジタル入出力端子×14
- アナログ入力端子×6
- PWM×6
- DAC×1
- I2C
- SPI
- UART
- CAN
ボードパッケージのインストール
細かい部分を見ていく前に簡単なテストスケッチを書き込んで動作確認をしてみます。
Arduino IDEを使いArduino Uno Minimaにスケッチを書き込むには、対応したボードパッケージのインストールが必要となります!
Arduino IDEのインストールがまだの方はこちらの記事も参考にして下さい!
ボードパッケージのインストールには、こちらではArduino IDE 2.1を使いましたが前バージョンとなる1.8でも手順は同じです。
[ツール]→[ボード]→[ボードマネージャ]へと進み、[minima]で検索すると対象となる[Arduino UNO R4 Boards by Arduino]というボードパッケージが見つかります。これをインストールすれば完了です!
インストールが完了すると、[ツール]→[ボード]の項目に[Arduino Uno R4 Boards]という項目が追加されます。
その中の[Arduino Uno R4 Minima]を選択するとコンパイル&スケッチの書き込みが行なえます。
導入は非常に簡単ですね。
動作確認でLチカスケッチを書き込んでみます。
Arduinoではもうおなじみの[Blink]ですね。
オンボードLEDを点滅させるスケッチです。
1秒間隔でオンボードLEDが点滅すれば成功です。
これからArduinoを扱ってみようという方は、デジタル端子についてのこちらの記事も参考にして下さい!
電源供給方法
Arduino UnoはUSB端子からの電源供給以外に、外部電源としてDCジャックや[Vin]端子からの供給が行えるのは従来の電源供給方法と同じです。
ただ扱える電圧の範囲が大きくなっています。
Uno R3では7~12V(推奨)でしたが、Arduino Uno R4 Minimaでは6~24Vの電圧範囲をサポートしています。
Arduino Unoの電源供給方法に関して詳しくはこちらの記事を参考にして下さい!
デジタル入出力端子
I/O端子の扱いもこれまでのUno R3とほぼ同じですが、追加されている機能がいくつかあります。
デジタル端子 | 用途 |
D0 | UART RX(受信) |
D1 | UART TX(送信) |
D2 | GPIOピン / 割り込み |
D3 | GPIOピン / 割り込み / PWM |
D4 | GPIOピン |
D5 | GPIOピン / PWM |
D6 | GPIOピン / PWM |
D7 | GPIOピン |
D8 | GPIOピン |
D9 | GPIOピン / PWM |
D10 | SPI(CS) / GPIOピン / PWM |
D11 | SPI(MOSI) / GPIOピン / PWM |
D12 | SPI(MISO) / GPIOピン |
D13 | SPI(SCK) / GPIOピン / オンボードLED |
PWM出力
PWMで使える端子はボードに[~]記号が付いたD3/D5/D6/D9/D10/D11の6本が使えるのもUno R3と同じです。
SPI端子
SPIピンもこれまで同様にD10(CS)/D11(MOSI)/D12(MISO)/D13(SCK)が使えます。
ICSP端子も同様です。
端子 | SPI |
D10 | CS |
D11 | MOSI |
D12 | MISO |
D13 | SCK |
UART
Arduino Uno R4 MinimaではハードウェアシリアルがUno R3の1系統から2系統使えるようになっています。
そのためUART(RX/TX)の扱いが少し異なります。(後述します)
アナログ入力端子
アナログ入力端子(A0~A5)はデジタル端子としても使えるのはUno R3と同じです。
またI2C通信で使うSDA/SCL端子はA4/A5端子が使えるのも同様です。
そしてアナログ入力端子にはいくつか使える機能が追加されています。
アナログ端子 | 用途 |
A0 | アナログ入力 / DAC |
A1 | アナログ入力 / OPAMP+ |
A2 | アナログ入力 / OPAMP- |
A3 | アナログ入力 / OPAMP出力 |
A4 | アナログ入力 / SDA |
A5 | アナログ入力 / SCL |
I2C端子
I2Cで使用するSCL/SDAの配置もUno R3と同じで、A4:SDA/A5:SCLとして使うことも出来ます。
アナログ入力の分解能
アナログ入力(ADC)の分解能はデフォルトではこれまでと同じ10ビットに設定されています。
10ビットの分解能なので2の10乗、つまり0~1023の範囲の値で取得されるということですね。
Arduino Uno R4 Minimaではアナログ入力の分解能を12ビット(0~4095)または14ビット(0~16383)に上げて精度を向上させることが出来ます。
アナログ入力の分解能を変更する場合は、setup()関数内に以下を記述することにより変更することが出来ます。
1 2 3 4 5 | void setup() { analogReadResolution(10); // デフォルト(10ビット分解能) analogReadResolution(12); // 12ビット分解能 analogReadResolution(14); // 14ビット分解能 } |
アナログ入力に関してはこちらの記事も参考にして下さい!
オペアンプ
Arduino Uno R4 MinimaのMCUとなるRA4M1には内部OPAMPがあるようでA1~A3をオペアンプピンとして使うことが出来るようです。
端子 | オペアンプ |
A1 | OPAMP+ |
A2 | OPAMP- |
A3 | OPAMP出力 |
DAC
Arduino Uno R4 Minimaには最大12ビット分解能のDAC(デジタル・アナログコンバータ)をA0端子で使うことが出来ます。
これまでのUno R3ではPWMを使って擬似的にアナログ出力させることは可能でしたが、Uno R4ではハードウェア的に使えるDACが追加されています。
デフォルトの分解能は8ビット(0~255)に設定されていますが、最大12ビット(0~4096)に変更することも可能となっています。
1 2 3 | void setup() { analogWriteResolution(12); } |
詳しくはこちらを参考にして下さい!
参考 Arduino UNO R4 Minima Digital-to-Analog Converter (DAC)ArduinoHID機能が使える
これまでのUno R3ではUSB経由でPCのマウスやキーボードなどの操作を行うHID(ヒューマン・インターフェース・デバイス)機能が標準ではサポートされていなかったため、HID機能を使うにはArduino LeonardoやPro Microといった他のArduinoボードを使う必要がありました。
Arduino Uno R4 Minimaでは標準でHID機能がサポートされています。
Arduino公式のキーボードやマウスのライブラリを利用することが出来るので、これまでLeonardoやPro Microで動かしていたスケッチをそのままArduino Uno R4 Minimaで動かすことが出来ました!
これは便利ですね!
自作キーボードやゲームパッドなどの製作にPro Microはよく使われるようですが、Uno R4のNanoタイプの小さなボードが今後登場する?と、面白いことになりそうですね!
RTC(リアルタイムクロック)
これまでのUno R3では日時や時刻を取得するにはRTC(リアルタイムクロック)モジュールへの接続が必要でしたが、Arduino Uno R4 Minimaではマイコンチップ(RA4M1)内に組み込まれているので直接アクセスして取得する事が出来ます。
参考 Arduino UNO R4 Minima Real-Time ClockArduinoUSBシリアルとUART(TX/RX)
個人的にArduino Uno R4 Minimaを使ってみて一番便利だと思ったのが、2つの独立したハードウェアシリアルが備えられているところです。
これまでのUno R3ではハードウェアシリアルは1系統しかなく、ボードのUSBポートとRX(D0)/TX(D1)端子は共用されていました。
そのため、例えばD0/D1端子に何かしらシリアル通信でやり取りするセンサーやモジュールなどが接続された状態だとスケッチの書き込みが出来ないため一旦取り外す必要があったり・・・
またデバッグ等でシリアルモニターを使う場合なども同様で、シリアル接続のモジュールをソフトウェアシリアルで使ったりと少し面倒になる場面がありました。
Arduino Uno R4 Minimaではハードウェアシリアルが2系統使えるので、シリアルモニタを使うなどシリアルデータをPCとやり取りする場合はこれまで同様に[Serial]で行い、UART(D0:RX端子/D1:TX端子)を使う場合は[Serial1]が使えます。(Arduino Leonardoの構成と似てますね!)
未実装パーツや面白い基板構成について
Arduino Uno R4 MinimaはUno R3に比べると非常にシンプルな回路構成になっている印象を受けます。
そして公式サイトにある回路図とボードを照らし合わせてみると、いくつか未実装のパーツがあるようです。
まず外部クリスタル。
回路図にある水晶振動子とコンデンサは未実装で、実際には内部クロックで動作しているようですね!
また、これは回路図中に書かれていますがI2C端子(SCL/SDA)のプルアップ抵抗も実装されていません。
I2Cで使う場合は内部プルアップさせているということですね。
互換Arduinoボードではこのプルアップ用のパットが用意されているボードがありますが、必要に応じて実装する事が出来るようになっているようです。
レギュレーターまわりのパーツもいくつか未実装になっていますね。
あとこれは未実装パーツではありませんが、Arduino Uno R4 Minimaは結構遊び心がある基板になっています。
例えば、基板表面に[+]と[-]のパットがありますが実際にテスターで測ると5Vが来ています。
また回路図に[LOVE]という未使用ピンがありますが・・・
これは基板裏面のハートマークになったパット?に繋がっているようです。(何用かな?)
面白いですね!
Arduino Uno R4で追加された機能等まとめ!
これまでの内容をまとめると、Arduino Uno R3からUno R4 Minimaの変更点や追加機能はこんな感じでしょうか!
- マイコンチップがATmega328PからRA4M1チップに!(動作クロック16MHz→48MHz)
- USB端子がUSB-BからUSB Type-C
- 外部電源が24Vまで対応
- HID機能が使える
- CANモジュールが内蔵された
- 内部オペアンプ
- RTC(リアルタイムクロック)にアクセス可能
- アナログ入力(ADC)の分解能を14ビットまで上げることが出来る
- DACが追加
- ハードウェアシリアルが2系統
- デバッグ用のSWD端子が追加
- [BOOT]端子の追加
- デフォルトでは外部クリスタルは未実装でマイコン内の内部クロックで動作している
従来の8ビット16MHzのATmega328PプロセッサからArduino Uno R4では32ビット48MHzで動作するRenesas RA4M1を搭載しハードウェア的に大きく進化していますが、Arduinoの告知によれば既存のライブラリなどのほとんどは変更なしで動作するとのことです。
最後に!
Arduino Uno R4 Minimaを使ってみてこれまでのUno R3と比較しながら簡単にまとめてみました!
大きく処理速度が上がっているとはいえ私の使用用途ではそこまでシビアに要求される場面はこれまで無かったので、使用感的にはこれまでのUno R3とあまり変わらない印象を受けましたが、ハードウェアシリアルが2系統使えたりHID機能が使えるのは地味に便利だと思います。
Arduino Uno R3では本家ボードよりも付加機能が付いた互換ボードを使うことの方が私は多いのですが、おそらくそのようなUno R4互換ボードがこれからどんどん登場すると思うのでそれもまた楽しみですね!
また、Espressif S3モジュールが搭載されWi-Fi/Bluetoothの無線機能が使える『Arduino Uno R4 WiFi』の方は技適が未取得のため(2023.07現在)まだ日本では販売が開始されていませんが、こちらの登場も楽しみですね!
1記事ではまとめきれなかったので、個別機能等に関しては別記事でご紹介できればと思います。
また、これからArduinoを始めてみようとお考えの方はこちらの記事も参考にして頂ければと思います。
コメントを残す