goo blog サービス終了のお知らせ 

JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

ESP32 シリアル通信テスト

2019-12-23 14:24:52 | ESP32

 

 ESP32は、シリアル通信ポートを3個持っています。UART0,UART1,UART2です。

 各ポートのピン割り当ては、

--------------------------------------------------

 UART0

 RXD0 --- GPIO3

 TXD0 --- GPIO1

--------------------------------------------------

 UART1(デフォルトでは使用不可)

 RXD1 --- GPIO9

 TXD1 --- GPIO10

--------------------------------------------------

 UART2

 RXD2 --- GPIO16

 TXD2 --- GPIO17

-------------------------------------------------

 となっています。(UART1の使用法は、Qiitaのサイトをご覧ください。)

  Arduino IDEは、シリアルモニタを持っていますので、まずそれからテストします。

 シリアルモニタで使用されるポートは、UART0です。

 次のようなスケッチで、エコーバックテストをしました。

シリアルモニタから送信した文字が表示されます。

 通信速度を上げてテストをしてみると、500000bpsまで通信できました。

 UART0のRXD0(GPIO3)をPicoScopeで見てみると(500000bpsの時)

 という感じです。アイドリング時は、HIGHレベルで、スタートでLOWに下がります。

 

 次に、UART2を使ってパソコンと通信してみます。

 接続回路図です。GPIO16(U2RXD)とGPIO17(U2TXD)とUSBシリアル変換モジュールFT234を回路図のように接続します。

 パソコン側の通信ソフトは、定番のTeraTermで通信速度は115200bpsとします。

 ブレッドボードです。

 スケッチです。UART2の時は、Serial2とします。

 

TeraTermの画面です。キーボードから入力した文字がESP32に送られて、同じ文字が送り返されます。

 


ESP32 Arduino UNO風ボードの製作

2019-12-22 09:23:10 | ESP32

 ESP32 DevKitCボードをブレッドボードに取り付けると、配線や部品を取り付けるスペースがありません。

 これでは、学習・実験を進めるのに不便です。そこで、Arduino UNOのようにピンソケットを両側に取り付けたボードを製作しました。

 

 大きさは、Arduino UNOとほぼ同じです。

 裏側です。

 ENとGNDの間に2uFのコンデンサを入れました。これで自動書き込みができます。

 ENとGNDの間に0.22uF~2.2uFのコンデンサを入れるのは、この手のボードを使う場合の常識のようです。

 でも、なぜ最初から入れてくれないのかな?


ESP32 Arduino IDEのセットアップからLチカまで

2019-12-21 11:58:22 | ESP32

 ESP32では、多くのプログラム言語や開発環境を利用することができます。

 Arduino、C,C++7,C#、Python、Java Script、Lua、Ruby、Lisp、BASICなどのプログラム言語です。

 今回は、使い慣れたArduino言語を使うことにして、開発環境としてArduino IDEをセットアップします。

 Arduino IDEのセットアップの方法は、「EDP32 Arduino」で検索するとたくさんヒットします。例えばこちらのサイト

 それを参考にセットアップしました。私のPCのOSはWindows10で、Arduino IDEのバージョンは、最新版の1.8.10です。

 手順を簡単に書いておきます。

 1 Arduino IDEを立ち上げて、メニューから「ファイル」→「環境設定」を開き、「追加のボードマネージャのURL」に

 https://dl.espressif.com/dl/package_esp32_index.json

 と入力し「OK」をクリックします。

 2 「ツール」→「ボード」→「ボードマネージャ」を開きます。

  「esp」と入力し、「esp by Espressif Systems」をインストールします。最新版の1.04をインストールしました。

 3 「ツール」→「ボード」で、「ESP32 Dev Module」を選択します。

  これで、ESP32でArduino IDEを利用する準備ができました。

 4 パソコンとESP32ボードをUSBケーブルで接続します。必要があれば、USBシリアル変換ドライバをインストールします。

  私の場合は、COM4にSilicon Labs CP201x USB to UART Bridgeとして自動的に認識されました。

 Arduino IEDの準備ができましたので、Lチカのスケッチをコンパイル転送してみます。

 スケッチです。GPIO25にLEDを接続して、0.5秒ごとに点灯、消灯させます。いわゆるLチカです。

 コンパイル、私の非力なノートパソコンでは、けっこう時間がかかります。プログラムの転送が始まりましたが、

 A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header

  というエラーが出て、ESP32に書き込むことができません。

 うーーん、困った。

 ネットを調べると、こちらのサイト手動で書き込む方法が紹介されています。

 試してみると、書き込みができました。

 が、いちいち書き込み時に「ENボタン」と「Bootボタン」を操作するのは、煩わしいです。

 自動的に書き込みが出来る方法を調べると、ENとGNDの間に0.22uF~2.2uFのコンデンサを追加する方法がありました。

 (ESP32について詳しく説明しているサイトは、こちら

 ブレッドボードにESP32ボードを刺し(微妙にピッチが違い、すぅーとは刺さりません。力ずくで押し込みました。)テストすると

 1uFでは、NG。2uFでOKでした。

 回路図です。

 ブレッドボードです。

 無事、Lチカ成功です。ESP32勉強の第一歩です。

 しかし、これから勉強・実験を続けていくには、この状態では、あまり具合が良くありません。

 つまり、ブレッドボードに対して、ESP32ボードの幅が広く、ピンや部品を取り付けることができません。

 Arduino UNOボードのような実験用ボードを作りたいと思います。


ESP32の勉強を始めます

2019-12-20 16:51:22 | ESP32

 最近話題になっているマイコンボードESP32の勉強を始めます。

 「インターフェース」1月号は、まさにESP32の特集です。さっそく購入しました。インターフェース誌の購入はほんとうに久しぶりです。

 この冊子には、ESP32モジュール、ESP32ボードM5Stackなどについて、詳しく書いてあります。

 ESP32の勉強をするのに何が良いかなと考えて、ブレッドボード向きのESP32-DevKitCを選びました。

 Espressif Syatem社の純正ESP32-DevKitCは、秋月電子で1,480円で販売しています。

 Amazonで同じようなものを探すと、waves ESP32 DevKitC V4というのがあり、1,580円です。送料が無料なので、こちらを購入しました。

 今日、このボードが届きました。モジュールは、ESP-WROOM-32Dが搭載されていて、技適マークもしっかりついています。

 USB- TTLチップは、CP2102N、電源レギュレータは、ASM1117、CPUはデュアルコア240MHzです。

 上から見ると

 

 下から見ると

 という具体です。

 この開発用ボードを使って、勉強を進めていくことにします。