EPC32

購入

WayinTop ESP32開発ボード Wi-Fi + BLEモジュール ESP-WROOM-32実装済み デュアルコア 技適取得済み 2個入り 専用USBケーブル付き

購入日 2022/04/24 アマゾン 2個 1980円

ピン配列

ピン配列

開発環境

IDE

Arduinoの開発環境であるArduino IDEをダウンロード

ダウンロードページ

https://www.arduino.cc/en/software

最新版はSPFFSへファイルをアップロードするプログラムが無いのでLegacy IDE (1.8.X)を使用する
Arduino IDE 1.8.19をWindows ZIP file形式でダウンロード
展開してフォルダ内のarduino-1.8.19フォルダをC:のルートにarduino開発フォルダを作りフォルダ内に移動する

IDE開発環境

arduino-1.8.19フォルダ内のarduino.exeをダブルクリックしてIDEを起動する

ボードマネージャー

使用するボードが使用できるように対応するボードマネージャを追加する

ESP32用のボードマネージャーは
Installation instructions using Arduino IDE Boards Managerboards_manager.md
に書かれている。

Arduinoを起動し、ファイルメニューより環境設定を開きます。
「追加のボードマネージャー のURL」に「https://dl.espressif.com/dl/package_esp32_index.json」を入力かるる。

ツールメニューのボードメニューからボード マネージャーを開き、esp32プラットフォームをインストールする。
インストール後は、[ツール] > [ボード] メニューから ESP32 ボードを選択すること。

ファイルアップローダ

SPIFFSにファイルをアップロードするためのプラグイン
Arduino ESP32 filesystem uploader

ダウンロードページ

https://github.com/me-no-dev/arduino-esp32fs-plugin

Installationのreleases pageよりESP32FS-1.1.zipをダウンロード
展開したフォルダ内のESP32FSフォルダを開発環境のtoolsフォルダ内に移動する

ファイルアップローダ

arduino.exeを起動しツールメニューに ESP32 Sketch Data Upload が表示されればOK

ESP32 Sketch Data Upload

ライブラリ

ESPAsyncWebServer

非同期WEBサーバー

ESPAsyncWebServer

展開したフォルダ内のESPAsyncWebServer-masterフォルダをESPAsyncWebServerに変更して開発環境のlibrariesフォルダ内に移動する

AsyncTCP 

ESPAsyncWebServerが依存しているライブラリ

https://github.com/me-no-dev/AsyncTCP

展開したフォルダ内のAsyncTCP-masterフォルダをAsyncTCPに変更して開発環境のlibrariesフォルダ内に移動する

 COMポートドライバ

ESP32とWindowsパソコンをUSBでつなぐためのドライバ

ダウンロードページ

CP210x USB - UART ブリッジ VCP ドライバ

CP210x_Universal_Windows_Driver.zip を解凍して、CP210xVCPInstaller_x64.exe をダブルクリックすれば新しいドライバがインストールされる。

ESP32 PWM出力

Pulse Width Modulation

PMWに使用できるピン

GPIO アナログピン番号
32 A4
33 A5
26 A19
25 A18
27 A17
14 A16
12 A15
13 A14
15 A13
4 A10
2 A12
0 A11

セットアップ

uint32_t ledcSetup(uint8_t chan, uint32_t freq, uint8_t bit_num);

chan 利用するチャネル。0~15。
freq 基本となるPWMの周波数。
bit_num デューティ比を表すビット数。 8:0~255諧調

ピンとチャネルを結びつける。

void ledcAttachPin(uint8_t pin, uint8_t chan);

pin 利用するピン。
chan 利用するチャネル。

指定したデューティ比でPWM出力

void ledcWrite(uint8_t chan, uint32_t duty);

chan 利用するチャネル。0~15。
duty デューティ比。0~(2bit_num)まで。bit_numは、ledcSetup()で設定したbit_num。

プログラム例

//使用するピンのアナログピン番号を指定
const int ledPin = A19;
 
// PWM出力を行う端子を出力端子として設定
pinMode(ledPin , OUTPUT ) ; 

//PMWの設定。最初の引数がchannel,次が周波数,最後が解像度(ここでは8bit = 256段階)
ledcSetup(0, 12800, 8); 

//ピンをチャンネルに接続
ledcAttachPin(ledPin, 0)

ledcWrite(0, 128);

OLED LCD(SPIシリアル)

【ESP32】SPIシリアル 128×64 OLED LCDの動作確認