「Arduinoの基礎 - ペリフェラル」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の10版が非表示)
1行目: 1行目:
== ピン配置 ==
==== Arduino UNO R3 ====
下表に、Arduino UNO R3の全IOピンの機能を示す。<br>
<br>
<center>
{| class="wikitable" | style="background-color:#fefefe;"
|+ Arduino UNO R3のピン配置
! style="background-color:#66CCFF;" | ピン
! style="background-color:#66CCFF;" | 種類
! style="background-color:#66CCFF;" | 説明
|-
| D0 || デジタル || UART受信 (RX)
|-
| D1 || デジタル || UART送信 (TX)
|-
| D2 || デジタル || デジタル入出力
|-
| D3 || デジタル || デジタル入出力, PWM (~)<br><br>(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。<br>Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
|-
| D4 || デジタル || デジタル入出力
|-
| D5 || デジタル || デジタル入出力, PWM (~)<br><br>(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。<br>Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
|-
| D6 || デジタル || デジタル入出力, PWM (~)<br><br>(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。<br>Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
|-
| D7 || デジタル || デジタル入出力
|-
| D8 || デジタル || デジタル入出力
|-
| D9 || デジタル || デジタル入出力, PWM (~)<br><br>(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。<br>Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
|-
| D10 || デジタル || デジタル入出力, PWM (~), SPI (SS)<br><br>(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。<br>Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
|-
| D11 || デジタル || デジタル入出力, PWM (~), SPI (MOSI)<br><br>(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。<br>Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
|-
| D12 || デジタル || デジタル入出力, SPI (MISO)
|-
| D13 || デジタル || デジタル入出力, SPI (SCK), 内蔵LED
|-
| A0 || アナログ入力 || アナログ入力
|-
| A1 || アナログ入力 || アナログ入力
|-
| A2 || アナログ入力 || アナログ入力
|-
| A3 || アナログ入力 || アナログ入力
|-
| A4 || アナログ入力 || アナログ入力, I2C (SDA)
|-
| A5 || アナログ入力 || アナログ入力, I2C (SCL)
|}
</center>
<br>
==== Arduino UNO R4 WiFi ====
下表に、Arduino UNO R4 WiFiの全IOピンの機能を示す。<br>
<br>
<center>
{| class="wikitable" | style="background-color:#fefefe;"
|+ Arduino UNO R4 WiFiのピン配置
! style="background-color:#66CCFF;" | ピン
! style="background-color:#66CCFF;" | 種類
! style="background-color:#66CCFF;" | 説明
|-
| D0 || デジタル || UART受信
|-
| D1 || デジタル || UART送信
|-
| 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 (COPI), GPIOピン, PWM
|-
| D12 || デジタル || SPI (CIPO), GPIOピン
|-
| D13 || デジタル || SPI (SCK), GPIOピン, ビルトインLED
|-
| A0 || アナログ || Analog入力, DAC出力<br><br>UNO R4 WiFiは、最大12ビットの分解能を持つDACを搭載しており、PWMピンよりも高性能なアナログ出力ピンとして機能する。
|-
| A1 || アナログ入力 || Analog入力, OPアンプ +<br><br>RA4M1には内蔵OPAMPがある。
|-
| A2 || アナログ入力 || Analog入力, OPアンプ -<br><br>RA4M1には内蔵OPAMPがある。
|-
| A3 || アナログ入出力 || Analog入力, OPアンプ出力<br><br>RA4M1には内蔵OPAMPがある。
|-
| A4 || アナログ入力 || Analog入力, SDA<br><br>A4ピンとA5ピンは同じI2Cバスに接続されている。
|-
| A5 || アナログ入力 || Analog入力, SCL<br><br>A4ピンとA5ピンは同じI2Cバスに接続されている。
|}
</center>
<br><br>
== 各部詳細 ==
== 各部詳細 ==
Arduino UNO R3の各部詳細は下図の通りである。<br>
Arduino UNO R3の各部詳細は下図の通りである。<br>
27行目: 133行目:
USB電源、ACアダプタ等を電源として使用できる。(ACアダプタは9[V] 2.1[mm]センタープラス型を推奨)<br>
USB電源、ACアダプタ等を電源として使用できる。(ACアダプタは9[V] 2.1[mm]センタープラス型を推奨)<br>
ACアダプタとUSB電源を同時に接続しても構わないが、その場合は、ACアダプタが電源となる。<br>
ACアダプタとUSB電源を同時に接続しても構わないが、その場合は、ACアダプタが電源となる。<br>
<br><br>
== UART ==
UARTは、R4ボードがR3ボードと異なる部分の1つである。<br>
<br>
* Arduino UNO R3
*: UARTは1つでUSBコネクタとD0およびD1ピンの両方に接続されている。
* Arduino UNO R4
*: 2つのハードウェアシリアルポートを使用しており、1つはUSB、もう1つはD0とD1に接続されている。
<br>
そのため、Arduino UNO R4でD0とD1を介してシリアル通信を行う場合は、Serialオブジェクトの代わりにSerial1オブジェクトを使用する必要がある。<br>
<br>
* D0 (TX)
*: TXD1 出力
* D1 (RX)
*: RXD1 入力
<br><br>
<br><br>


== SPI ==
== SPI ==
SPI用のピンは、D10 - D13である。<br>
Arduino UNO R3 / R4のSPI用のピンは、D10 - D13である。<br>
ICSP端子を使えば、他ボードとピン互換にできる。(SSは除く)<br>
ICSP端子を使えば、他ボードとピン互換にできる。(SSは除く)<br>
<br>
[[ファイル:Arduino UNO R3 03.jpg|フレームなし|中央]]
[[ファイル:Arduino UNO R3 03.jpg|フレームなし|中央]]
<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable"
|-
|-
!  !! UNO !! LEONARDO !! MEGA 2560
!  !! UNO R3 /R4 !! LEONARDO !! MEGA 2560
|-
|-
| SCL || D13 / ICSP3 || ICSP3 || D52 / ICSP3
| SCL (SSLA0) || D13 / ICSP3 || ICSP3 || D52 / ICSP3
|-
|-
| MISO || D12 / ICSP1 || ICSP1 || D50 / ICSP1
| MISO (CIPOA) || D12 / ICSP1 || ICSP1 || D50 / ICSP1
|-
|-
| MOSI || D11 / ICSP4 || ICSP4 || D51 / ICSP4
| MOSI (COPIA) || D11 / ICSP4 || ICSP4 || D51 / ICSP4
|-
|-
| SS || D10 || (TX LED) || D53
| SS (SSLA0) || D10 || (TX LED) || D53
|}
|}
</center>
</center>
54行目: 178行目:
{| class="wikitable"
{| class="wikitable"
|-
|-
! I<sup>2</sup>C !! UNO !! LEONARDO !! MEGA 2560
! I<sup>2</sup>C !! UNO R3 / R4 !! LEONARDO !! MEGA 2560
|-
|-
| SCL || A5 / SCL || D3 / SCL || D21 / SCL
| SCL || A5 / SCL || D3 / SCL || D21 / SCL
73行目: 197行目:
|}
|}
<br>
<br>
Timerを使用する関数やライブラリを使用すると、思わぬ落とし穴に遭遇する事がある。<br>
<u>Timerを使用する関数やサードパーティ製ライブラリを使用する場合は、以下に示す事柄に注意する必要がある。</u><br>
・delay(), millis(), micros() 等の関数でTimer0を利用しており、D5, D6をPWMに使用するとデューティ比が高めになる。<br>
* delay関数、millis関数、micros関数等を使用する場合、Timer0およびDピン、D6ピンをPWMに使用するとデューティ比が高めになる。
・ServoライブラリはTimer1を利用しており、D9およびD10でPWMが使用できなくなる。<br>
* ServoライブラリはTimer1を使用するため、D9ピンおよびD10ピンでPWMが使用できない。
・ToneライブラリはTimer2を利用しており、D3およびD11でPWMが使用できなくなる。<br>
* ToneライブラリはTimer2を使用するため、D3ピンおよびD11ピンでPWMが使用できない。
・SPIを利用する場合、D11でPWMが使用できなくなる。<br>
* SPIを使用する場合は、D11ピンでPWMが使用できない。
<br><br>
 
== DAC (Arduino UNO R4のみ) ==
Arduino UNO R4 WiFiのDACピンのデフォルトの書き込み分解能は8ビットである。<br>
これは、このピンに書き込まれる値が0~255の間であることを意味する。<br>
<br>
ただし、この書き込み分解能を12ビットまで変更することができ、ピンに書き込まれる値は0~4096の間となる。<br>
<br>
<syntaxhighlight lang="c++">
analogWriteResolution(12);
</syntaxhighlight>
<br><br>
 
== OPアンプ ==
ルネサスのRA4M1マイコンには4つのオペアンプが内蔵されており、そのうちの1つがUNO R4ボードのピンに出力されている。<br>
<br>
このOPアンプはプログラム制御が可能であり、ADCで使用する。<br>
ADCの入力感度を上げることができるため、オーディオ設計に有効である。<br>
<br>
* A1
*: OPアンプの正入力
* A2
*: OPアンプの負入力
* A3
*: OPアンプの出力
<br><br>
 
== RTC (Arduino UNO R4のみ) ==
リアルタイムクロック (RTC) は、時刻を計測するために使用される。<br>
これは、時刻追跡アプリケーション等に使用することが多い。<br>
<br>
Arduino UNO R4 WiFiにはVRTCピンがあり、電源が遮断されてもオンボードRTCを動作させ続けることができる。<br>
<br>
これを使用するには、VRTCピンに1.6~3.6[V]の範囲の電圧を印加する必要がある。<br>
バックアップ用の電池ホルダ (CR1220電池) も基板上に実装済みである。<br>
<br>
以下の例では、RTCから日付と時刻を取得している。<br>
<syntaxhighlight lang="c++">
#include "RTC.h"
void setup()
{
    Serial.begin(9600);
    RTC.begin();
    RTCTime mytime(30, Month::JUNE, 2023, 13, 37, 00, DayOfWeek::WEDNESDAY, SaveLight::SAVING_TIME_ACTIVE);
    RTC.setTime(mytime);
}
void loop()
{
    RTCTime currenttime;
    // RTCを使用して現在時刻を取得
    RTC.getTime(currenttime);
    // DD/MM//YYYY形式で出力する場合
    Serial.print(currenttime.getDayOfMonth());
    Serial.print("/");
    Serial.print(Month2int(currenttime.getMonth()));
    Serial.print("/");
    Serial.print(currenttime.getYear());
    Serial.print(" - ");
    // HH/MM/SS形式で出力する場合
    Serial.print(currenttime.getHour());
    Serial.print(":");
    Serial.print(currenttime.getMinutes());
    Serial.print(":");
    Serial.println(currenttime.getSeconds());
    delay(1000);
}
</syntaxhighlight>
<br>
Arduinio UNO R4 WiFiのRTC機能の詳細を知りたい場合は、[https://docs.arduino.cc/tutorials/uno-r4-wifi/rtc 公式ドキュメント]を参照すること。<br>
<br><br>
 
== QWIIC (Arduino UNO R4 WiFiのみ) ==
QUIICコネクタは、互換性のある周辺機器を接続することができる。<br>
I2C接続であるため、それぞれが固有のI2Cアドレスを持っている限り、複数のデバイスを接続することができる。<br>
<br>
QUIICコネクタを使用する場合の注意点が2つある。<br>
* 3.3[V]のI2Cバスである。そのため、5[V]のペリフェラルには接続してはならない。
* QUIIC接続は2番目のI2Cポートを使用するため、QUIICデバイスを使用する場合は、既存のスケッチを修正する必要がある。
<br><br>
 
== CAN通信 (Arduino UNO R4のみ) ==
コントローラエリアネットワーク (CAN通信) は、マイコンとデバイスが相互に通信できるように設計された車両バス規格である。<br>
<br>
Arduino Uno R4には、CANバス接続が1つある。<br>
これは、物理的に直接CANバスに接続することはできないが、ロジックレベルの信号をCAN通信互換の信号に変換するトランシーバが必要になる。<br>
Arduino UNO R4のハードウェアおよびライブラリが、バスプロトコルとデータフォーマットの処理を担当する。<br>
<br>
<u>※注意</u><br>
<u>MinimaとWiFiのCANバス接続が異なることに注意する。</u><br>
<br>
* Minima
** D4
**: CAN TX – CAN通信の送信
** D5
**: CAN RX – CAN通信の受信
*: <br>
* WiFi
** D10
**: CAN TX – CAN通信の送信
** D13
**: CAN RX – CAN通信の受信
<br><br>
 
== ESP32 Header (Arduino UNO R4 WiFiのみ) ==
ESPヘッダを使用する場合、基板上のESP32-S3の一部のGPIOピンに直接アクセスすることができる。<br>
このヘッダ、あるいは、基板裏面のパッドを使用することにより、RA4M1マイコンとは独立してESP32をプログラミングすることが可能である。<br>
<br><br>
 
== LED Matrix (Arduino UNO R4 WiFiのみ) ==
Arduino UNO R4 WiFiを他のボードと区別するには、ワイヤレス機能の他に基板面積の約4分の1を占める12×8のLEDディスプレイマトリックスの存在である。<br>
<br><br>
 
== ブート / リセット ==
ブートプロセスに関連するピンが存在する。<br>
<br>
* BOOT
*: BOOTピンはマイコンのブートモードを変更するために使用されていたが、Arduino Uno R4ボードでは接続されていない。
* IOREF
*: IOREFピンは出力となっており、5[V]に接続されている。
*: このピンの目的は、ボードのロジックレベルの電圧基準を提供することである。
* RESET
*: RESETピンは、LOWに保持するとマイクロコントローラをリセットする。
<br><br>
<br><br>



2024年12月9日 (月) 15:31時点における最新版

ピン配置

Arduino UNO R3

下表に、Arduino UNO R3の全IOピンの機能を示す。

Arduino UNO R3のピン配置
ピン 種類 説明
D0 デジタル UART受信 (RX)
D1 デジタル UART送信 (TX)
D2 デジタル デジタル入出力
D3 デジタル デジタル入出力, PWM (~)

(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。
Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
D4 デジタル デジタル入出力
D5 デジタル デジタル入出力, PWM (~)

(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。
Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
D6 デジタル デジタル入出力, PWM (~)

(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。
Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
D7 デジタル デジタル入出力
D8 デジタル デジタル入出力
D9 デジタル デジタル入出力, PWM (~)

(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。
Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
D10 デジタル デジタル入出力, PWM (~), SPI (SS)

(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。
Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
D11 デジタル デジタル入出力, PWM (~), SPI (MOSI)

(~)は、デジタルのON / OFF (0 / 1) だけでなく、PWMによる擬似的なアナログ出力が可能であることを示している。
Arduino UNO R3では、0-255の範囲で出力の強さを制御できる。
D12 デジタル デジタル入出力, SPI (MISO)
D13 デジタル デジタル入出力, SPI (SCK), 内蔵LED
A0 アナログ入力 アナログ入力
A1 アナログ入力 アナログ入力
A2 アナログ入力 アナログ入力
A3 アナログ入力 アナログ入力
A4 アナログ入力 アナログ入力, I2C (SDA)
A5 アナログ入力 アナログ入力, I2C (SCL)


Arduino UNO R4 WiFi

下表に、Arduino UNO R4 WiFiの全IOピンの機能を示す。

Arduino UNO R4 WiFiのピン配置
ピン 種類 説明
D0 デジタル UART受信
D1 デジタル UART送信
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 (COPI), GPIOピン, PWM
D12 デジタル SPI (CIPO), GPIOピン
D13 デジタル SPI (SCK), GPIOピン, ビルトインLED
A0 アナログ Analog入力, DAC出力

UNO R4 WiFiは、最大12ビットの分解能を持つDACを搭載しており、PWMピンよりも高性能なアナログ出力ピンとして機能する。
A1 アナログ入力 Analog入力, OPアンプ +

RA4M1には内蔵OPAMPがある。
A2 アナログ入力 Analog入力, OPアンプ -

RA4M1には内蔵OPAMPがある。
A3 アナログ入出力 Analog入力, OPアンプ出力

RA4M1には内蔵OPAMPがある。
A4 アナログ入力 Analog入力, SDA

A4ピンとA5ピンは同じI2Cバスに接続されている。
A5 アナログ入力 Analog入力, SCL

A4ピンとA5ピンは同じI2Cバスに接続されている。



各部詳細

Arduino UNO R3の各部詳細は下図の通りである。

Arduino UNO R3 01.jpg

図の左上のUSBコネクタの近くに、ICSP2(6ピンのピンヘッダ)が無いArduinoは、
USB - シリアル変換にATmega16U2が使用されていない(恐らくCH340Gが使用されている)と思われるので避けたほうがよい。

Arduino UNO R3 02.jpg


GPIO

14本のデジタルIOピン(D0 - D13)、6本のアナログINピン(A0 - A5)、6本のアナログOUTピン(D3, D5, D6, D9, D10, D11)がある。

・デジタルIOピン(D0 - D13)
 Arduino IDEのソースコード上で入出力(INPUT, OUTPUT)として設定する。
 センサから読み取る時は入力、アクチュエータに接続するときは出力である。
 このピンで扱う電圧値は、HIGHとLOWの2値のみである。

・アナログINピン(A0 - A5)
 アナログセンサを読み取る時に使用する。
 このピンで扱う電圧値は、0 - 1023である。

・アナログOUTピン(D3, D5, D6, D9, D10, D11)
 デジタルIOピンの6本のみアナログ出力として使用できる。
 このピンで扱う電圧値は、0 - 255である。
 どのピンをアナログ出力とするかは、Arduino IDEのソースコード上で設定する。

電源

USB電源、ACアダプタ等を電源として使用できる。(ACアダプタは9[V] 2.1[mm]センタープラス型を推奨)
ACアダプタとUSB電源を同時に接続しても構わないが、その場合は、ACアダプタが電源となる。


UART

UARTは、R4ボードがR3ボードと異なる部分の1つである。

  • Arduino UNO R3
    UARTは1つでUSBコネクタとD0およびD1ピンの両方に接続されている。
  • Arduino UNO R4
    2つのハードウェアシリアルポートを使用しており、1つはUSB、もう1つはD0とD1に接続されている。


そのため、Arduino UNO R4でD0とD1を介してシリアル通信を行う場合は、Serialオブジェクトの代わりにSerial1オブジェクトを使用する必要がある。

  • D0 (TX)
    TXD1 出力
  • D1 (RX)
    RXD1 入力



SPI

Arduino UNO R3 / R4のSPI用のピンは、D10 - D13である。
ICSP端子を使えば、他ボードとピン互換にできる。(SSは除く)

Arduino UNO R3 03.jpg


UNO R3 /R4 LEONARDO MEGA 2560
SCL (SSLA0) D13 / ICSP3 ICSP3 D52 / ICSP3
MISO (CIPOA) D12 / ICSP1 ICSP1 D50 / ICSP1
MOSI (COPIA) D11 / ICSP4 ICSP4 D51 / ICSP4
SS (SSLA0) D10 (TX LED) D53



I2C

I2C用のピンは、A4 / A5である。
Arduino UNO R3で拡張されたSCL / SDAピンを使用すれば、他ボードとピン互換にできる。

I2C UNO R3 / R4 LEONARDO MEGA 2560
SCL A5 / SCL D3 / SCL D21 / SCL
SDA A4 / SDA D2 / SDA D20 / SDA


Arduino UNO R3 04.jpg



Timer

Arduino UNOには、Timer0 / Timer1 / Timer2の3つのタイマーがある。

Timer0 Timer1 Timer2
D5 / D6 D9 / D10 D3 / D11


Timerを使用する関数やサードパーティ製ライブラリを使用する場合は、以下に示す事柄に注意する必要がある。

  • delay関数、millis関数、micros関数等を使用する場合、Timer0およびDピン、D6ピンをPWMに使用するとデューティ比が高めになる。
  • ServoライブラリはTimer1を使用するため、D9ピンおよびD10ピンでPWMが使用できない。
  • ToneライブラリはTimer2を使用するため、D3ピンおよびD11ピンでPWMが使用できない。
  • SPIを使用する場合は、D11ピンでPWMが使用できない。



DAC (Arduino UNO R4のみ)

Arduino UNO R4 WiFiのDACピンのデフォルトの書き込み分解能は8ビットである。
これは、このピンに書き込まれる値が0~255の間であることを意味する。

ただし、この書き込み分解能を12ビットまで変更することができ、ピンに書き込まれる値は0~4096の間となる。

 analogWriteResolution(12);



OPアンプ

ルネサスのRA4M1マイコンには4つのオペアンプが内蔵されており、そのうちの1つがUNO R4ボードのピンに出力されている。

このOPアンプはプログラム制御が可能であり、ADCで使用する。
ADCの入力感度を上げることができるため、オーディオ設計に有効である。

  • A1
    OPアンプの正入力
  • A2
    OPアンプの負入力
  • A3
    OPアンプの出力



RTC (Arduino UNO R4のみ)

リアルタイムクロック (RTC) は、時刻を計測するために使用される。
これは、時刻追跡アプリケーション等に使用することが多い。

Arduino UNO R4 WiFiにはVRTCピンがあり、電源が遮断されてもオンボードRTCを動作させ続けることができる。

これを使用するには、VRTCピンに1.6~3.6[V]の範囲の電圧を印加する必要がある。
バックアップ用の電池ホルダ (CR1220電池) も基板上に実装済みである。

以下の例では、RTCから日付と時刻を取得している。

 #include "RTC.h"
 
 void setup()
 {
    Serial.begin(9600);
 
    RTC.begin();
    RTCTime mytime(30, Month::JUNE, 2023, 13, 37, 00, DayOfWeek::WEDNESDAY, SaveLight::SAVING_TIME_ACTIVE);
 
    RTC.setTime(mytime);
 }
 
 void loop()
 {
    RTCTime currenttime;
 
    // RTCを使用して現在時刻を取得
    RTC.getTime(currenttime);
 
    // DD/MM//YYYY形式で出力する場合
    Serial.print(currenttime.getDayOfMonth());
    Serial.print("/");
    Serial.print(Month2int(currenttime.getMonth()));
    Serial.print("/");
    Serial.print(currenttime.getYear());
    Serial.print(" - ");
 
    // HH/MM/SS形式で出力する場合
    Serial.print(currenttime.getHour());
    Serial.print(":");
    Serial.print(currenttime.getMinutes());
    Serial.print(":");
    Serial.println(currenttime.getSeconds());
 
    delay(1000);
 }


Arduinio UNO R4 WiFiのRTC機能の詳細を知りたい場合は、公式ドキュメントを参照すること。


QWIIC (Arduino UNO R4 WiFiのみ)

QUIICコネクタは、互換性のある周辺機器を接続することができる。
I2C接続であるため、それぞれが固有のI2Cアドレスを持っている限り、複数のデバイスを接続することができる。

QUIICコネクタを使用する場合の注意点が2つある。

  • 3.3[V]のI2Cバスである。そのため、5[V]のペリフェラルには接続してはならない。
  • QUIIC接続は2番目のI2Cポートを使用するため、QUIICデバイスを使用する場合は、既存のスケッチを修正する必要がある。



CAN通信 (Arduino UNO R4のみ)

コントローラエリアネットワーク (CAN通信) は、マイコンとデバイスが相互に通信できるように設計された車両バス規格である。

Arduino Uno R4には、CANバス接続が1つある。
これは、物理的に直接CANバスに接続することはできないが、ロジックレベルの信号をCAN通信互換の信号に変換するトランシーバが必要になる。
Arduino UNO R4のハードウェアおよびライブラリが、バスプロトコルとデータフォーマットの処理を担当する。

※注意
MinimaとWiFiのCANバス接続が異なることに注意する。

  • Minima
    • D4
      CAN TX – CAN通信の送信
    • D5
      CAN RX – CAN通信の受信

  • WiFi
    • D10
      CAN TX – CAN通信の送信
    • D13
      CAN RX – CAN通信の受信



ESP32 Header (Arduino UNO R4 WiFiのみ)

ESPヘッダを使用する場合、基板上のESP32-S3の一部のGPIOピンに直接アクセスすることができる。
このヘッダ、あるいは、基板裏面のパッドを使用することにより、RA4M1マイコンとは独立してESP32をプログラミングすることが可能である。


LED Matrix (Arduino UNO R4 WiFiのみ)

Arduino UNO R4 WiFiを他のボードと区別するには、ワイヤレス機能の他に基板面積の約4分の1を占める12×8のLEDディスプレイマトリックスの存在である。


ブート / リセット

ブートプロセスに関連するピンが存在する。

  • BOOT
    BOOTピンはマイコンのブートモードを変更するために使用されていたが、Arduino Uno R4ボードでは接続されていない。
  • IOREF
    IOREFピンは出力となっており、5[V]に接続されている。
    このピンの目的は、ボードのロジックレベルの電圧基準を提供することである。
  • RESET
    RESETピンは、LOWに保持するとマイクロコントローラをリセットする。



Arduino言語マニュアル

言語リファレンスは [ヘルプ] - [リファレンス]で閲覧できる。(Arduino IDEのインストールフォルダのreferenceフォルダにある)
Arduino日本語リファレンス(Arduino Wiki)