今回はArduino UNOについてお話します。
具体的には、2023年に登場したArduino UNO R4に関するものです。
Arduino UNO R4は、Arduino UNO R3とは明確に区別がされます。
Arduino UNO までは名前が一緒なのですが、
Arduino UNO R4は、Arduino UNO R3の後継機です。
RはリビジョンのRで、簡単に言うと、リビジョン3⇒リビジョン4に
モデルチェンジが行われた。ということです。
Arduino UNO R3は、日本での取り扱いは
2012年頃となっておりおよそ10年ぶりのモデルチェンジということになります。
長らくArduinoと言えば、ArduinoUNO。
Arduinoの現行モデルと言えば、ArduinoUNO R3ということで、
約10年ほどArduinoの顔として君臨してきたわけです。
そんなArduino UNOのモデルチェンジで大きく変わったところを3つ紹介します。
ただし、Arduino UNO R4には機能最小限のMinimaと、
無線機能とLEDが表面実装されているWiFiの2モデルがありますが、
どちらも共通で変更になっている内容とします。
※細かい変更で気になったところも2つほど紹介します。
Arduino UNO R3⇒R4の変わったところ【差】が理解できる。
Youtubeチャンネルにさまざまな動画を上げています。
↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓
本ブログはアフィリエイトを用いた広告を掲載しています。
Arduino UNO R3⇒R4で変わった3つの変更点
それでは早速Arduino UNO R3からR4になって変わったところ(変更点)について、
3つご紹介します。その3つがこちらです。
それぞれ詳しく解説してきますが、
3つ目の各ピンが出せる電流値の減少というところだけ唯一のマイナスポイントだと思っています。
【性能UP】メインのマイコンがAtmel⇒Renesasに変更
これは、以前Arduino UNO R4が発売開始になる前に
記事にした内容ですので、ご覧になった方もいるかもしれません。
内容としてはこれから解説する内容と被る部分が多いので、
参考程度に載せておきます。
さて、マイコンがAtmelからRenesas製に変更になりましたが、
実はArduinoは簡単なプログラムをする場合ほとんど気にする必要がありません。
例えば、ArduinoにはON/OFF制御が可能なピンがいくつもありますが、
そのピン番号を指定してON/OFFするコマンドはArduino UNO R3でもR4でも同じなんです。
具体的には、digitalWrite(13,HIGH);というコマンドがあります。
これは、ON/OFF制御可能な13番ピンをHIGH。つまり、DC5Vを流す。というコマンドです。
このコマンド、Arduino UNO R3でもR4でも、Arduino MEGAでもArduino Nano Everyでも
全部共通になっています。
搭載されているマイコンが異なっても、同じコマンドで動くように
内部的に工夫されているんです。初心者にはうれしいですよね!
では、使うコマンドが一緒で、できることも一緒なら、
「どんなマイコンでもいいじゃないか?」と思われたかもしれません。
実はマイコンが変わると、例えば書き込めるプログラムの量が変わったり、
動作周波数と言って、プログラム1行ごとを処理する速度というものがあるのですが、
それがマイコンによって変わったりします。
ですから、各ピンのON/OFFからステップアップしていこうと思った場合に
気になるポイントだ。ということです。
R4でRenesasに変わって、具体的に何がどれくらい変わるのか?
それではマイコンが変わったことで何がどれくらい変わったのか表にしてみました。
Arduino UNO R3⇒ | R4 | |
---|---|---|
マイコンメーカー | Atmel(MicroChip) | Renesas |
マイコンの型番 | ATMega328P | Coretex-M4 |
動作周波数 | 16MHz | 48MHz |
フラッシュメモリ | 32Kbyte | 256Kbyte |
SRAM | 2Kbyte | 32Kbyte |
EEPROM | 1Kbyte | 8Kbyte |
デジタルピンの数 | 14個 | 14個 |
各ピンの許容出力電流 | 20mA | 8mA |
アナログ入力ピンの数 | 6個:10bit | 6個:14bit |
アナログ出力ピンの数 | 0個 | 1個:12bit |
OPアンプ | 0個 | 1個 |
CAN通信 | 0個 | 1個 |
外部電源の対応電圧 | DC6~20V | DC6~24V |
割り込みピンの数 | 2個 | 2個 |
おおむねR3よりもR4のほうが性能UPして、
さらには新機能が追加されていることがわかりますね。
特に注目してもらいたいのが、OPアンプや、アナログ出力が追加されたところですね。
今までPWMで疑似的に電圧をコントロールしていたわけですが、
アナログ出力ができるようになったので、本物のアナログ制御ができるようになりました。
そのうちPWMとアナログ出力をオシロで見る記事を上げてみます。
【精度向上】アナログ入力(電圧監視)の能力が向上
Arduinoには、このようにたくさんのピンが出ていますよね?
それぞれのピンに役割があるわけですが、
なかでも、入力として使う場合に、
電圧を数値化できるAnalogピンと呼ばれるピンがあります。
Analogピンは電圧を数値化できると説明しましたが、
具体的には、ArduinoはDC5Vの入力まで可能ですから、
DC0V~DC5Vの電圧を数値化できるということになります。
ただ、数値化できると言っても、
どれくらいの分解能か(数字が1上がったら電圧はどれくらい上がるのか?)
についても知っておく必要があります。
従来のArduinoでは、この分解能10bitでした。
10bitの分解能とは、0or1で表せる10桁の数ということになります。
具体的には、11 1111 1111~00 0000 0000の範囲なので、
10進数に直すと、1023~0ということで、
DC0Vが0だとすると、DC5Vは1023ということになります。
Arduino UNO R4では、14bitに拡張
では、ここまではArduino UNO R3に代表される、
いままでのArduinoシリーズの分解能が10bitだったということですが、
Arduino UNO R4は、いくつになったか?というと、
10bit⇒14bitになりました。
つまり、11 1111 1111 1111~00 0000 0000 0000の範囲で
DC0V~DC5Vを表現することができるようになりました。
14bitの場合は、10進数で表すと、16383~0までとなります。
14bitに拡張されたことで、16倍程度の分解能UPとなり、
より細かい電圧変化も認識できるようになりました。
【電流値DOWN】各ピンが出せる電流値の減少
3つ目の大きな変更は、各ピンが出せる電流値が下がったところです。
もともとArduinoの各ピンから出せる電流値は、20mAや40mAといった
電流値でしたが、今回のArduino UNO R4は、定格で8mAまでしか流せません。
参考までに今までのArduinoシリーズの流せる電流値を表にしてみました。
Arduinoの種類 | 1ピンあたりで流せる電流値[mA] |
---|---|
Arduino UNO R3 | 20mA |
Arduino UNO R4 | 8mA |
Arduino Leonardo | 40mA |
Arduino Nano Every | 20mA |
Arduino Micro | 20mA |
実際Arduino UNO R3は20mAまで流せる仕様ですから、
単純にR4は半分以下の電流値しか流せないということになります。
特に問題となるのが、いままでArduino向けとしてモジュール化された
電子部品たちが、電流値不足で正しく動かなくなることが考えられます。
実際、わたしの手元にあるメカリレーは、
Arduino UNO R3では問題なくスパッと切り替えてくれるのに対し、
Arduino UNO R4では切り替えこそしてくれるものの、
切り替えする始まりのところでチャタリングのようなものを起こしているのが
音でわかります。
Arduino UNO R4の気になる細かい変更点2つ
ここからは細かい変更点なのでさらっと紹介します。
その変更点とは次の2つです。
対応する外部電源の電圧の幅が広がった
これは、Arduinoを USB接続するのではなく、
外部電源で駆動させる場合の話になります。
通常、スケッチ(プログラム)はUSBケーブルを挿して
パソコンと繋ぐことになると思います。
ただ、スケッチを書き込み終わったら、あとは電源を供給してあげるだけで、
勝手にスケッチを自動で再生してくれます。
そんなとき、わざわざUSBで接続する必要がないんです。
具体的には、ここの丸端子にDC電源を入れてあげればOKです。
この機能はArduino UNO R3よりも前から備わっていましたが、
今回R4で対応する電圧の幅が拡大しました。どれくらい拡大したか表にしてみました。
Arduino UNO | 対応電圧(低側) | 対応電圧(高側) |
---|---|---|
R3 | 6V | 20V |
R4 | 6V | 24V |
念の為解説しておくと、
Arduino UNO R3の方は、限界の値で、推奨電圧はもう少し低いです。
R3の限界電圧が20Vに対して、R4はたった4Vしか
高くないのか?と思ったかもしれませんが、この4Vが大きな意味を持つんです。
それは、産業機器関係の駆動電圧に関係しています。
例えばアクチュエータ関係の電圧は、実はDC24Vのことが多く、
他にもPLCでも、他の周辺機器で電源が必要なものは、24Vが多いです。
こんなAC100V→DC24Vに変換する電源があり、
これにそれぞれDC24Vに対応した機器を繋げていくイメージです。
つまり、産業機器関係の中で、Arduinoを使うために
わざわざ別の電圧の電源が不要ということです。これは結構いいことですね。
簡単な設備にArduinoを追加してちょっとした機能を追加することも可能になるわけですから。
USB接続端子がType-Cに変更された
これ地味なんですが、嬉しい内容です。
今までのArduino UNO R3は、時代遅れのUSB端子を採用していました。
具体的には、昔のプリンターなんかで使われていたUSB Type2.0 B端子です。
こんなの↓↓↓最近全然見ない…
ArduinoのUSB端子の変遷ですが、Arduino UNO R3ではTypeB、
Arduino NanoはminiB、Nano EveryはmicroBとどんどん小さいものを
採用してきた歴史があります。
当然、マイコンボードに占めるUSB端子の面積は小さい方がいいに決まってますよね。
端子が小さくなった分コンパクトにできますし。
microBになったことで最終系かと思いきや、
ここ5年くらいで急激に普及し始めたのがTypeCです。
これのいいところは、表裏を気にすることなく、
とりあえず刺さるというところ。さらに、今ではいろんな機器がTypeC接続になっていますから、
外出するときなどに準備するケーブルの種類が最小限で済みます。
この機器はMicroBのケーブル、この機器はTypeCで、これはiphone用のケーブルで….
と幾つものケーブルの種類を準備した経験はあなたにもあると思います。
iphoneも最近TypeCに統一していますから、今後さらにTypeCが普及していくはずです。
そんな時代の流れからか、Arduino UNO R4のUSB接続端子もTypeCに変更されています。
今まではArduino UNO R3を使うときはプリンター用の絶滅一歩手前の
ケーブルを探す作業もセットでしたが、R4ではその作業は不要になります。
今回のまとめ:R3→R4の切り替えは電流値だけ注意。他はOK
今回はArduino UNO R3とR4の違いについて大きな変更点を中心に解説しました。
搭載されているマイコンチップがAtmelからRenesasに載せ替えになったのがとにかく
大きな変更点ですね。
ただ、さすがArduinoといったところですが、
基本機能はR3でできたところはR4でもできる。その上で追加機能を載せています。
例えば電圧を測定できるanalogPinの高分解能化などですね。
注意点としては、各制御ピンが出せるMax電流値ですね。
元々20mA流せていたものが8mAで半分以下になっています。
メカリレーがギリギリチャタリングを起こしながら起動していました…
おそらく元々R3でギリギリの電流値で動作していた回路では、
R4では動作しない可能性があります。電流値の計算を再度やりなおす必要がありそうです。
R3の回路で動いていたのに、
R4でやると動かない….なんて場合は電流値を疑ってみるといいかもしれないですね。
コメント