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を起動します。起動したら、ボードを設定します。

このコンテンツを閲覧するにはログインが必要です。 ログインはこちら。
ログインするためには新規会員登録が必要です。会員登録はこちら。

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

各種センサーの値(電圧)をPCに取り組むために、各社からさまざまな装置が販売されています。 装置は複数センサー値が読み込めるものが多く、複数のセンサーになれば、そのぶん金額も高くなります。今回、読み込むセンサーの値は1つでよかったので、自作することにしました。何か良い基板はないかなと探したところ、小型な基板であることもあり、GR-COTTONを使って作成することにしました。

GR-COTTONは以前下記のページで紹介しています。この時は、LEDを点滅する
機能を作成したと思います。開発環境に関しても紹介していますので、参考に
していただければと思います。

GR-COTTON(1)-動作確認

今回、下記のような機能を構築しようと思います。

  1. 電源を投入したらLEDを点滅させる。
  2. 電圧の値を読む。
  3. READコマンドが受信したら、読み込んだ電圧値を返信する。

下記のように電圧を変化させてみると、下記のような出力を取得できました。

  • 3.3V → 1023
  • 1.65V → 512
  • 0.33V → 100

GR-COTTONはDTRの設定があるようなので、TeraTermで接続するとGR-COTTONが停止してしまいます。KurumiWriterで書き込む際に「Run after COM open(FTDI setting)」にチェックを入れて書き込む方法やTeraTermにもDTRの設定をするなどの対策方法もありますが、今回は、以前C#で作成したシリアル通信のアプリケーションで動作確認をしました。

C#言語(2)-RS232C通信(シリアル通信)

電圧を読み込むピンはA2ピンを使用しました。ちょうどGNDも隣にあるので使いやすいです。シリアル通信は、USBコネクタで行います。

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

このコンテンツを閲覧するにはログインが必要です。 ログインはこちら。
ログインするためには新規会員登録が必要です。会員登録はこちら。

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ボタンを押します。

このコンテンツを閲覧するにはログインが必要です。 ログインはこちら。
ログインするためには新規会員登録が必要です。会員登録はこちら。