ADS1115 هو محول تمثيلي إلى رقمي بدقة 16 بت (ADC) مع واجهة I2C. إنه يوفر دقة عالية وقنوات إدخال متعددة ، مما يجعلها مثالية لمستشعرات القراءة أو مراقبة الفولتية أو تضخيم الإشارات في مشاريع Arduino. سوف يرشدك هذا البرنامج التعليمي من خلال الاتصال واستخدام ADS1115 مع Arduino.
ماذا ستحتاج
- ADS1115 وحدة ADC
- لوحة Arduino (على سبيل المثال ، UNO ، Mega ، Nano)
- أجهزة الاستشعار أو الأجهزة التناظرية (على سبيل المثال ، مقياس الجهد)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع 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
- GND:
الخطوة 2: توصيل ADS1115 إلى Arduino
قم بتوصيل ADS1115 بالأردوينو على النحو التالي:
ADS1115 دبوس | دبوس أردوينو |
---|---|
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: اختبار الإعداد
- قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك عبر USB.
- افتح Arduino IDE وحدد الصحيح سبورة و ميناء تحت أدوات قائمة طعام.
- قم بتحميل الرمز إلى Arduino بالنقر فوق رفع.
- افتح الشاشة التسلسلية (أدوات > المراقبة التسلسلية) وتعيين معدل باود
9600
. - تغيير جهد الإدخال (على سبيل المثال ، باستخدام مقياس الجهد) ومراقبة قيمة 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
- قراءات استشعار عالية الدقة
- مراقبة الجهد والقياس
- تضخيم الإشارة لأجهزة الاستشعار الصغيرة
- قياس الإشارة التفاضلية
استكشاف الأخطاء وإصلاحها
- لا استجابة من المستشعر: تحقق من اتصالات I2C وتأكد من استخدام عنوان I2C الصحيح.
- قراءات غير متناسقة: تحقق من وجود إمدادات طاقة مستقرة ومدخلات إشارة نظيفة.
- دقة منخفضة: تأكد من أنك تستخدم إعداد الربح الصحيح لنطاق الإدخال الخاص بك.
خاتمة
لقد نجحت في ربط ADS1115 ADC مع Arduino. بفضل دقة ومرونته العالية ، تعد ADS1115 أداة ممتازة لمختلف المشاريع التي تتطلب تحويلًا دقيقًا إلى رقمي. تجربة مع ميزاتها لبناء أنظمة القياس المتقدمة وواجهات المستشعرات!