”FPGAで遊んでみる”では、セミナー用に作成したサンプル回路などを整理して少しづつ紹介していきます。


セミナー紹介
手ぶらでOK!実習・Raspberry Pi PicoW×MicroPython I/Oデバイス「時短」開発入門
-- 133MHz ARM Cortex-M0マイコンをPythonでプログラミング 
2024年12月6日(金)CQ出版社セミナルーム CQ出版社セミナ・ルーム
詳しくはこちらへ

ZYBOの本
FPGAパソコンZYBOで作るLinux I/Oミニコンピュータ CQ出版 発売中

Papilioの本
FPGA版Arduino!!Papilioで作るディジタル・ガジェット CQ出版 発売中


番外編 ESP32で遊んでみる -- 超簡単 IoT入門編 -- 

ESP32はespressif社の製造するWi-FiおよびBluetoothを搭載する低価格マイコンモジュールです。
開発環境はArduino-IDEやESP-IDFが無償で利用可能です。
このページではArduino-IDEを使ったIoT実用例としてWi-Fi経由でLEDを点灯するサンプルスケッチを紹介します。


使用機材
ESP32搭載基板 ESP32-WROOM32 または ESP32-WROOM32D
 秋月電子通商などで購入可能

ブレッドボード 6穴版 EIC-3901
 秋月電子通商などで購入可能

LED

抵抗300Ω程度

ブレッドボード用ジャンパーワイヤ

※使用した部品は 秋月電子通商などで購入可能

WindowsPC

WiFiルーター

Arduino-IDEの導入
Arduino-IDEはArduinoのダウンロードページの"Windows ZIP file foe mon asmin install"をクリックします。



寄付をしてダウンロードする場合は”CONTRIBUTE&DOWNLOAD”をクリックします。
ダウンロードのみの場合は"JUST DOWNLOAD"をクリックします。



ダウンロードしたデータ(arduino-バージョン-windows.zip)を任意のフォルダに解凍すればインストール完了です。
解凍したデータのarduino.exeを実行するとArduino-IDEが起動します。
次にESP32用のパッケージ追加します。パッケージ追加をArduino-IDEでボードマネージャーで追加します。
パッケージの情報をは以下のespressif/arduino-esp32のページにあるStable release link: のURL(https://dl.espressif.com/dl/package_esp32_index.json)
マウスで範囲選択してコピーしておきます。



次にarduino.exeを実行してArduino-IDEを起動して”ファイル”→”環境設定”を選択します。


環境設定の追加のボードマネージャのURLにespressif/arduino-esp32のページでコピーしたURLをペーストしてOKをクリックします。



Arduino-IDEで”ツール”→”ボード”→”ボードマネージャ”
を選択します。



Arduino-IDEを起動して"ファイル"→"環境設定"を選択します。
タイプに”ESP32”と入力してESP32のパッケージを表示します。"インストール"をクリックすると
パッケージがインストールされます。インストールが完了したら"閉じる"をクリックします。
これでArduino-IDEの準備は完了です。



ボードの準備
ESP32-WROOM-32をブレッドボードに取り付けます。使用しているブレッドボードは通常のものより幅が広い片側に6個の穴があるタイプです。
LEDの配線は33ピン→抵抗(300Ω)→(アノード)LED(カソード)→GNDと接続しています。
USBケーブルでESP32-WROOM-32とPCと接続します。



Arduino-IDEの設定
Arduino-IDEで"ツール"→"ボード"→"ESP32 Dev Module"を選択



次にシリアルポートを設定します。
"ツール"→”シリアルポート”→COM番号
COM番号は使用してるPCによって変わります。



LED点灯のサンプルスケッチ
”ファイル”→”スケッチ例”→”01:Basic”→”Blink”を選択



サンプルスケッチが開きます。
スケッチはArduino言語で書かれていますが、Arduino言語はC/C++がベースになているので
C言語の知識があれば記述かのです。



”int led_pin=33;”を追加して
LED用信号のピン番号指定用の変数を宣言、LED制御に33番PINを使用するので33を指定
”LED_BUILTINを”led_pin”に変更



”⇒”をクリックするとコンパイルが実施後にESP32へスケッチが書き込まれます。



書き込みが完了すると以下のようにメッセージが表示され
ブレッドバードのLEDが1秒間隔で点灯、消灯を繰り返します。



Wi-Fi経由のLED点灯のサンプルスケッチ
次にWi-Fi経由のLED点灯を制御するスケッチ例を使ってみます。
"ファイル"→”スケッチ例”→”WiFi”→”SimpleWiFiServer”を選択


サンプルスケッチが開きます。
Wi-Fi接続で稼働するWebサーバーのサンプルです。
ブラウザからアクセスするとLEDのON・OFFが制御できます。


変更部分は以下になります。
利用するWi-FiルータのSSIDとパスワードを設定します。
”int led_pin=33;”を追加して
LED用信号のピン番号用の変数を宣言
pinModeの指定番号を5から led_pinに変更


表示するHTMLのメッセージのピン番号を5から33に変更



digitalWraiteでのピン番号指定を5から led_pinに変更
変更はこれで完了です。



書き込みを実施



書き込み完了後にシリアルモニタを起動
”ツール”→”シリアルモニタ”



起動したシリアルモニタでボーレートを115200bpsに設定
ESP32-WROOM-32のENボタン(リセット)を押す
ESP32が再起動してWi-Fiルーターに接続し、DHCPで割り振られたIPアドレス(192.168.11.11)が表示される。



PCもWi-FiIルーターに接続して、ブラウザでESP32に割り当てられたIPアドレスにアクセスする。
1行めの"here"をクリックするとLEDが点灯、
2行めの"here"をクリックするとLEDが消灯します。


簡単にWi-Fi経由で機器のON/OFFができる仕組みが作れます。
試してみてください。

セミナー紹介
手ぶらでOK!実習・Raspberry Pi PicoW×MicroPython I/Oデバイス「時短」開発入門
-- 133MHz ARM Cortex-M0マイコンをPythonでプログラミング 
2024年12月6日(金)CQ出版社セミナルーム CQ出版社セミナ・ルーム
詳しくはこちらへ

リンクフリーです。
リンクされた場合にご連絡をいだけると嬉しいです。
メール 


変更履歴
(2018/12/26) 初版

TOPへ戻る