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を点滅したいと思います。

ATOM Lite(1)-動作確認

今回は、ATOM Liteを使用していみたいと思います。ATOM Liteは、M5Stack社が提供しているシリーズの1つです。コンパクトな開発モジュールで、サイズは24 x 24 mmとなっております。ESP32-PICO-D4チップを搭載しており、Wi-Fi、Bluetoothを利用できます。

各社センサー値(電圧)をPCに取り込むために、さまざまな装置が販売されております。以前、コストを抑えるために、GR-COTTONを使用ししました。GR-GOTTONによるADCに関しては下記のページを参考にしてください。

GR-COTTON(2)-電圧測定装置

もう少しコストを抑えたい、また、筐体に入っているとよりベストということで、何かモジュールを探していたところ、ATOM Liteを見つけました。M2のネジでHOLDすることもできます。

それでは、早速動作確認をしていきたいと思います。まずは、Arudino IDEを起動します。起動したら、ボードを設定します。

Arduino(3)-LCDに文字を表示

今回は、LCDを使って文字を表示してみたいと思います。LCDは20×4の文字数になります。ドライバはST7066が実装されています。LCDの制御はArduino Mega 2560で行います。

LCDには、下記のルールで文字を表示します。

  1. 1行目と3行目に「*」を表示していきます。
  2. 1行目と3行目のすべての欄が「*」で表示されたら、1行目と3行目の欄をクリアします。
  3. クリアが完了したら、 2行目と4行目に「*」を表示していきます。
  4. 2行目と4行目のすべての欄が「*」で 表示されたら、2行目と4行目の欄をクリアします。
  5. クリアが完了したら、 また、1の処理に戻り繰り返します。

LCDのピン配置は下記の通りです。

LCDとArduino Mega 2560は下記のように接続します。LCDの画像は20×4が見当たらなかったので、16×2を使用しています。LCDの画像は違いますが、配線は同じです。

今回は4bitモードで動作させるので、DB3、DB2、DB1、DB0は使用しません。

2020年4月30日 | カテゴリー : Arduino | タグ : , | 投稿者 : prog

Arduino(2)-バイポーラ方式ステッピングモーター

前回は、Arduinoを使用して、ユニポーラ方式のステッピングモーターを動かしました。今回はユバイポーラ方式のステッピングモーターを動作させます。駆動電圧は12Vです。1ステップは7.5度のものになります。

モーターの結線は下記のようになっています。

ArduinoはArduino Mega 2560を使用します。下記のように接続しました。
モータードライバはTB6674PGを使用します。

今回モータードライバが1相励磁、1-2相励磁に対応していないので、2相励磁で
ステッピングモーターを動作させたいと思います。1、2、3、4を必要に応じてHigh、Lowに変更することで電流を流します。

それでは、プログラミングをしていきたいと思います。

Arduino(1)-ユニポーラ方式ステッピングモーター

今回は、Arduinoを使用して、ステッピングモーターを動かしたいと思います。ユニポーラ方式のステッピングモーターを使用します。駆動電圧は12Vです。1ステップは5.625度のものになります。

モーターの結線は下記のようになっています。

1相励磁、1-2相励磁、2相励磁でステッピングモーターを動作させたいと思います。1に12Vを流して押して、2、3、4、5を必要に応じてLowにすることで電流を流します。

ArduinoはArduino Mega 2560を使用します。下記のように接続しました。モータードライバはTBD62503APGを使用します。

それでは、プログラミングをしていきたいと思います。

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を使用してみようと思います。