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-ROSE(7)-ソフトウェア割り込み

前回は、GR-ROSEを使用して、AD変換、DA変換を行いたいと思いました。前回の内容は下記のサイトを参考にしてください。

GR-ROSE(6)-AD変換、DA変換

今回はGR-ROSEを使用して、ソフトウェア割り込みを行いたいと思います。使用するハードウェアはGR-ROSEです。下記のような構成になります。

機能の概要は下記のようになります。

  • 1secタイマを作成します。
  • 1secタイマの割り込みが発生すると、ソフトウェア割り込み1を発生させます。
  • ソフトウェア割り込み1が発生すると、LED1の点灯状態を反転させます。その後、ソフトウェア割り込み2を発生させます。
  • ソフトウェア割り込み2が発生すると、LED2の点灯消灯を反転させます。

これらの処理を行うことで、LED1とLED2を1秒間隔で点滅させます。それでは、ソフトウェア割り込みを使用した機能を構築したいと思います。今回も開発環境はe2studioを使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。ターゲット・デバイスは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思います。まずはクロックの設定を行っていきます。クロックの設定は、下記のサイトを参考にしてください。

GR-ROSE(5)-RS232通信

クロックの設定が完了したら、コンポーネントを追加していきます。まずは、PORTの設定をします。PORTの設定は、記のページを参考にして下さい。

RX(3)-RS232通信

GR-ROSE(6)-AD変換、DA変換

前回は、GR-ROSEとFTDIのICを接続して、RS232通信の機能を構築しました。前回の内容は下記のサイトを参考にしてください。

GR-ROSE(5)-RS232通信

今回はGR-ROSEを使用して、AD変換、DA変換を行いたいと思います。また、前回のようにFTDIのICも使用して、RS232通信も行います。下記のような構成になります。

下記の2つのコマンドを用意します。

  • READ
  • WRITE,xxxx

機能の概要は下記のようになります。

  • READコマンドでAD変換した値を読み出します。
  • WRITEコマンドを使用してDA値を設定します。
  • AD変換の入力ピンとDA変換の出力ピンは接続されているので、DA変換で出力した値をAD変換して読み出せるような機能になります。

それでは、AD変換、DA変換、RS232通信を使用した機能を構築したいと思います。今回も開発環境はe2studioを使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。ターゲット・デバイスは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思います。まずはクロックの設定を行っていきます。クロックの設定は、下記のサイトを参考にしてください。

GR-ROSE(5)-RS232通信

クロックの設定が完了したら、コンポーネントを追加していきます。まずは、シリアル通信の設定を行います。シリアル通信の設定は、下記のページを参考にしてください。

RX(3)-RS232通信

次に、D/A コンバータを追加します。コンポーネントの追加画面から、D/A コンバータを選択て、次へボタンを押します。

GR-ROSE(5)-RS232通信

前回は、e2studioで作成したファームウェアをGR-ROSEに書き込んで動作をさせてみました。前回の内容は下記のサイトを参考にしてください。

GR-ROSE(4)-e2studio schetch

今回は、RS232通信の機能を構築したいと思います。下記のようにFTDIのICが搭載されている基板と、GR-ROSEを接続して通信を行います。

下記の4つのコマンドを用意します。

  • L1,ON
  • L1,OFF
  • L2,ON
  • L2,OFF

機能の概要は下記のようになります。

  • L1,ON コマンドを実行するとLED1が点灯します。
  • L1,OFF コマンドを実行するとLED1が消灯します。
  • L2,ON コマンドを実行するとLED2が点灯します。
  • L2,OFF コマンドを実行するとLED1が消灯します。

この機能は、以前、「Renesas Starter Kit+ for RX65N-2MB」を使用して作成してみた機能ですが、もっと小型なGR-ROSEでも動作させてみたいなと思い、再度作成することにしました。

それでは、RS232通信機能を構築したいと思います。今回も開発環境はe2studioを使用します。

まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。ターゲット・デバイスは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

RX(3)-RS232通信

STM32(5)-DA変換

前回は、RS232C通信の機能を構築しました。具体的には、相手側からNUCLEO-F446REにRS232C通信で送られてきたデータを受信します。受信した文字列の中に「\r」が存在する場合、「\r」までの受信したデータを相手側に送信します。下記のような通信になります。

評価ボードは、NUCLEO-F446REを使用しました。マイコンは、STM32F446になります。開発環境は、「STM32CubeIDE」を使用しました。

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

STM32(4)-RS232C通信

今回は、DACを使用した機能を構築したいと思います。具体的には、RS232CでDAC値を指定して、DA変換した値をアナログピンから出力します。下記は2048と指定して、アナログピンから出力した値を測定したものです。

前回と同様で、評価ボードはNUCLEO-F446RE、開発環境は、「STM32CubeIDE」を使用します。

それでは、DACを使用した機能を構築したいと思います。まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は下記のサイトを参考にしてください。

STM32(1)-LED点滅機能

STM32(4)-RS232C通信

前回は、ソフトウェアトリガ割り込みを行いました。ソフトウェアトリガ割り込みを、Timerの割り込みのタイミングで発生させて、ソフトウェアトリガ割り込みの割り込み関数で、LEDの点灯消灯を行い、LEDを点滅させる機能を構築しました。評価ボードは、NUCLEO-F446REを使用しました。マイコンは、STM32F446になります。開発環境は、「STM32CubeIDE」を使用しました。

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

STM32(3)-ソフトウェアトリガ割り込み

今回は、RS232C通信をを行いたいと思います。具体的には、相手側からNUCLEO-F446REにRS232C通信で送られてきたデータを受信します。受信した文字列の中に「\r」が存在する場合、「\r」までの受信したデータを相手側に送信します。下記のようになります。

前回と同様で、評価ボードはNUCLEO-F446RE、開発環境は、「STM32CubeIDE」を使用します。

それでは、TRS232C通信機能を構築したいと思います。まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は下記のサイトを参考にしてください。

STM32(1)-LED点滅機能

今回は、新規プロジェクトを作成する際の設定を変更しました。

STM32(3)-ソフトウェアトリガ割り込み

前回は、Timerを使用して、LEDの点滅回路を構築します。評価ボードは、NUCLEO-F446REを使用しました。マイコンは、STM32F446になります。開発環境は、「STM32CubeIDE」を使用しました。

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

STM32(2)-TimerによるLED点滅機能

今回は、ソフトウェアトリガ割り込みを行いたいと思います。機能は、ソフトウェアトリガ割り込みを、Timerの割り込みのタイミングで発生させて、ソフトウェアトリガ割り込みの割り込み関数で、LEDの点灯消灯を行い、LEDを点滅させたいと思います。前回と同様で、評価ボードはNUCLEO-F446RE、開発環境は、「STM32CubeIDE」を使用します。

それでは、Timerを使用して、LEDの点滅回路を構築したいと思います。まずは、新規プロジェクトを作成します。新規プロジェクトの作成方法は下記のサイトを参考にしてください。

STM32(1)-LED点滅機能

新規プロジェクトが作成できましたら、次はTimerを構築します。GUI(.iocファイル)でのTimerのコード生成方法は前回と同様です。前回の内容を参考にしてください。

STM32(2)-TimerによるLED点滅機能