はじめに
もうすぐ Arduino Uno R4 Wifi が日本でも発売されます。今は技適承認待ちだと思います。そんな状況なのにWifi, Bluttoothを試してみたかったのでESP-WROOM-32に手を出しました。買ったのはこちらです。ESPr® Branch 32(Groveコネクタ付き)www.switch-science.com
環境
Windows 11 Arduino IDE 2.1.1
ESP32をArduino IDEで使う方法
方法をネットで検索すると古い記事がたくさん出てきました。古い記事では複雑な手順が書かれていましたが、少なくとも今回のボードと現在の環境では非常に簡単でした。ボードマネージャーでesp32をインストールするだけです。今回のボードは「ESP32 Dev Module」を選択すれば問題なかったです。
使用例1
LEDをつけたり消したりしてみました。使ったのはこちらです。
M5Stack用メカニカルキーボタンユニット — スイッチサイエンス
M5Stack用RGB LEDユニット(SK6812) — スイッチサイエンス
#include <Adafruit_NeoPixel.h> const int buttonON = LOW; // ボタンが押されているとピンの値はLOW const int buttonPin1 = 25; const int LED_button = 14; const int LED_PIN1 = 15; int LED_ON = false; Adafruit_NeoPixel led_button = Adafruit_NeoPixel(1, LED_button, NEO_GRB + NEO_KHZ800); Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel(3, LED_PIN1, NEO_GRB + NEO_KHZ800); void setup() { pinMode(buttonPin1, INPUT_PULLUP); led_button.begin(); pixels1.begin(); pixels1.setPixelColor(0, pixels1.Color(0, 0, 0)); pixels1.setPixelColor(1, pixels1.Color(0, 0, 0)); pixels1.setPixelColor(2, pixels1.Color(0, 0, 0)); pixels1.show(); } void loop() { if (digitalRead(buttonPin1) == buttonON) { led_button.setPixelColor(0, led_button.Color(0, 100, 0)); led_button.show(); if (LED_ON == true){ pixels1.setPixelColor(0, pixels1.Color(0, 0, 0)); pixels1.setPixelColor(1, pixels1.Color(0, 0, 0)); pixels1.setPixelColor(2, pixels1.Color(0, 0, 0)); pixels1.show(); }else{ pixels1.setPixelColor(0, pixels1.Color(100, 0, 0)); pixels1.setPixelColor(1, pixels1.Color(0, 100, 0)); pixels1.setPixelColor(2, pixels1.Color(0, 0, 100)); pixels1.show(); } delay(200); led_button.setPixelColor(0, led_button.Color(0, 0, 0)); led_button.show(); LED_ON = !LED_ON; while (digitalRead(buttonPin1) == buttonON); delay(200); } }
Arduinoで使ったことがある「Adafruit_NeoPixel」ライブラリが何の問題もなく使用できました。
はんだ付けをしなくていい電子工作は最高です!!
はんだ付けを含めた工作を楽しいと感じる人もいれば、プログラムを記述するのを楽しいと感じる人もいると思います。自分は後者です。