ماژول ADS1115 یک مبدل ADC است که می توانید از آن برای اندازه گیری سیگنال های آنالوگ همچون خروجی سنسنر های مختلف استفاده کنید . ADS1115 چهار کانال ورودی سیگنال آنالوگ دارد که میتواند مقادیر صفر تا ولتاژ تغذیه را به مقادیر 16 بیتی تبدیل کند . در مدل های نختلف رزبری به دلیل اینکه واحد ADC ندارند می توانید از این ماژول استفاده کنید . رابط ارتباطی این ماژول I2C است لذا تنها از طریق دو پین SDA و SCL می توانید ماژول را راه اندازی کنید . در تصویر زیر پین های ماژول ADS1115 نشان داده شده است :
پین های A0 تا A3 ورودی سیگنال آنالوگ می باشد .
پین ADDR جهت تعیین آدرس ارتباط I2C است .
پین های SDA و SCL نیز برای ارتباط I2C می باشد .
پین های VCC و GND به ترتیب پین های تغذیه و زمین ماژول هستند .
راه اندازی ماژول ADS1115 با آردوینو :
برای راه اندازی این ماژول از ارتباط I2C استفاده می شود . از طریق پین ADDR می توانید آدرس I2C ماژول را تعیین کنید . پین ADDR چهار حالت مختلف به صورت زیر دارد :
- 0x48 (1001000) ADR -> GND
- 0x49 (1001001) ADR -> VDD
- 0x4A (1001010) ADR -> SDA
- 0x4B (1001011) ADR -> SCL
به طور مثال اگر پین ADDR را به SCL متثل کنید آدرس ماژول به 0x4B تغییر می کند .
#include <Wire.h> #include <Adafruit_ADS1015.h> Adafruit_ADS1115 ads(0x48); void setup(void) { Serial.begin(9600); Serial.println("Hello!"); Serial.println("Getting single-ended readings from AIN0..3"); Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)"); ads.begin(); } void loop(void) { int16_t adc0, adc1, adc2, adc3; adc0 = ads.readADC_SingleEnded(0); adc1 = ads.readADC_SingleEnded(1); adc2 = ads.readADC_SingleEnded(2); adc3 = ads.readADC_SingleEnded(3); 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); }