부품 : I2C 오디오 볼륨 전위차계 (DS1807)
DS1807은 오디오 볼륨 조정을위한 두 개의 로그 디지털 포텐쇼미터 (POTS)로 구성됩니다. 각 팟에는 64 개의 볼륨 레벨과 음소거 설정이 있습니다. 각 냄비의 볼륨 레벨은 2 선 I2C 직렬 인터페이스를 통해 설정됩니다. 아래의 DS1807을 연결하고 인터페이스하는 방법을 보여 드리겠습니다.
DS1807 I2C 오디오 볼륨 전위차계 (DigiKey # DS1807 + -nd, $ 3.04)
사이
버스 해적
DS1807 (PIN #)
GND.
GND (1)
GND.
A2 (2)
GND.
A1 (3)
GND.
A0 (4)
GND.
agnd (11)
SDA.
SDA (12)
시계
SCL (13)
+ 5 volts.
VCC (14)
우리는 DS1807을 테이블에 표시된 바와 같이 버스 해적 범용 직렬 인터페이스 도구에 연결 한 것과 동일한 기본 주체가 사용자 정의 구성에 적용됩니다. 우리는 버스 해적의 5Volt 전원 공급 장치를 사용했지만 DS1807은 3.3Volts에서도 작동합니다. I2C는 각 신호선에 풀업 저항을 필요로하며 온보드 5Volt 전원 공급 장치에 연결된 버스 해적의 온보드 저항을 사용했습니다.
DS1807을 데이터 시트의 3 페이지에 표시된대로 오디오 소스에 연결하십시오. 원시 오디오 신호를 H 핀에 연결하고 L 핀을 접지에 연결하면 약독 화 된 오디오 신호가 W PIN에서옵니다.
인터페이싱
먼저, i2c 모드의 버스 해적을 설정하고 5Volt 전원 공급 장치를 활성화하십시오. 우리는 마지막 부분 에서이 절차를 다뤘습니다.
I2C> v
전원 공급 장치가 구성되어 있으면 전압 모니터 (V)를 점검하여 5Volt 공급이 활성이고 풀업 저항에 5Volts가 있는지 확인하십시오.
I2C> (0) <- 사용 가능한 매크로 목록 0.Macro 메뉴 1.7bit 주소 검색 I2C> (1) <- 주소 검색 실행 XXX 7 비트 I2C 주소 공간을 검색합니다. 에서 장치를 찾았습니다. 0x50 0x51 0x52 <-potential 주소 I2C>
버스 Pirate의 주소 검색 매크로는 데이터 시트를 체크 아웃하지 않고 I2C 장치를 찾는 빠른 방법입니다. 0x50은 마지막 비트가 0이기 때문에 I2C 쓰기 주소입니다. 0x51은 읽기 주소 (마지막 비트 1)입니다. 0x52는 아마도 해당 읽기 주소가 없기 때문에 그룹 / 글로벌 쓰기 주소 일 것입니다.
데이터 시트에서 주소를 파악할 수도 있습니다. 기본 주소는 0101이고 세 주소 선택 비트 (A0-2, 모든 접지, 000) 및 쓰기 또는 읽기 비트 (0 또는 1)는 0b01010000 (0x50)을 제공합니다.
I2C> [0x51 R] <- 팟 값 읽기 210 I2C 시작 조건 220 I2C 쓰기 : 0x51 GOT ACK : 예 <-DEVICE 읽기 주소 230 I2C 읽기 : 0x3F <-pot0. 230 I2C 읽기 : 0x3F 첫째, 우리는 시작시 전위차계 값을 읽습니다. [I2C 시작 조건 문제, 0x51은 장치 읽기 주소 가며, "R R"은 2 바이트를 읽고, i2c 정지 명령을 실행합니다. 기본 시동 값은 63 (0x3F), 음소거 위의 한 위치 (데이터 시트 페이지 2)입니다. I2C> [0x50 0B10101001 0] <- 쓰기 POT0 210 I2C 시작 조건 220 I2C 쓰기 : 0x50 ACK : 예 <-ds1807 쓰기 주소 220 I2C 쓰기 : 0xA9 GOT ACK : 예 <-pot0 쓰기 명령 220 I2C 쓰기 : 0x00 GOT ACK : 예 <- 볼륨 설정 240 I2C 정지 조건 I2C> [0x50 0B10101010 64] <- 쓰기 POT1 210 I2C 시작 조건 220 I2C 쓰기 : 0x50 ACK : 예 <-ds1807 쓰기 주소 220 I2C 쓰기 : 0xaa가 ACK : 예