ADS1x15 ADC 변환 모듈
일반
아날로그 전압 레벨을 디지털로 변환해주는 4채널 ADC 모듈입니다. I2C 인터페이스를 사용합니다.


호환모듈
- ADS1015
- ADS1115
사양 (ADS1115)
- ADC Bit rate: 16 Bit.
- Interface Type: I2C.
- Channels: 4 Channel AN0 AN1 AN2 AN3 or 2 differential inputs.
- Input Voltage: 2.0 – 5.5V.
- Channel Input Voltage: 0-VDD.
- Continuous Mode: Only 150μA.
- Single-Shot Mode: Auto Shut-Down.
- Programmable Data Rate:8sps -860sps.
- Input range programmed control, 7 types input ranges: -0.256V ~ + 0.256V, -0.512V ~ + 0.512V, -1.024V ~ + 1.024V, -2.048V ~ + 2.048V, -4.096V ~ + 4.096 V, -6.144V ~ + 6.144V
• 라즈베리파이, 비글본, 젯슨 나노 등 GPIO가 3.3V인 경우 ADS1x15의 VDD를 반드시 3.3V에 연결해야 합니다.
• ADS1x15는 VDD 전압의 약 70% 이상인 I2C 신호 레벨을 요구합니다. 만약 VDD에 5V를 연결하고 I2C 신호가 3.3V일 경우, 통신 오류가 발생하거나 작동하지 않을 수 있습니다.
• 0~5V를 출력하는 센서를 연결해야 하는 경우는 분압기를 사용하여 0~3.3V로 변환 후 ADS1x15에 연결해야 합니다. 자세한 내용은 여기를 참고합니다.
• ADS1x15는 VDD 전압의 약 70% 이상인 I2C 신호 레벨을 요구합니다. 만약 VDD에 5V를 연결하고 I2C 신호가 3.3V일 경우, 통신 오류가 발생하거나 작동하지 않을 수 있습니다.
• 0~5V를 출력하는 센서를 연결해야 하는 경우는 분압기를 사용하여 0~3.3V로 변환 후 ADS1x15에 연결해야 합니다. 자세한 내용은 여기를 참고합니다.
해상도
모듈 | Single-Ended | Differential |
---|---|---|
ADS1015 | 0~2047 | -2047~2047 |
ADS1115 | 0~32767 | -32767~32767 |
사용 가능한 GPIO
- 라즈베리파이 0~4
- 라즈베리파이 5
- 비글본 블랙/그린
- 젯슨 나노
- FT232H, FT2232H, FT4232H
- MCP2221
명령
[INIT]
초기설정을 입력합니다.
항목 | 타입 | 설명 |
---|---|---|
모듈 선택 | WRITE | 모듈의 타입을 선택합니다. (ADS1015, ADS1115) |
[SET_GAIN]
gain 값을 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
Gain | WRITE | 입력전압의 해상도 (Gain, Full scale)을 선택합니다.(2/3, 1, 2, 4, 8, 16) |
[GET_GAIN]
gain 값을 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
Gain | READ | 현재 설정된 해상도 (Gain, Full Scale) 입니다. |
[READ_SINGLE]
single ended 채널의 ADC 값과 voltage를 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
ADC Ch0 | READ | 채널0의 ADC 출력값 입니다. |
ADC Ch1 | READ | 채널1의 ADC 출력값 입니다. |
ADC Ch2 | READ | 채널2의 ADC 출력값 입니다. |
ADC Ch3 | READ | 채널3의 ADC 출력값 입니다. |
Voltage Ch0 | READ | 채널0의 ADC 출력값으로 계산한 입력전압입니다. |
Voltage Ch1 | READ | 채널1의 ADC 출력값으로 계산한 입력전압입니다. |
Voltage Ch2 | READ | 채널2의 ADC 출력값으로 계산한 입력전압입니다. |
Voltage Ch3 | READ | 채널3의 ADC 출력값으로 계산한 입력전압입니다. |
[READ_DIFF]
differential 채널의 ADC 값과 voltage를 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
ADC Ch0-Ch1 | READ | 채널0-채널1의 ADC 출력값 입니다. |
ADC Ch0-Ch3 | READ | 채널0-채널3의 ADC 출력값 입니다. |
ADC Ch1-Ch3 | READ | 채널1-채널3의 ADC 출력값 입니다. |
ADC Ch2-Ch3 | READ | 채널2-채널3의 ADC 출력값 입니다. |
Voltage Ch0-Ch1 | READ | 채널0-채널1의 ADC 출력값으로 계산한 입력전압입니다. |
Voltage Ch0-Ch3 | READ | 채널0-채널3의 ADC 출력값으로 계산한 입력전압입니다. |
Voltage Ch1-Ch3 | READ | 채널1-채널3의 ADC 출력값으로 계산한 입력전압입니다. |
Voltage Ch2-Ch3 | READ | 채널2-채널3의 ADC 출력값으로 계산한 입력전압입니다. |
예제
목표
가변저항을 ADS1115에 연결하고 ADC 변환값을 대시보드 위젯에 표시합니다. 가변저항의 노브를 돌리면서 ADC 값도 변화되는지 확인합니다.
부품
부품 | 갯수 |
---|---|
라즈베리파이 4 * | 1 |
ADS1115 | 1 |
포텐셔미터 (가변저항) | 1 |
* 다른 하드웨어를 사용할 수도 있습니다. 사용 가능한 GPIO를 참고하세요.
연결
아래의 핀들을 가로 방향으로 서로 연결합니다.
ADS1115 | 가변저항 | GPIO |
---|---|---|
VDD | Pin 3 (오른쪽) | 3.3V |
GND | Pin 1 (왼쪽) | GND |
SCL | | 3 (I2C1 SCL) |
SDA | | 2 (I2C1 SDA) |
ADDR * | | GND |
A0 | Pin 2 (가운데) | |
* 아래 테이블과 같이 ADDR핀을 어디에 연결하느냐에 따라 I2C주소가 결정됩니다. 예제에서는 0x48을 사용합니다. (모듈 제조사에 따라 다를 수 있습니다.)
ADDR 핀 연결 | I2C 주소 |
---|---|
GND | 0x48 |
VDD | 0x49 |
SDA | 0x4A |
SCL | 0x4B |

프로젝트 링크