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



