概要
ESP32 を使用して、スイッチサイエンスのシリアルLEDテープでLチカしてみます。
Macから PlatformIOを使用してコントロールします。
ESP32選定理由:wifi経由、またはBluetooth経由でコントロールしたい。
それを兼ね備え、かつ安いのはESP32となる。
構成
- PC: Mac mini OS 10.15.4
- ESP32: ESP32 DevKitC (秋月電子通商)
- LED: スイッチサイエンス M5Stack用NeoPixel互換 LEDテープ 10 cm
えらく安かったので・・・(400円程度) - ケーブル:スイッチサイエンス GROVE - 4ピン-ジャンパメスケーブル
配線
- G: Gnd: ESP32 Gndへ
- +:5V:抵抗100Ωを介してESP32 5Vへ
- S: Signal:抵抗470Ωを介して ESP32 GPIO18へ
ソース
- main.cppです。
FastLEDライブラリを使用して、サンプルコードをちょこっと修正しただけです。
/* Switch Sience フルカラーシリアルLEDテープ by ESP32
H/W ESP32 DevKitC
DataPin #18+抵抗470Ω
Gnd
5V+抵抗100Ω
*/
#include <Arduino.h>
#include <FastLED.h>
#define NUM_LEDS 15
#define DATA_PIN 18 // data pin set GPIO18
CRGBArray<NUM_LEDS> leds;
void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}
void loop() {
static uint8_t hue;
for(int i = 0; i < NUM_LEDS/2; i++) {
// fade everything out
leds.fadeToBlackBy(80);
// let's set an led value
leds[i] = CHSV(hue++,255,255);
// now, let's first 20 leds to the top 20 leds,
leds(NUM_LEDS/2,NUM_LEDS-1) = leds(NUM_LEDS/2 - 1 ,0);
FastLED.delay(8);
}
}
- PlatformIO.ini
PlatformIOの設定のために、各プロジェクト毎にiniファイルで設定できます。
末尾3行以外は、プロジェクト設定時に自動的に記載されます。
末尾3行は ESP32 DevKitCとMacPCとの接続の為です。
なくても行けることもあるし、いけないこともあり、正直良くわかりません。
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_port = /dev/cu.SLAB_USBtoUART
upload_port = /dev/cu.SLAB_USBtoUART
upload_speed = 115200
動作状況
[https://www.youtube.com/watch?v=x-V2wZ6iK3s]
感想
-
ESP32
安くて、通信が標準装備なのが良い。Web、BLE経由でコントロール出来るので、適用範囲が広い。
例えば、LEDをスマホからコントロールすることも容易。 -
PlatformIO + VSCode
VSCodeエディターにPlatformIOを導入して使っているが、これだけで、ESP32以外の多種ボードに適用できる。(Arduino等)
Arduinoの開発もVSCode+PlatformIOで行っている。ライブラリの管理も簡単だし、お薦めです。
実は、古い人間なもので「Visual Studio」と聞いただけで拒否反応が出ていたのですが、「Visual Studio Code」は使いやすいですね。
Atomよりもこっちのほうがいいです。昔の「Visual Studio」は、UserInterfaceが最悪だと思っていたのですが・・・・ -
シリアルLEDテープ
3本の線だけで多数のLEDをコントロール出来る。ライブラリに沢山例も出ていて使いやすい。
但し調子に乗ってLEDを増やしすぎ、電流を考えないと、ESP32のGPIOを焼いてしまいます。
当方も1ポート焼いてしまいました。なお、抵抗は適当につけてますので、実際に適用する場合はちゃんと計算してください。
1
投稿者の人気記事
-
HakoHiro
さんが
2020/05/03
に
編集
をしました。
(メッセージ: 初版)
-
HakoHiro
さんが
2020/05/03
に
編集
をしました。
ログインしてコメントを投稿する