Arduino – ADS1115

ADS1115 е външен аналогово цифров преобразувател, който можем да свържем към развойна платка Arduino. Представлява 4 канален 16 битов АЦП или два двуканални диференциални входа. Най-малкото напрежение, което може да измери и същевременно да цифровизира е 76 uV. Едновременно и на четирите канала може да постъпва сигнал до 5V и да се обработи.

Блокова схема на ADS1115

Това е блоковата схема на платката и схемата на свързване с Arduino.

Схемата е лесна за монтаж. Захранваме ADS1115 от Arduino и съответно свързваме пиновете (SCL) и (SDA) на двете платки. Двата края на потенциометaра съответно на 5V и GND. Средния край го връзваме в един от четирите входа на АЦП. В случая на A0.

Предаването на данни, както виждате става чрез двупроводна линия на протокола Inter-Integrated Circuit (I2C) Protocol.

ПротоколътI2C се поддържа от всички платки Arduino. Позволява ви да свържете различни периферни устройства, като сензори, дисплеи, двигателни драйвери и т.н., само с няколко проводника. Включва използване на две линии за изпращане и получаване на данни: щифт за сериен часовник (SCL) , който платката на Arduino изпраща импулси, и щифт serial data pin  (SDA), по който се изпращат данни между двете устройства.

ADS 1115 има 16 битов регистър за резултата, но реално се използват 15 бита и 1 бит за знак. Работи в двуполюсен режим. Ако се измерва само положоителни напрежения, ефективно се използва само половината от обхвата.

// RADIOASTRO
// www.radioastrobg.com
// 001-2025

#include "ADS1X15.h"
#include "Wire.h"
ADS1115 ADS(0x48); // Initialize ADS1115 with default address 0x48


void setup() {
Serial.begin(9600);
Wire.begin();
ADS.begin();
}
void loop() {
int16_t val_0 = ADS.readADC(0); // присвоява прочетената стойност от аналоговия вход 0 на променливата val_0
Serial.print(val_0);
Serial.println();
delay(1000);
}

Примерен код за Arduino съдържащ основните функции за обработка на сигнала.

This entry was posted in ARDUINO and tagged . Bookmark the permalink.