كيفية استخدام ADS1115 ADC مع Arduino

How to Use the ADS1115 ADC with Arduino

ADS1115 هو محول تمثيلي إلى رقمي بدقة 16 بت (ADC) مع واجهة I2C. إنه يوفر دقة عالية وقنوات إدخال متعددة ، مما يجعلها مثالية لمستشعرات القراءة أو مراقبة الفولتية أو تضخيم الإشارات في مشاريع Arduino. سوف يرشدك هذا البرنامج التعليمي من خلال الاتصال واستخدام ADS1115 مع Arduino.


ماذا ستحتاج

  1. ADS1115 وحدة ADC
  2. لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
  3. أجهزة الاستشعار أو الأجهزة التناظرية (على سبيل المثال ، مقياس الجهد)
  4. الأسلاك الأسلاك والبلوز
  5. جهاز كمبيوتر مع Arduino IDE مثبت

الخطوة 1: فهم وحدة ADS1115

يقدم ADS1115:

  • قرار ADC 16 بت (15 بت للمدخلات التفاضلية).
  • 4 قنوات الإدخال (أو 2 أزواج تفاضلية).
  • مكبر الصوت القابل للبرمجة (PGA) لتضخيم الإشارة.

ADS1115 Pinout

دبوس وظيفة
VCC مزود الطاقة (3.3V/5V)
GND أرضي
SDA خط بيانات I2C
SCL خط الساعة I2C
addr تكوين عنوان I2C
  • تكوين دبوس ADDR:
    • GND: 0x48 (العنوان الافتراضي)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

الخطوة 2: توصيل ADS1115 إلى Arduino

قم بتوصيل ADS1115 بالأردوينو على النحو التالي:

ADS1115 دبوس دبوس أردوينو
VCC 5V
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

ملحوظة: للوحات Arduino الأخرى ، تأكد من استخدام دبابيس I2C الصحيحة.


الخطوة 3: تثبيت المكتبة المطلوبة

لتبسيط التواصل مع ADS1115 ، قم بتثبيت مكتبة ADAFRUIT ADS1X15.

خطوات التثبيت:

  1. افتح Arduino IDE.
  2. اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
  3. ابحث عن "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: اختبار الإعداد

  1. قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
  2. افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
  3. قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
  4. افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود 9600.
  5. تغيير جهد الإدخال (على سبيل المثال ، باستخدام مقياس الجهد) ومراقبة قيمة ADC وقراءات الجهد.

اختياري: استخدام الوضع التفاضلي

يمكن لـ ADS1115 أيضًا قياس الفرق بين دبابيس الإدخال (على سبيل المثال ، 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

  1. قراءات استشعار عالية الدقة
  2. مراقبة الجهد والقياس
  3. تضخيم الإشارة لأجهزة الاستشعار الصغيرة
  4. قياس الإشارة التفاضلية

استكشاف الأخطاء وإصلاحها

  • لا استجابة من المستشعر: تحقق من اتصالات I2C وتأكد من استخدام عنوان I2C الصحيح.
  • قراءات غير متناسقة: تحقق من وجود إمدادات طاقة مستقرة ومدخلات إشارة نظيفة.
  • دقة منخفضة: تأكد من أنك تستخدم إعداد الربح الصحيح لنطاق الإدخال الخاص بك.

خاتمة

لقد نجحت في ربط ADS1115 ADC مع Arduino. بفضل دقة ومرونته العالية ، تعد ADS1115 أداة ممتازة لمختلف المشاريع التي تتطلب تحويلًا دقيقًا إلى رقمي. تجربة مع ميزاتها لبناء أنظمة القياس المتقدمة وواجهات المستشعرات!

اترك تعليقًا

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.