Arduino UNO R4 MINIMAを買ってみた
今までM5StickCやATOM Liteのプログラム作成にArduino IDEを使ってきましたが、この度、本家のArduino UNO R4 MINIMAを購入しました。
Arduino UNO R4 MINIMAは、前製品のR3から大幅に機能アップしています。特に、CPUが8ビットから32ビットになり、高速で処理できるようになりました。
今までM5Stack系を使ってきて何故にArduinoですが、本家を知らずしてArduino IDEを使い続けるのは邪道と思い購入してみました。
詳しいスペックについては、ここでは紹介しません。あくまでもArduino IDEでプログラムを作成するところから紹介します。
1.Arduino IDEのセットアップ
Arduino UNO R4 MINIMAのArduino IDE環境を構築します。
ボードマネージャーの設定
ボードマネージャーを開き、検索窓に「Arduino UNO R4」と入力して実行します。すると、「Arduino UNO R4 Boards by Arduino」があるので、これをインストールします。
Lチカをやってみる
それでは、さっそくプログラムを動かしてみます。Arduino UNO R4 MINIMAには基板上にLEDがあり、プログラムから点灯させることができます。また、そのプログラムはArduino IDEのサンプルにあります。メニューの「File」「Examples」「01.basics」「Blink」を選びます。
Arduino UNO R4 MINIMAをパソコンに接続します。この時点では、Arduino IDEに接続されているデバイスが今まで使っていたデバイスだと思います。そのため、接続したデバイスがArduino UNO R4 MINIMAであることを指定します。メニューの「Tools」「BoardXXXXXX」「Arduino UNO R4 Boards」「Arduino UNO R4 Minima」を選択します。
シリアルポートの確認をします。WindowsPC環境によってシリアルポート番号は異なります。Arduino UNO R4 MINIMAにシリアルポートが割り当てられていることを確認してください。
それでは、ビルドしてみます。問題なく、LEDが点滅しました。
2.温度表示プログラムを作成してみる
ATOM Lite で使ってきた0.96インチOLEDとBME280センサーを使って、温度表示プログラムを作ってみます。
SSD1306ドライバで動作する0.96インチOLEDとBME280センサーはI2Cで接続します。Arduino UNO R4 MINIMAには、SDAとSCLのポートがそれぞれ2つ(一つはA4:SDL、A5:SCL)ありますから、それぞれに接続します。電源は5Vと3.3Vを使いますが、5VをBME280、3.3Vを0.96インチOLEDに接続します(製品によっては、入力電圧が違う可能性もあります)。
また、Arduino IDEに、Adafruit_GFXライブラリとAdafruit BME280ライブラリが必要です。これら2つのライブラリを、ライブラリマネージャーでインストールしておいてください。
それでは、プログラムを用意します。
#include<Wire.h>
#include<Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>
#include "Adafruit_Sensor.h"
#include <Adafruit_BME280.h>
Adafruit_SSD1306 display(-1);
Adafruit_BME280 bme;
void setup() {
Serial.begin(115200) ;
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
Wire.begin();
if (!bme.begin(0x76)){
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
}
void loop() {
float temp;
char buff[256] ;
temp = (float)bme.readTemperature();
sprintf(buff, "Temp = %2.1f", temp);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.print(buff);
display.display();
}
基本的にATOM Liteのプログラムと変わりありませんが、Wireの指定などで簡略できる場合がありました。ビルドする時間も、Arduino UNO R4 MINIMAの方が短いです。そして、一発で動作しました。今までの延長線でプログラムが作れそうです。
3.Wi-Fi版が欲しい
今回購入したArduino UNO R4 にはWi-Fi版もありますが、投稿時点ではまだ日本では発売されていません(もう、出ています)。やっぱりWi-Fiがないと使用目的が限定されてしまいます。早くWi-Fi版が出てほしいですね。
さて、MINIMAを何に使おうと考えていますが、CAN通信やDACあたりを使ったプログラムを作ろうと思っています。
私は秋月電子通商さんで購入しましたが、扱っているショップは多いです。ぜひ、購入してみてください。