آموزش راه‌اندازی ماژول مبدل آنالوگ به دیجیتال ADS1015 با آردوینو

فهرست مطالب

ویژگی‌های ماژول مبدل آنالوگ به دیجیتال ADS1015

در بیشتر میکروکنترلرها مبدل آنالوگ به دیجیتال وجود دارد، اما این مبدل از دقت بالایی برخوردار نیست. در بسیاری از پروژه‌ها نیاز است مقادیر آنالوگ با دقت بالا اندازه‌گیری شود، یا سطح ولتاژ مقادیر آنالوگ در محدوده اندازه‌گیری میکروکنترلر نمی‌باشد و یا میکروکنترلر مورد استفاده مبدل آنالوگ به دیجیتال ندارد. در این موارد از IC های جانبی مبدل آنالوگ به دیجیتال همچون استفاده می‌گردد.

آی‌سی  ADS1015 یکی از انواع آی‌سی‌های مبدل آنالوگ به دیجیتال می‌باشد که دارای دقت 12 بیتی است و حداکثر ولتاژ 0.3VDD+ ولت را اندازه‌گیری می‌کند. این ماژول به دلیل استفاده از پروتکل I2C از سرعت بالایی برخوردار است و تعداد پایه‌های کمی از میکروکنترلر را اشغال می‌کند.

جهت دریافت دیتاشیت ADS1015 اینجا کلیک کنید.

معرفی پایه ها (Pinout) ماژول مبدل آنالوگ به دیجیتال ADS1015

ماژول مبدل آنالوگ به دیجیتال ADS1015 دارای 10 پایه به شرح زیر است:

  • VCC: تغذیه ماژول
  • GND: زمین
  • SLC: همزمان سازی برای پروتکل I2C
  • SDA: اطلاعات برای پروتکل I2C
  • ADDR: تنظیم آدرس پروتکل I2C
  • ALRT: وقفه آماده شدن اطلاعات
  • A0: ورودی آنالوگ اول
  • A1: ورودی آنالوگ دوم
  • A2: ورودی آنالوگ سوم
  • A3: ورودی آنالوگ چهارم

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول مبدل ADS1015 × 1
سیم جامپر نری به مادگی × 1

نرم افزارهای موردنیاز

آردوینو IDE

راه‌اندازی ماژول مبدل آنالوگ به دیجیتال ADS1015 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

کتابخانه زیر را بر آردوینوی خود نصب کنید.

https://github.com/RobTillaart/ADS1X15

توجه

اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.

نکته

برای اندازه گیری ولتاژ های دقیق تر باید مقدار Gain را تغییر دهید و با انجام این کار حداکثر ولتاژ قابل نمایش نیز کمتر می شود. مقادیر Gain  را می توانید با توجه به جدول زیر انتخاب کنید.

PGA value Max Voltage
0 ±6.144V
1 ±4.096V
2 ±2.048V
3 ±1.024V
4 ±0.512V
5 ±0.256V

گام سوم: کد

کد زیر را روی برد آردوینوی خود آپلود کنید.

/*
  Modify on May 19, 2021
  Modify by MohammedDamirchi base https://github.com/RobTillaart/ADS1X15  https://electropeak.com/learn/
*/

//
//    FILE: ADS_read.ino
//  AUTHOR: Rob.Tillaart
// VERSION: 0.2.1
// PURPOSE: read analog inputs - straightforward.
//

// test
// connect 1 potmeter per port.
//
// GND ---[   x   ]------ 5V
//            |
//
// measure at x (connect to AIN0).
//

#include "ADS1X15.h"

ADS1115 ADS(0x48);

void setup() 
{
  Serial.begin(115200);
  Serial.println(__FILE__);
  Serial.print("ADS1X15_LIB_VERSION: ");
  Serial.println(ADS1X15_LIB_VERSION);

  ADS.begin();
}

void loop() 
{
  ADS.setGain(0);

  int16_t val_0 = ADS.readADC(0);  
  int16_t val_1 = ADS.readADC(1);  
  int16_t val_2 = ADS.readADC(2);  
  int16_t val_3 = ADS.readADC(3);  

  float f = ADS.toVoltage(1);  // voltage factor

  Serial.print("Analog0: "); Serial.print(val_0); Serial.print('\t'); Serial.print(val_0 * f, 3);
  Serial.print("\tAnalog1: "); Serial.print(val_1); Serial.print('\t'); Serial.print(val_1 * f, 3);
  Serial.print("\tAnalog2: "); Serial.print(val_2); Serial.print('\t'); Serial.print(val_2 * f, 3);
  Serial.print("\tAnalog3: "); Serial.print(val_3); Serial.print('\t'); Serial.print(val_3 * f, 3);
  Serial.println();

  delay(1000);
}

// -- END OF FILE 
*/ 

این کد جهت تست مقادیر دریافتی از پایه های A0~A3 می‌باشد.

آموزش های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.