hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

ADS1015を3個使って測定してみた。

2020-06-20 16:33:00 | マイコンハードウェア

現在4chのロガーの入力チャンネル数を12ch(最大16ch)へ
増やす方法を探していたら、SparkFunのADS1015用ライブ
ラリでできそうなことがわかりました。
さらに調べていたら、MCP23017を複数使うスケッチを
見つけ、まねてやってみたらうまく行きましたましたので
紹介します。



ライブラリのインストール
Arduino IDEメニューから「スケッチ」、
「ライブラリをインクルード」、「ライブラリの管理」
と進み、ADS1015 で検索、SparkFanを選んでインストール


スケッチ例が追加されます。



サンプルスケッチ

動作はI2Cアドレス順、チャンネル順にADC変換データを
カンマ区切りでシリアルモニタへ出力します。



ADS1015 I2Cアドレス設定方法
ADDRピンをGND,VDD,SDA,SCLに接続して4つのアドレス
を選択します。
Adafruit ADS1015,AE-ADS1015はADDR端子無接続でも、
内部10KでGND接続されているため48となります。

ADDRとそれぞれの端子間を直接つなぎます。
ADDR-GND 48(Adafruit ADS1015,AE-ADS1015は開放)
ADDR-VDD 49
ADDR-SDA 4A
ADDR-SCL 4B


※お詫び#include行の""を<>に書き換えてください。
#include "SparkFun_ADS1015_Arduino_Library.h"
#include "Wire.h"

ADS1015 adcSensor1;
ADS1015 adcSensor2;
ADS1015 adcSensor3;

void setup() {
Wire.begin();
Serial.begin(9600);
adcSensor1.begin(0x48);
adcSensor2.begin(0x49);
adcSensor3.begin(0x4A);
adcSensor1.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);// +/- 6.144v
adcSensor2.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);
adcSensor3.setGain(ADS1015_CONFIG_PGA_TWOTHIRDS);
}

void loop() {
for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor1.getSingleEnded(i));
Serial.print(",");
}
for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor2.getSingleEnded(i));
Serial.print(",");
}
for (int i = 0; i < 4 ; i++) {
Serial.print(adcSensor3.getSingleEnded(i));
Serial.print(",");
}
Serial.println();

delay(2000);
}


Seeeduino XIAOを使ってみました。

2020-06-13 18:03:00 | マイコンハードウェア

製品パッケージ、Seeeduino XIAOの外観、
ボードマネージャのインストール方法を紹介したいと思い
ます。

小さくて安くてSeeeduino XIAOいいと思います。

デザインというか・・・なんか心惹かれるのは私だけでしょうか?



ボードマネージャのインストール

Arduino IDE 「ファイル」 => 「環境設定」


追加のボードマネージャのURL テキストボックス右のボ
タンをクリック


追加のボードマネージャのURLダイアログのクリックし
て非公式ボードをサポートするURLのリストを表示の文
字をクリック


webページが表示されたら、「Seeed SAMD Boards:」を探
し、その次の行の上で右クリック、メニューから「リン
クのアドレスをコピー」を選ぶ。※右クリックメニュー
内容や操作はWebブラウザで違う可能性があります。


追加のボードマネージャのURLダイアログへ戻り、テキ
ストボックスにマウスポインタを移動してクリックしま
す。テキストボックスが空行ならそのまま貼り付け(キ
ーボードで[Ctrl]と[V]を押す)、既に別のURLがあれば
その行末にカーソルを移動して、[Enter]キー押で改行
してから貼り付けます。


先程コピーしたURLの文字が入力されます。[OK]で閉じ
ます。


「ツール」 => 「ボード」 => 「ボードマネージャ」


テキストボックスに seeeduino と入力


Seeeduino SAMD Boards 候補が絞り込まれます。1.7.2
を選んでインストール(1.7.6は私の環境で不具合発生)


インストール中


「INSTALLED」表示でインストール完了


ボードマネージャを設定します。


Seeeduino XIAOが設定されました。


スケッチ例にSeeeduino XIAO用が表示されています。


以上でボードマネージャの設定は終わりです。


眠っていたRS232C-TTLレベル変換基板で作ってみた

2020-06-02 15:24:00 | ものづくり

やってみた

ICL3232CVZが載ったRS232C-TTLレベル変換基板を2枚
使って、TXD、RXDの他にRTSとDTR信号を出力させました。
(想定外の使い方(?)なので自己責任で)

USBシリアル変換ケーブルと組み合わせて
ESP-WROOM-02スケッチ書き込み専用に使います。





参考

ESP側で
RTSをRESET(10KΩでプルアップ)へ
DTRをIO0(10KΩでプルアップ)へ接続することで
Arduino IDEボードマネージャReset Methodをnodemcuにして
書き込みモードへの移行操作が不要となります。
Arduino IDEの「マイコンボードに書き込む」操作だけで
書き込まれ、スケッチ(プログラム)が動き始めます。