Skip to main content

Grove - 4チャンネル16ビットADC(ADS1115)

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

アナログ-デジタルコンバータを持たないマイクロコントローラや、より高精度なADCが必要な場合に対応するために、Grove - 4チャンネル16ビットADC(ADS1115)を提供します。このモジュールは、テキサス・インスツルメンツのADS1115に基づいた4チャンネルADCで、高精度・低消費電力の16ビットADCチップです。4つの単一エンド入力または2つの差動入力をサポートします。さらに、内部プログラマブルゲイン(最大x16)を備え、小信号に対応するプログラマブルデータレート範囲(8 SPSから860 SPS)を持っています。

このモジュールには、Groveポートも含まれており、内部的にチャンネル0とチャンネル1に接続されています。これにより、Groveエコシステムとの連携が容易になります。

特徴

  • 広い電源範囲:2.0V ~ 5.5V、3.3Vまたは5Vシステムをサポート
  • 16ビット高解像度ADC
  • プログラマブルデータレート:8 SPSから860 SPS
  • 内部プログラマブルゲイン:x16、内部低ドリフト電圧リファレンスとオシレータを搭載
  • 内蔵PGAはゲイン調整可能で、ソフトウェアで制御可能
  • 4つの単一エンド入力または2つの差動入力

仕様

パラメータ
入力電圧3.3V / 5V
ADC解像度16ビット
プログラマブルデータレート8 SPS - 860 SPS
チャンネル4チャンネル単一エンド入力または2チャンネル差動入力
インターフェースI2C、デフォルトアドレス:0x48

ハードウェア概要

対応プラットフォーム

ArduinoRaspberryArduPy
caution

上記でサポートされていると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム用のソフトウェアライブラリまたはコード例のみを提供しています。すべての可能なMCUプラットフォーム用のソフトウェアライブラリ/デモコードを提供することはできません。そのため、ユーザーは独自のソフトウェアライブラリを作成する必要があります。

はじめに

Arduinoで遊ぶ

必要な材料

Seeeduino V4.2ベースシールドGrove - 16Bit ADC (ADS1115)
enter image description hereenter image description hereenter image description here
今すぐ購入今すぐ購入今すぐ購入

さらに、新しいSeeeduino Lotus M0+を検討することもできます。これはSeeeduino V4.2とベースシールドの組み合わせに相当します。

ハードウェア接続

  • ステップ1. Grove - 16 Bit ADC(ADS1115)をGrove - ベースシールドのI2Cポートに接続します。

  • ステップ2. Grove - ベースシールドをSeeeduinoに接続します。

  • ステップ3. USBケーブルを使用してSeeeduinoをPCに接続します。

ソフトウェア

caution

Arduinoを初めて使用する場合は、開始する前にArduinoの使い方を参照することを強くお勧めします。

note

Arduino用ライブラリのインストール方法を参照してください。

  • ステップ2. Arduino IDEを再起動します。Seeed_Arduino_ADS1115の例を次のパスから開きます:FileExamplesGrove - ADS1115single_ended

single_endedの例コードは以下の通りです:

#include "ADS1115.h"

#ifdef SOFTWAREWIRE
#include <SoftwareWire.h>
SoftwareWire myWire(3, 2);
ADS1115<SoftwareWire> ads(myWire);//IIC
#else
#include <Wire.h>
ADS1115<TwoWire> ads(Wire);//IIC
#endif

void setup(void)
{
Serial.begin(115200);
while(!ads.begin(0x48)){
Serial.print("ads1115 初期化失敗!!!");
delay(1000);
}
//ads.begin(0x49)
//ads.begin(0x4A)
//ads.begin(0x4B)

ads.setOperateMode(ADS1115_OS_SINGLE);
ads.setOperateStaus(ADS1115_MODE_SINGLE);

ads.setPGAGain(ADS1115_PGA_6_144); // 2/3x ゲイン +/- 6.144V 1ビット = 0.1875mV (デフォルト)
// ads.setPGAGain(ADS1115_PGA_4_096); // 1x ゲイン +/- 4.096V 1ビット = 0.125mV
// ads.setPGAGain(ADS1115_PGA_2_048); // 2x ゲイン +/- 2.048V 1ビット = 0.0625mV
// ads.setPGAGain(ADS1115_PGA_1_024); // 4x ゲイン +/- 1.024V 1ビット = 0.03125mV
// ads.setPGAGain(ADS1115_PGA_0_512); // 8x ゲイン +/- 0.512V 1ビット = 0.015625mV
// ads.setPGAGain(ADS1115_PGA_0_256); // 16x ゲイン +/- 0.256V 1ビット = 0.0078125mV

ads.setSampleRate(ADS1115_DR_8); //8 SPS
// ads.setSampleRate(ADS1115_DR_16); //16 SPS
// ads.setSampleRate(ADS1115_DR_32); //32 SPS
// ads.setSampleRate(ADS1115_DR_64); //64 SPS
// ads.setSampleRate(ADS1115_DR_128); //128 SPS
// ads.setSampleRate(ADS1115_DR_250); //250 SPS
// ads.setSampleRate(ADS1115_DR_475); //475 SPS
// ads.setSampleRate(ADS1115_DR_860); //860 SPS
}
void loop(void)
{
int16_t adc0,adc1,adc2,adc3;
adc0 = ads.getConversionResults(channel0); //P = AIN0, N = GND
adc1 = ads.getConversionResults(channel1); //P = AIN1, N = GND
adc2 = ads.getConversionResults(channel2); //P = AIN2, N = GND
adc3 = ads.getConversionResults(channel3); //P = AIN3, N = GND
Serial.print("AIN0: "); Serial.println(adc0);
Serial.print("AIN1: "); Serial.println(adc1);
Serial.print("AIN2: "); Serial.println(adc2);
Serial.print("AIN3: "); Serial.println(adc3);
Serial.println(" ");
delay(1000);
}
  • ステップ 3. デモをアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。

  • ステップ 4. Arduino IDE の シリアルモニタ を開きます。ツール -> シリアルモニタ をクリックするか、++ctrl+shift+m++ キーを同時に押します。ボーレートを 115200 に設定してください。

  • ステップ 5. 4 チャンネルの場合、結果は以下のようになります:

note

この例では、2/3x のゲインが設定されているため、値に 0.1875mV を掛ける必要があります。例えば、10201 x 0.1875mV = 1.91V となります。

Raspberry Pi での使用

ハードウェア

Raspberry PiGrove Base Hat for RasPiGrove - 16 Bit ADC(ADS1115)
画像説明を入力してください画像説明を入力してください画像説明を入力してください
今すぐ購入今すぐ購入今すぐ購入

ソフトウェア

Grove - 16-bit ADC(ADS1115) は Raspberry Pi 用の 4 チャンネル 16 ビット ADC (ADS1115) と同じ使用方法です。そのため、こちらのチュートリアルに従ってください。

Wio Terminal での使用

必要な材料

Wio TerminalGrove - 16Bit ADC (ADS1115)Grove - Rotary Angle Sensor
画像説明を入力してください画像説明を入力してください画像説明を入力してください
今すぐ購入今すぐ購入今すぐ購入
  • ステップ 1. Grove - 16 Bit ADC(ADS1115) を Wio Terminal の I2C ポートに接続します。

  • ステップ 2. Wio Terminal を USB ケーブルで PC に接続します。

ソフトウェア

note

以下の手順を進める前に、Wio Terminal のスタートガイドに従ってください。

  • ステップ 2. サンプルコード をこちらからダウンロードします。

  • ステップ 3. デモをアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。

  • ステップ 4. ロータリーセンサーを調整すると、対応する電圧が Wio Terminal の LCD 画面に表示されます:

Wio Terminal (ArduPy) での使用

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Wio TerminalGrove - 16 Bit ADC(ADS1115)
画像説明を入力してください画像説明を入力してください
今すぐ購入今すぐ購入
  • ステップ 2. Grove - 16 Bit ADC(ADS1115) を Wio Terminal の I2C ポートに接続します。

  • ステップ 3. USB Type-C ケーブルを使用して Wio Terminal を PC に接続します。

ソフトウェア

  • ステップ 1. ArduPy スタートガイド に従って、Wio Terminal 上で ArduPy 開発環境を構成します。

  • ステップ 2. ADS1115 ライブラリを含む ArduPy ファームウェアが Wio Terminal にフラッシュされていることを確認してください。詳細については、こちらを参照してください。

aip install Seeed-Studio/seeed-ardupy-ads1115
aip build
aip flash
  • ステップ 3. 以下のコードをコピーして ArduPy-ads1115.py として保存します:

注意:その他の API については、こちらを確認してください。

from arduino import grove_ads1115
import time

ads = grove_ads1115()
ads.setPGAGain(0x0000)

while True:
print ("チャンネル0の値は:", ads.channel0)
print ("チャンネル1の値は:", ads.channel1)
print ("チャンネル2の値は:", ads.channel2)
print ("チャンネル3の値は:", ads.channel3)
time.sleep(1)
  • ステップ 4. ArduPy-ads1115.py をわかりやすい場所に保存します。以下のコマンドを実行し、<YourPythonFilePath>ArduPy-ads1115.py の保存場所に置き換えてください。
aip shell -n -c "runfile <YourPythonFilePath>"
# 例:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-ads1115.py"
  • ステップ 5. 以下のようにターミナルに ADC 値が表示されます:
ansonhe@Ansons-Macbook-Pro ~:aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-ads1115.py"
Positional argument (/dev/cu.usbmodem1413101) takes precedence over --open.
Connected to ardupy
チャンネル0の値は: 17487.0
チャンネル1の値は: 3790.0
チャンネル2の値は: 3170.0
チャンネル3の値は: 3122.0
チャンネル0の値は: 17486.0
チャンネル1の値は: 3272.0
チャンネル2の値は: 3064.0
チャンネル3の値は: 3063.0
チャンネル0の値は: 17486.0
チャンネル1の値は: 3482.0
チャンネル2の値は: 3201.0
チャンネル3の値は: 3185.0
チャンネル0の値は: 17487.0
チャンネル1の値は: 17261.0
チャンネル2の値は: 5055.0
チャンネル3の値は: 4480.0
チャンネル0の値は: 11839.0
チャンネル1の値は: 3540.0
チャンネル2の値は: 1690.0
チャンネル3の値は: 1562.0

注意事項

caution

スクリュ端子のA0およびA1でマルチチャンネルを使用する場合、GroveインターフェースにもA0およびA1が使用されているため、Groveインターフェースに何も接続しないようにしてください。バッテリーを扱う際には、これが危険になる可能性があります。

  1. 使用時、最大電圧は5.5Vを超えないようにしてください。

  2. マルチチャンネル取得を使用する場合、サンプリング周波数を250SPS以上に設定する必要があります。そうしないと、サンプリング周波数が遅すぎて、前のチャンネルが変換されないうちに次のチャンネルが開始され、動作が失敗する可能性があります。

回路図オンラインビューア

リソース

技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しています。お客様の好みやニーズに応じた複数のコミュニケーションチャネルをご用意しています。

Loading Comments...