26
ESP8266-SERVO-BIT-R1 利用マニュアル マイクロファン http://www.microfan.jp/ https://store.shopping.yahoo.co.jp/microfan/ https://www.amazon.co.jp/s?merchant=A28NHPRKJDC95B 2018 5 Copyright c 2018 MicroFan, All Rights Reserved.

ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

ESP8266-SERVO-BIT-R1

利用マニュアル

マイクロファン

http://www.microfan.jp/

https://store.shopping.yahoo.co.jp/microfan/

https://www.amazon.co.jp/s?merchant=A28NHPRKJDC95B

2018年 5月

Copyright c⃝ 2018 MicroFan, 

All Rights Reserved.

Page 2: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

i

目次

第 1章 ESP8266-SERVO-BIT-R1の紹介 1

1.1 製品概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 ESP-WROOM-02開発ボード . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 ロボット等の 3Dモデル . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 別売り製品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4.1 CL0802-STATION (I2C文字表示拡張ボード) キット . . . . . . . 4

1.4.2 HC-SR501 焦電センサー . . . . . . . . . . . . . . . . . . . . . . 4

1.4.3 WS2812B カラー LEDリング . . . . . . . . . . . . . . . . . . . 5

1.5 マニュアルの記載内容に関して . . . . . . . . . . . . . . . . . . . . . . 6

第 2章 部品一覧 7

2.1 部品表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

第 3章 作成手順 9

3.1 抵抗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 セラミックコンデンサ . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.3 圧電スピーカー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.4 ピンヘッダー CN1-CN9, JP1 . . . . . . . . . . . . . . . . . . . . . . . 10

3.5 ピンソケット SV1, SV2 . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.6 ターミナルブロック CN10 . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.7 ESP-WROOM-02開発ボード . . . . . . . . . . . . . . . . . . . . . . . 10

3.8 基板の目視検査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

第 4章 Arduinoスケッチ環境の整備 12

4.1 サンプルスケッチの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1.1 Sweep: RCサーボの利用 . . . . . . . . . . . . . . . . . . . . . . 12

4.1.2 toneMelody: 圧電スピーカーの利用 . . . . . . . . . . . . . . . . 13

4.1.3 カラー LED WS2812/NeoPixelの利用 . . . . . . . . . . . . . . 13

第 5章 資料 16

5.1 ESP8266-SERVO-BITの回路図 . . . . . . . . . . . . . . . . . . . . . 16

Page 3: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

目次 ii

5.2 RCサーボ用電源とジャンパー設定 . . . . . . . . . . . . . . . . . . . . 16

5.2.1 JP1: RCサーボ電源 . . . . . . . . . . . . . . . . . . . . . . . . 16

5.2.2 CN10: RCサーボ用電源端子 . . . . . . . . . . . . . . . . . . . . 17

5.3 CN1-CN8: RCサーボ用端子 . . . . . . . . . . . . . . . . . . . . . . . 17

5.3.1 RCサーボ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.3.2 WS2812B/NeoPixel . . . . . . . . . . . . . . . . . . . . . . . . 18

5.3.3 焦電(人感)センサー HC-SR501 . . . . . . . . . . . . . . . . . 19

5.4 CN9: I2C端子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.5 ハードウェア拡張用コネクタ . . . . . . . . . . . . . . . . . . . . . . . 19

第 6章 購入および問い合わせ先 20

6.1 ご協力のお願い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.2 販売:ネットショップ . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.3 製品情報 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.4 問い合わせ先 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

6.5 所在地 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 4: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

iii

図目次

1.1 ESP8266-CORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 ESP8266-CORE の搭載例 . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 ESPr Developer の搭載例 . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 SMARS QUAD MOD . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.5 CL0802-STATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6 HC-SR501 焦電センサー . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1 部品写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.1 ESP8266-SERVO-BITの組み立て例 . . . . . . . . . . . . . . . . . . . 11

4.1 Sweep: RCサーボの利用 . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.2 toneMelody: 圧電スピーカーの利用 . . . . . . . . . . . . . . . . . . . . 14

4.3 カラー LEDライブラリ . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.1 ESP8266-SERVO-BITの回路図 . . . . . . . . . . . . . . . . . . . . . 16

Page 5: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

iv

表目次

2.1 部品表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5.1 RCサーボ用端子ピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2 CN9ピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Page 6: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

1

第 1章

ESP8266-SERVO-BIT-R1の紹介

1.1 製品概要

無線接続機能を持ち Arduinoでプログラミングできるマイクロコントローラーとして、

ESP-WROOM-02 が注目されています。ESP8266-SERVO-BIT は ESP-WROOM-02

に RC サーボを接続し、スマートフォンなどで遠隔操作できる機器やロボットを作成

するための拡張ボードです。弊社の ESP8266-CORE やスイッチサイエンス社の ESPr

Developerの拡張ボードとして利用できます。

スマートフォンなどで遠隔操作する機器は、ESP8266-SERVO-BIT と Blynk ソフト

ウェアを利用することで、手軽に開発することができます。

• https://www.blynk.cc/

Page 7: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 1章 ESP8266-SERVO-BIT-R1の紹介 2

ESP8266-SERVO-BITは以下のような特徴を持っています。

• 8個の RCサーボを接続する端子を装備しています。

• 上記の端子には、HC-SR501 焦電センサーを接続することもできます。

• 圧電スピーカーを装備しています。• 3.3Vの I2C機器を接続する端子を装備しています。

• 節 5.3.2に示すように、信号線の仕様上動作保証はできませんが、RCサーボ端子

には、WS2812B/NeoPixel シリアルカラー LEDを接続することができます。

1.2 ESP-WROOM-02開発ボード

ESP-WROOM-02 開発ボードは、ESP8266-SERVO-BIT の標準キットには含まれて

いませんので別途お買い求めください。

ESP8266-SERVO-BIT で使用できる ESP-WROOM-02 開発ボードは以下の2種類

です。

• ESP8266-CORE

http://store.shopping.yahoo.co.jp/microfan/esp8266-core-r1.html

ESP8266-SERVO-BIT で使用できる ESP-WROOM-02 開発ボード ESP8266-

COREを図 1.1に示します。

• ESPr Developer(スイッチサイエンス社製)

図 1.1 ESP8266-CORE

ESP8266-SERVO-BITに ESP8266-COREを搭載した例を図 1.2に、ESPr Developer

を搭載した例を図 1.3に示します。

Page 8: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 1章 ESP8266-SERVO-BIT-R1の紹介 3

図 1.2 ESP8266-CORE の搭載例

図 1.3 ESPr Developer の搭載例

1.3 ロボット等の 3Dモデル

ESP8266-SERVO-BITを使用すると、例えば、図 1.4のようなスマートフォンで操作

できるロボット (8個の RCサーボを搭載)を作成できます。

ロボットの筐体として使用できる 3D モデルは、Thingiverse (https://www.

thingiverse.com/)などで取得でき、3Dプリンタで印刷して利用できます。

図 1.4の SMARS QUAD MODは、以下の URLから取得することができます。

Page 9: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 1章 ESP8266-SERVO-BIT-R1の紹介 4

図 1.4 SMARS QUAD MOD

https://www.thingiverse.com/thing:2755973

1.4 別売り製品

RCサーボの他に、ESP8266-SERVO-BITに下記の部品等を接続することで、様々な

実験を行えます。必要に応じて別途お買い求めください。

1.4.1 CL0802-STATION (I2C文字表示拡張ボード) キット

ESP8266-SERVO-BITに I2C接続で、タクトスイッチや文字液晶表示器を追加できま

す。RCサーボの操作入力や装置の状態を文字表示するなどの、モニタ装置として利用で

きます。

https://store.shopping.yahoo.co.jp/microfan/cl0802-station-r1-kit.

html

1.4.2 HC-SR501 焦電センサー

人感センサーとも呼ばれ、近くに人がいることを検知できるセンサーです。人を検知し

て RCサーボをお動かすような応用に利用できます。

RCサーボコネクタに接続して利用できます。

https://store.shopping.yahoo.co.jp/microfan/hc-sr501.html

Page 10: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 1章 ESP8266-SERVO-BIT-R1の紹介 5

図 1.5 CL0802-STATION

図 1.6 HC-SR501 焦電センサー

1.4.3 WS2812B カラー LEDリング

1本の信号線で多数のカラー LEDの発光を制御できます。

節 5.3.2に示すように、信号線の仕様上、動作保証はできませんが、RCサーボの動き

に合わせて鮮やかな発色を行わせることができます。

https://store.shopping.yahoo.co.jp/microfan/cjmcu-ws2812-ring-12.

html

https://store.shopping.yahoo.co.jp/microfan/cjmcu-ws2812-ring-24.

html

Page 11: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 1章 ESP8266-SERVO-BIT-R1の紹介 6

1.5 マニュアルの記載内容に関して

本マニュアルの記載内容と、ご提供するソフトウェア、ハードウェアに差異がある場合

には、ご指摘によりマニュアルの迅速な訂正を心がけますが、ご提供するソフトウェア、

ハードウェアの現品の仕様が優先されます。

お伝えする内容と本質的な問題がない場合には、本マニュアルには、旧バージョンの製

品の写真や他製品の写真などがそのまま使用されている場合がありますのでご承知おきく

ださい。

本書に記載されている内容に基づく作業、運用などにおいて、いかなる損害が生じて

も、弊社および著者をはじめとする本文書作成関連者は、一切の責任を負いません。

本文書に記載されている製品名などは、一般的にそれぞれの権利者の登録商標または商

標です。

Page 12: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

7

第 2章

部品一覧

2.1 部品表

ESP8266-SERVO-BITキットの部品表を表 2.1、図 2.1に示します。部品が不足、破損

している場合には、キットを組み立てる前にマイクロファンにお問い合わせください。

表 2.1 部品表

部品 シンボル 規格等 個数

プリント基板 ESP8266-SERVO-BIT Rev.1 1

抵抗 R1 1KΩ 1

セラミックコンデンサ C1 0.1μ F 1

圧電スピーカー X1 1

ピンヘッダー CN1-C8 3x4PIN 2

CN9, JP1 10PIN 1

ピンソケット SV1, SV2 8PIN 2

ターミナルブロック CN10 2PIN 1

ESP-WROOM-02ボード SV1, SV2 ESP8266-CORE 別売

SV3, SV4 ESPr Developer 別売

ショートピン JP1 2PIN 1

Page 13: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 2章 部品一覧 8

図 2.1 部品写真

注:図 2.1に写っている 2ピンヘッダーはキットには含まれません。

Page 14: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

9

第 3章

作成手順

ESP8266-SERVO-BITキットの標準的な作成手順の概要を以下に示します。基本的に

は、一般的な電子工作の手順と同様で、背の低い部品から実装していきます。

• 抵抗• セラミックコンデンサ• 圧電スピーカー• ピンヘッダー• ピンソケット• ターミナルブロック• ESP-WROOM-02開発ボード

• 全体の動作確認

実際の作成作業に入る前に、一度作成手順全体に目を通しておくことをお勧めします。

抵抗、コンデンサ、圧電スピーカーなどの2本足の部品のはんだ付けは、まず片方の足

をはんだ付けし、部品の取り付け姿勢などを必要に応じて修正してからもう片方の足をは

んだ付けすると、部品の配置をきれいに整えて取り付けることができます。はんだ付け後

に、基板裏面から伸びて余っている足をニッパーなどで切り取ります。

ピンソケット、ピンヘッダーなどの複数の端子を持つ部品のはんだ付けは、端子の端の

1ピン、もしくは両端か対角上の2ピンをはんだ付けし、部品の取り付け姿勢などを必要

に応じて修正してから残りの端子をはんだ付けすると、部品の姿勢をきれいに整えて取り

付けることができます。

3.1 抵抗

抵抗をプリント基板上の所定の位置に取り付けはんだ付けします。

3.2 セラミックコンデンサ

セラミックコンデンサを所定の位置に取り付けはんだ付けします。

Page 15: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 3章 作成手順 10

3.3 圧電スピーカー

圧電スピーカーを所定の位置に取り付けはんだ付けします。

3.4 ピンヘッダー CN1-CN9, JP1

1列のピンヘッダーから、ピンヘッダーの台座部分の切れ込みをニッパーなどで挟んで

5ピンと 2ピンのピンヘッダーを切り出し、CN9と JP1にそれぞれ取り付けはんだ付け

します。

次に、CN1-CN4, CN5-CN8に、それぞれ 3X4ピンのピンヘッダーを取り付けはんだ

付けします。

3.5 ピンソケット SV1, SV2

ESP-WROOM-02開発ボードとして ESP8266-COREを利用する場合、必要に応じて

SV1, SV2 にピンソケットをはんだ付けしてください。

ピンソケットを取り付けると、ESP8266-COREを ESP8266-SERVO-BITから抜き差

しできるようになりますが、少し嵩が高くなることになります。

3.6 ターミナルブロック CN10

ターミナルブロック CN10を所定の位置に取り付けはんだ付けします。

3.7 ESP-WROOM-02開発ボード

別途用意した ESP-WROOM-02開発ボードを所定の位置に取り付けます。ピンソケッ

トを使用しない場合にははんだ付けします。ESP-WROOM-02開発ボードは、USBコネ

クタが上に、ESP-WROOM-02が下になるように取り付けます。

ESP8266-COREは SV1, SV2に、ESPr Developerは SV3, SV4に取り付けます。

3.8 基板の目視検査

ESP8266-SERVO-BITの組み立て例を図 3.1に示します。

組み立てが完了したら、まず、基板の電源ラインがショートしていないか確認します。

目視で確認を行うだけでなく、テスターでの確認を推奨します。テスターでは、GND

と5V,GND と 3.3V の電源ライン間の抵抗を確認します。抵抗がほぼ0の場合には、

電源ラインがショートしていることになるので、ショート場所の確認と修正が必要になり

ます。

Page 16: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 3章 作成手順 11

図 3.1 ESP8266-SERVO-BITの組み立て例

Page 17: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

12

第 4章

Arduinoスケッチ環境の整備

ESP-WROOM-02用の Arduino の開発環境の整備は、使用する ESP-WROOM-02開

発ボードの説明書等をご参照ください。

4.1 サンプルスケッチの実行

ESP8266用の Coreをインストールすると、Arduino IDEの [ファイル] ⇒ [スケッチ

の例] に、ESP8266 用の多くのサンプルスケッチが追加されます。これらのサンプルス

ケッチを試すことで、ESP8266のプログラミングを学ぶことができます。

ここでは、ESP8266-SERVO-BITの動作確認のために、いくつかのスケッチの実行を

試してみましょう。

• RCサーボの利用

• 圧電スピーカーの利用• カラー LED WS2812/NeoPixelの利用

4.1.1 Sweep: RCサーボの利用

RCサーボは、CN1-CN8に接続して利用することができます。CN1-CN8端子に関し

ては、節 5.3をご参照ください。

RCサーボ用の Servoライブラリは、Arduinoの基本的なライブラリとして ESP8266

用のコアに組み込まれており、改めてライブラリをインストールしなくても利用できま

す。広く利用されている Arduino UNO などの Servoライブラリと同様に利用すること

ができますので、その利用法を参考にしてください。

https://www.arduino.cc/en/Reference/Servo

ESP8266用のコアに含まれている Sweepスケッチを参考に示します。

Page 18: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 4章 Arduinoスケッチ環境の整備 13

� �#include <Servo.h>

Servo myservo;

void setup()

{

myservo.attach(0); // RCサーボを接続する CN1は 0番端子

}

void loop()

{

int pos;

for(pos = 0; pos <= 180; pos += 1) { // 0度から 180度へ

myservo.write(pos);

delay(15);

}

for(pos = 180; pos>=0; pos-=1) { // 180度から 0度へ

myservo.write(pos);

delay(15);

}

}� �図 4.1 Sweep: RCサーボの利用

4.1.2 toneMelody: 圧電スピーカーの利用

Arduino のサンプルスケッチを利用して圧電スピーカーで簡単なメロディーを鳴らし

てみましょう。

Arduino IDEの [ファイル] ⇒ [スケッチの例] ⇒ [02.Digital]から toneMelodyを選択

してください。ESP8266-SERVO-BIT の圧電スピーカーは 16 番ピンに接続されている

ので、スケッチの tone(), noTone()の第 1引数を 16に変更します。

4.1.3 カラー LED WS2812/NeoPixelの利用

信号電圧の仕様上、動作保証はできませんが、WS2812/NeoPixelを CN1-CN8に接続

して利用する方法を示します。

WS2812/NeoPixelの信号線の仕様の問題に関しては、節 5.3.2をご参照ください。

ESP8266-SERVO-BITで利用できるカラー LED:WS2812Bには、LEDの発光制御用

Page 19: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 4章 Arduinoスケッチ環境の整備 14

� �#include "pitches.h"

// notes in the melody:

int melody[] = {

NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4

};

// note durations: 4 = quarter note, 8 = eighth note, etc.:

int noteDurations[] = {

4, 8, 8, 4, 4, 4, 4, 4

};

void setup() {

// iterate over the notes of the melody:

for (int thisNote = 0; thisNote < 8; thisNote++) {

// to calculate the note duration, take one second divided by the note type.

//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.

int noteDuration = 1000 / noteDurations[thisNote];

tone(16, melody[thisNote], noteDuration);

// to distinguish the notes, set a minimum time between them.

// the note’s duration + 30% seems to work well:

int pauseBetweenNotes = noteDuration * 1.30;

delay(pauseBetweenNotes);

// stop the tone playing:

noTone(16);

}

}

void loop() {

// no need to repeat the melody.

}� �図 4.2 toneMelody: 圧電スピーカーの利用

の ICが組み込まれています。この ICのおかげで、カラー LEDの色や明るさを 1本の信

号線で制御できるのですが、その制御信号として、高速かつ正確なタイミングの制御信号

を生成する必要があります。このようなプログラムを作成するためには、MCUのマシン

語を用いたプログラミングの知識なども必要になり少々面倒なのですが、Adafruit 社が

オープンソースライセンスで公開しているNeoPixelライブラリを利用すると、WS2812B

を簡単に制御することができるようになります。

NeoPixelライブラリは以下の URLで公開されています。

https://github.com/adafruit/Adafruit_NeoPixel

Adafruitの NeoPixelに関するWebページは次のとおりです。

https://learn.adafruit.com/adafruit-neopixel-uberguide/overview

Page 20: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 4章 Arduinoスケッチ環境の整備 15

ライブラリのインストール

NeoPixelライブラリは、Arduino IDEのライブラリ管理機能を利用して簡単にインス

トールすることができます。

Arduino IDEのメニューバーから、[スケッチ] ⇒ [ライブラリをインクルード] ⇒ [ラ

イブラリを管理...] を選択します。図 4.3に示すような [ライブラリマネージャ]ダイアロ

グが開きますので、[Adafruit NeoPixel Library] の項目を見つけてクリックします。な

お、項目をスクロールして見つけるのが面倒であれば、ダイアログの右上の [検索をフィ

ルタ...]と表示されている入力枠に [NeoPixel]と入力すると、候補が絞られます。項目の

右下に [インストール]ボタンが出てきますので、それをクリックするとライブラリがイン

ストールされます。

図 4.3 カラー LEDライブラリ

ライブラリの利用

ライブラリがインストールされると、メニューバーの [ファイル] ⇒ [スケッチの例...]

を選択すると、インストールされた NeoPixelライブラリに関する項目が追加されている

ことがわかります。その項目を選択すると、いくつかのデモプログラムが表示されます。

ライブラリのテストとしては、カラー LEDの鮮やかな色の変化を楽しめる strandtest

がよいでしょう。スケッチを開いたら、#define で 6 が設定されている信号線 PIN を

CN2 の場合には 2 に、CN5 の場合には 12 に設定します。また、Adafruit NeoPixel コ

ンストラクタの1番目の引数の 60を、実際に接続するカラー LEDの個数に変更します。

Page 21: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

16

第 5章

資料

5.1 ESP8266-SERVO-BITの回路図

ESP8266-SERVO-BITの回路図を図 5.1に示します。

図 5.1 ESP8266-SERVO-BITの回路図

5.2 RCサーボ用電源とジャンパー設定

5.2.1 JP1: RCサーボ電源

RCサーボ用端子に接続した RCサーボやセンサー等のデバイスが、それほど電力を使

用しないのであれば (電流としては 500mA程度まで)、JP1にショートピンを挿して、そ

れらのデバイスに USBからの電力を供給することができます。USB電源を利用して RC

Page 22: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 5章 資料 17

サーボを動作させる際には、接続する RCサーボは消費電力の少ないものを 2個程度に抑

えるようにしてください。

5.2.2 CN10: RCサーボ用電源端子

RCサーボ用端子に接続した RCサーボやセンサー等のデバイスが、多くの電力を必要

としたり、5V程度とは異なる電圧の電源となる場合には、JP1のショートピンを抜いた

上で、その電源をターミナルブロック CN10に接続します。

CN10に接続する電源の電圧は、CN1-CN8に接続する RCサーボ等の仕様に合わせて

ください。

5.3 CN1-CN8: RCサーボ用端子

RCサーボの接続端子として、CN1-CN8を利用できます。端子は、基板の端側の列が

GND, 真中の列が RC サーボの電源、ESP-WROOM-02 開発ボード側の列が制御信号

です。

RC サーボ用端子には、ESP-WROOM-02 の信号線が直結されています。RC サーボ

用端子のピン配置を表 5.1に示します。

表 5.1 RCサーボ用端子ピン配置

端子番号 信号線 備考

CN1 D0 プルアップ

CN2 D2 プルアップ

CN3 D4 SDA

CN4 D5 SCL

CN5 D12

CN6 D13

CN7 D14

CN8 D15 プルダウン

CN1, CN2, CN8には、それぞれ D0, D2, D15が接続されており、これらの信号線は

ESP-WROOM-02のブート制御用の信号線と共用となっています。このため、これらの

信号線を使用する際には、ブート時の信号線の電圧に影響を与えないインピーダンスの高

い入力信号線を接続する必要があるのでご注意ください。

弊社で動作確認した少数の RCサーボでは、ブート動作に影響を与えないことが確認で

きました。

また、CN9に I2Cデバイスを接続する場合には、RCサーボ用端子の CN3, CN4を使

用することはできません。

Page 23: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 5章 資料 18

5.3.1 RCサーボ

RC サーボの説明書には、電源と信号線を一緒にしてその電圧を 4.5V-6V などと記述

しているものが多く、RCサーボの信号線の H/Lの閾値が明示されている資料があまり

見当たりません。しかしながら、RCサーボの主要メーカーの一つである双葉電子工業様

の資料によると、Hが 1.5V以上となっています。

ESP-WROOM-02 の H 出力は 3V 程度ですが、この資料に準じた RC サーボであれ

ば、本拡張ボードで問題なく制御することができます。

ただし、信号線の H電圧が高めの RCサーボだと、本ボードでは正しく制御できない

可能性がありますので、その際はご容赦ください。

5.3.2 WS2812B/NeoPixel

シリアルカラー LEDのWS2812B/NeoPixelを利用すると、1本の信号線で、多数の

カラー LEDの発光制御を行うことができます。

WS2812B/NeoPixelのデータシートによると、その電源電圧 VDDは 3.5V-5.3Vと規

定されていますので、5V 前後の電源を接続する必要があります。ESP-WROOM-02 が

USBに接続されているのであれば、その 5V電源を利用することができます。

一方、信号線の Lレベルは 0.3VDD以下、Hレベルは 0.7VDDとなっており、VDDが

5Vの場合には、Lが 1.5V以下、Hが 3.5V以上となるため、3.3V駆動の ESP-WROOM-

02 では、信号線の H の電圧が規格を満たさないため、仕様上は利用することができま

せん。

しかしながら、一般的には仕様にはある程度のマージンが含まれており、厳密に仕様が

満たされなくても動作することがあります。

このような状態ですので動作保証はできませんが、弊社の実行環境では、ESP8266-

SERVO-BIT の RC サーボ端子にWS2812B/NeoPixel を接続して問題なく制御するこ

とができました。

WS2812B/NeoPixelを確実に操作したい場合には、信号を 5Vに変換する機能を持っ

た、以下の拡張ボードをご活用ください。

• ESP8266-WORKBENCH

https://store.shopping.yahoo.co.jp/microfan/esp8266-workbench-r1-kit.

html

• ESP8266-IoT-BASE

https://store.shopping.yahoo.co.jp/microfan/esp8266-iot-base-r1-kit.

html

• ESP8266-ENV-BIT

https://store.shopping.yahoo.co.jp/microfan/esp8266-env-bit-r1-kit.

html

Page 24: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 5章 資料 19

5.3.3 焦電(人感)センサー HC-SR501

RCサーボの接続端子には、5Vの電源と 3.3Vの信号を使用する焦電(人感)センサー

HC-SR501を接続することができます。HC-SR501を使用する場合には、その信号線が

ESP-WROOM-02のブート動作に悪影響を与えないように、CN1, CN2, CN8以外の端

子に接続してご利用ください。

5.4 CN9: I2C端子

CN9は、3.3Vの I2Cデバイスを接続するための端子です。電源として 5Vを必要とす

るデバイス用の 5V端子も装備しています。I2C端子には、多様なセンサーや機器を接続

できるため、システムの機能強化に活用することができます。

なお、CN9に I2Cデバイスを接続する場合には、RCサーボ端子の CN3, CN4を使用

することはできません。

I2C 信号は基板内でプルアップされていないため、使用時にはプルアップ抵抗が必要

です。

CN9のピン配置を表 5.2に示します。

表 5.2 CN9ピン配置

ピン番号 信号線 備考

1 GND

2 3V3

3 SDA D4

4 SCL D5

5 5V

5.5 ハードウェア拡張用コネクタ

ESP-WROOM-02開発ボードとして ESP8266-COREを使用している場合、SV3, SV4

にピンソケットもしくはピンヘッダーを実装することで、ESP-WROOM-02の信号線の

引き出しコネクタとして利用できます。

Page 25: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

20

第 6章

購入および問い合わせ先

6.1 ご協力のお願い

製品をより良くし、多くの方々にお楽しみいただけるよう、製品の向上に努めて参り

ます。問題点やお気づきの点、あるいは製品の企画に対するご希望などございましたら、

[email protected]までご連絡いただけますようよろしくお願いいたします。

末永くご愛顧いただけますよう、お願いいたします。

6.2 販売:ネットショップ

製品の販売はネットショップで行っています。対面販売は行っておりません。

• マイクロファン Yahoo!ショップ

WEBアドレス:https://store.shopping.yahoo.co.jp/microfan/

• アマゾンWEBアドレス:https://www.amazon.co.jp/s?merchant=A28NHPRKJDC95B

6.3 製品情報

マイクロファン ラボ

WEBアドレス:http://www.microfan.jp/

マイクロファンの製品情報や活用情報を紹介しています。

6.4 問い合わせ先

株式会社ピープルメディア マイクロファン事業部

E-Mail: [email protected]

TEL: 092-938-0450

お問い合わせは基本的にメイルでお願いいたします。

Page 26: ESP8266-SERVO-BIT-R11 第1 章 ESP8266-SERVO-BIT-R1 の紹介 1.1 製品概要 無線接続機能を持ちArduino でプログラミングできるマイクロコントローラーとして、

第 6章 購入および問い合わせ先 21

6.5 所在地

株式会社ピープルメディア マイクロファン事業部

〒811-2316 福岡県糟屋郡粕屋町長者原西 2-2-22-503