ATOM Lite(4)-ADC DAC

前回は、ATOM LiteのTimer機能を使用した機能を構築しました。タイマー割り込みが発生すると、IOピン(G26)の出力をHIGH、LOW切り替える機能になります。下記のように10μsecにタイマーを設定して動作させてみました。

前回の内容は下記のサイトを参考にしてください。

ATOM Lite(3)-Timer

今回は、ADCとDACを使用したいと思います。ADCとDACの機能をタイマーの割り込み関数で呼び出す機能を構築したいと思います。ADCのピンには、パルス波を入力します。ADCでデジタル値に変換した値を、DACに設定して出力します。開発環境は、Arduino IDEになります。

それでは、ADCとDACの機能をタイマーの割り込み関数で呼び出す機能をを構築したいと思います。

ATOM Lite(3)-Timer

前回は、ATOM Liteを使用してLEDの点滅を行いました。ATOM Liteには下記の2種類のLEDが搭載されており、両方のLEDを使用して点滅させました。

  • RGB LED(WS2812B)
  • 赤外線LED

前回の内容は下記のサイトを参考にしてください。

ATOM Lite(2)-LED点滅

今回は、ATOM LiteのTimer機能を使用した機能を構築したいと思います。開発環境は、Arduino IDEになります。Timerを使用して、LEDを点滅させようと思いましたが、今回は、Timerが動作しているか確認もしたかったので、IOピン(G26)を使用したいと思います。下記はタイマを10μsecに設定して、IOピンからの出力を確認した結果になります。

それでは、Tiemrを使用した機能を構築したと思います。

ATOM Lite(2)-LED点滅

前回は、ATOM Liteの動作確認として、シリアル通信を作成しました。前回の内容は下記のサイトを参考にしてください。

ATOM Lite(1)-動作確認

今回は、ATOM Liteを使用してLEDの点滅をさせたいと思います。開発環境は、Arduino IDEになります。ATOM Liteには下記のLEDが搭載しています。

  • RGB LED(WS2812B)
  • 赤外線LED

今回は、この2種類のLEDを点灯させたいと思います。今回点灯させるRGB LED(WS2812B)ですが、ただ通電しても点灯しません。データシートを見ると下記のようになっております。

24bitのデータ(G:255、R:255、B:255)で色合いを決めることができます。ここまでは良いのですが、0と1の送り方が少々難点であります。HighとLowの区間長が違う方形波を送って0と1を認識しています。作成してもよいのですが、少々面倒であるので、ライブラリを探すことにします。

それでは、まずは、RGB LED(WS2812B)を使用してLEDを点滅したいと思います。

WROOM-02(3)-通信体系

前回、WROOM-02(ESP8266デバイス)を使う為に、Arduino IDEのセットアップをしました。今回、WROOM-02を使用して、無線通信を行おうと思うのですが、通信体系について考えておこうと思います。

主要な通信体系は大きくわけて下記の3つ考えれられます。

  1. WROOM-02を親機と考えたPCとWROOM-02の通信
  2. PCを親機と考えたPCとWROOM-02の通信
  3. PCとWROOM-02の間に無線ルーターを挟んだPCとWROOM-02の通信

他にもあると思いますが、主要なものはこの3つかなと思われます。

まずは、1 のWROOM-02を親機と考えたPCとWROOM-02の通信を行おうと思います。1 のWROOM-02を親機と考えたPCとWROOM-02の通信をする為のコードは下記のようになります。※注意:下記のコードをesp8266に書き込むと、ATコマンドは使用できなくなります。

WROOM-02(2)-Arduino開発環境設定

前回、WROOM-02を調査した結果、arduinoデバイスとして使用できる事がわかりました。それでは、Arduinoデバイスとして使用する為に、Aruduinoの開発環境をインストールします。下記サイトより、Arduino IDEをダウンロードしてインストールします。

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

インストールが完了したら、Arduino IDEを起動して、ESP8266デバイスを使用する為の開発環境の設定を行います。※前回も説明しましたが、WROOM-02はESP8266を搭載したモジュールとなります。

まずは、ファイル-環境設定の追加のボードマネージャーのURLに、下記のURLコードを入力して、OKボタンを押します。

WROOM-02(1)-無線モジュールを調査

無線でアナログ情報を取得したいので、マイコンで制御できる無線を調べていると、WROOM-02にたどり着きました。RS232通信で、無線の設定をするようです。早速、試してみました。試したのは下記の2つの製品です。

電子太郎 ESP-WROOM-02開発ボード 2.4 GHz Wi-Fiモジュール MicroUSB

新品価格
¥1,700から
(2019/11/9 11:21時点)

ESP-WROOM-02ピッチ変換済みモジュール《T型》

新品価格
¥925から
(2019/11/9 11:23時点)

ESP-WROOM-02ピッチ変換済みモジュールは、価格は安いですが、RS232レベル変換モジュールや抵抗などを用意する必要がありますので、少々手間がかかります。

ESP-WROOM-02開発ボードは、RS232レベル変換モジュールや抵抗などが搭載されているので、価格はESP-WROOM-02ピッチ変換済みモジュールと比べて、価格は高いですが、USBケーブルと繋げるだけで使用できます。まず、試してみたい方には、ESP-WROOM-02開発ボードのほうが便利なので、今回は、ESP-WROOM-02開発ボードを使用指していこうと思います。

それでは、早速、ESP-WROOM-02開発ボードとPCをUSBケーブルで接続します。すると、ドライバーのインストールが始まりますので、インストールが完了するまで待ちます。

インストールが完了したら、TeraTermを立ち上げて、動作を確認します。TeraTermを実行したら、設定-シリアルポートよりボーレートを115200bpsに設定します。次に、設定-端末より送信の改行コードをCR+LFに設定します。
開発ボードのリセットボードを押すと下記のようなメッセージが表示されます。

readyと表示されればOKです。wroom-02はATコマンドと呼ばれるものが、使用できます。例えば、ATと送信すると、OKと返信が返ってきます。


このATコマンドを使用する事で、wroom-02の設定ができます。ここでふと疑問に思うことがありました。ATコマンドが使用できるということは、マイコンのようなものが搭載されているのでは?ちょっと調べてみると下記のことがわかりました。wroom-02はESP8266を搭載したモジュールです。では、ESP8266なにかと言いますと、マイコンを搭載したWiFiモジュールのようです。さらに、Arduinoデバイスとしても使用することが可能なようです。すばらしいですね。Arduinoデバイスを使用してみたいと思ってもいたので、Arduinoデバイスとして使用して、WiFiを使用してみようと思います。