Help us understand the problem. What is going on with this article?

ESP32-DevKitCを使ってみた〜環境構築からタッチセンサによるLチカまで〜

More than 1 year has passed since last update.

はじめに

ESP32-DevKitCを触る機会があったので,開発環境構築からLチカまでをまとめておきます.
静電容量タッチインターフェース用のPINが10本もあるので,それを使ってタッチを検出しLEDを光らせます.
ちなみにESP32の開発ボードは秋月で1500円くらいで買えます.
ESP32-DevKitC ESP-WROOM-32開発ボード : 秋月電子通商
参考文献リストは末尾に載せています.

開発環境

  • Mac OS Sierra
  • Arduino IDE

開発環境構築

ESP32を開発するにあたっては様々な開発環境があるようです.
参考 : ESP32の開発環境いろいろ - Qiita

自分は使い慣れたArduino IDEで開発したかったのでArduino core for the ESP32を使うことにしました.
Mac OSの場合は,以下の公式のドキュメントを参考にします.
arduino-esp32/mac.md at master · espressif/arduino-esp32

  1. Arduino IDEをArduino - Softwareからインストール
  2. ターミナルに以下のコマンドをコピペ実行
mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py

確認のため,Arduino IDEを開いてツール->ボード->ESP32 Dev Moduleを選択し,
ツール->シリアルポート->/dev/cu.SLAB_USBtoUARTを選択.
・・・すればよいのですが,ESP32をつないでもシリアルポートに/dev/cu.SLAB_USBtoUARTが表れません.

どうやら,Silicon Labs VCP Driverというものが必要っぽいです.
参考 : USB port not listed on Mac OS X · Issue #370 · espressif/arduino-esp32

そこで,以下からMac OS用のドライバをインストールします.
USB - UART ブリッジ VCP ドライバ|Silicon Labs

これでシリアルポートに/dev/cu.SLAB_USBtoUARTが現れるはずです :ok_woman:

タッチセンサを使ってLチカ

ブレッドボードのサイズ

手元にあったブレッドボードにESP32-DevKitCを刺すと,見事に片側1列しか使えなくなりました.
もう一方のサイドにあるPIN使えない・・・

片側に6穴ずつあるサンハヤトの SAD-101が良いらしいです.
ESP32-DevKitC 各部詳細 : ESP-WROOM-32

タッチでLチカ

以下のピン配置を参考にして適当に配線します.
LEDはIO4をタッチセンサはIO2を使用しました.
タッチセンサのIO2からはジャンパ線を生やしているだけです.
(これだけでタッチセンサできるの便利すぎワロタ.しかも10本あるのやべえ)


(image from arduino-esp32/esp32_pinmap.png at master · espressif/arduino-esp32)

コードは以下です.

esp32touch.ino
int threshold = 20;
int touched_value = 0;
int LED_PIN = 4;

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop(){
  touched_value = touchRead(T2);
  if (touched_value < threshold) {
    digitalWrite(LED_PIN, HIGH);
  }
  else {
    digitalWrite(LED_PIN, LOW);
  }
  delay(10);
}

実行結果

こんな感じです.(アニメーションgif)
Lchika.gif

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした