ADS1115は、I2Cインターフェイスを備えた16ビット精度アナログからデジタルコンバーター(ADC)です。高精度と複数の入力チャネルを提供するため、センサーの読み取り、電圧の監視、またはArduinoプロジェクトの信号の増幅に最適です。このチュートリアルでは、ARDUINOとADS1115を接続および使用することをガイドします。
あなたが必要とするもの
- ADS1115 ADCモジュール
- Arduino委員会(例:UNO、MEGA、NANO)
- センサーまたはアナログデバイス(ポテンショメータなど)
- ブレッドボードとジャンパーワイヤ
- Arduino IDEがインストールされたコンピューター
ステップ1:ADS1115モジュールの理解
ADS1115は以下を提供します。
- 16ビットADC解像度 (差動入力の場合は15ビット)。
- 4つの入力チャネル (または2つの微分ペア)。
- プログラム可能なゲインアンプ(PGA) 信号増幅用。
ADS1115ピンアウト
ピン | 関数 |
---|---|
VCC | 電源(3.3V/5V) |
GND | 地面 |
SDA | I2Cデータライン |
SCL | I2Cクロックライン |
addr | I2Cアドレス構成 |
-
ADDR PIN構成:
- GND:
0x48
(デフォルトアドレス) - VCC:
0x49
- SDA:
0x4A
- SCL:
0x4B
- GND:
ステップ2:ADS1115をArduinoに配線します
次のように、ADS1115をArduinoに接続します。
ADS1115ピン | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
SDA | A4(SDA) |
SCL | A5(SCL) |
注記: 他のArduinoボードについては、正しいI2Cピンを使用してください。
ステップ3:必要なライブラリをインストールします
ADS1115との通信を簡素化するには、AdaFruit ADS1X15ライブラリをインストールします。
インストールする手順:
- Arduino IDEを開きます。
- 行きます スケッチ > ライブラリを含めます > ライブラリを管理します.
- 「Adafruit Ads1x15」を検索し、クリックします インストール.
ステップ4:コードをアップロードします
ADS1115からアナログ入力を読むためのスケッチの例を次に示します。
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1115 ads; // Create an ADS1115 object
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("Initializing ADS1115...");
if (!ads.begin()) {
Serial.println("Failed to detect ADS1115. Check connections.");
while (1);
}
Serial.println("ADS1115 initialized.");
}
void loop() {
int16_t adc0 = ads.readADC_SingleEnded(0); // Read channel 0
float voltage = adc0 * 0.1875 / 1000.0; // Convert to voltage (gain = 2/3)
Serial.print("ADC Value: ");
Serial.print(adc0);
Serial.print(" | Voltage: ");
Serial.print(voltage);
Serial.println(" V");
delay(500); // Wait for 500ms before the next reading
}
ステップ5:セットアップをテストします
- USBを介してArduinoをコンピューターに接続します。
- Arduino IDEを開き、正しいものを選択します ボード そして ポート の下 ツール メニュー。
- クリックしてコードをArduinoにアップロードします アップロード.
- シリアルモニターを開きます(ツール > シリアルモニター)そして、ボーレートをに設定します
9600
. - 入力電圧(ポテンショメータを使用するなど)を変化させ、ADC値と電圧測定値を観察します。
オプション:差動モードの使用
ADS1115は、2つの入力ピン(A0およびA1など)の違いを測定することもできます。
int16_t diff = ads.readADC_Differential_0_1(); // Measure difference between A0 and A1
float voltage = diff * 0.1875 / 1000.0; // Convert to voltage
Serial.println(voltage);
ADS1115のアプリケーション
- 高精度センサーの測定値
- 電圧の監視と測定
- 小さなセンサーの信号増幅
- 微分信号測定
トラブルシューティング
- センサーからの応答はありません: i2c接続を確認し、正しいi2cアドレスが使用されていることを確認します。
- 一貫性のない測定値: 安定した電源とクリーン信号入力を確認してください。
- 低解像度: 入力範囲に正しいゲイン設定を使用していることを確認してください。
結論
ADS1115 ADCとArduinoとのインターフェースに成功しました。 ADS1115は、高精度と柔軟性を備えており、正確なアナログからデジタルへの変換を必要とするさまざまなプロジェクトに最適なツールです。その機能を試して、高度な測定システムとセンサーインターフェイスを構築してください!