Title
아두이노 예제
2017.02.07 23:31

Wire Library - Digital Potentiometer

조회 수 72 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

이 예제는 아날로그 장치 AD5171 와 디지털 전위차계 는 I2C 동기 직렬 프로토콜을 통해 통신을 제어 하는 방법을 보여 줍니다. Arduino의 I2C 와이어 라이브러리를 사용하여, 디지털 포트는 LED가 사라지면서 64레벨의 저항력을 발휘할 것이다.

 

I2C 프로토콜은 데이터를 보내고 받기 위해 두라인을 사용하는 것을 포함합니다: Arduino( regular)또는 Genuino MasterBoard( SCL)가 정기적으로 전송되는 serial( clock)또는 두 장치 사이에 데이터가 전송되는 직렬 데이터 핀( SDA). 클록 스프링이 로우에서 하이(시계 펄스의 상승)로 변함에 따라 단일 비트의 정보가 표시됩니다. - 특정 장치의 주소와 명령 또는 데이터를 순서대로 작성할 것이다. 이 정보가 전송된 후 비트 전송률 - 요청된 장치는 요청을 실행하고 데이터를 다시 전송하고 필요한 경우 타이밍 신호에 의해 여전히 MA에 의해 생성된 클록 신호를 사용하여 동일한 라인에 대해 보드 위에 놓으십시오.

 

12C 프로토콜이 각 활성화된 장치를 고유한 주소로 사용할 수 있도록 하기 때문에 마스터 및 슬레이브 장치 둘 다 단일 라인에서 교대로 통신할 수 있습니다. Arduino 또는 Genuino 보드를 사용하여 여러개의 장치 또는 다른 보드를 사용하는 것이 가능합니다. 단, 마이크로 컨트롤러의 두개의 핀 포인트를 사용합니다.

 

Hardware Required


  • Arduino or Genuino Board
  • AD5171 Digital Pot
  • LED
  • 220 ohm resistor
  • 2 4.7k ohm resistors
  • hook-up wires
  • breadboard

 

Circuit


핀의 핀 3,6및 7을 AD5171에 연결하고 핀 2와 8을 핀으로 고정합니다.

 

pin의 핀 4, 디지털 포트 핀( SCL)을 Arduino의 아날로그 핀 5에 연결하고, 데이터 라인( SDA)을 아날로그 핀 4로 변환합니다. SCL 및 SDA 라인 양쪽에서 4.7KΩ을 더하고 양쪽 라인을 모두+5V로 연결합니다.

 

마지막으로, LED가 1번 깜박일 때, AD5171의 "wiper"가 220Ω의 LED로 켜집니다.

 

1.png

AD5171의 핀 6이 접지에 연결되어 있는 경우, ADO는 44이다. 다른 디지털 포트를 동일한 SDA 버스에 추가하려면 두번째 냄비 핀을+5-5로 연결하고, 변경하려면 45번을 변경한다.

 

이러한 디지털 라이프 스타일 중 두개만 동시에 사용할 수 있습니다.

 

Schematic​


2.png

3.png

 

Code


// I2C Digital Potentiometer
// by Nicholas Zambetti <http://www.zambetti.com>
// and Shawn Bonkowski <http://people.interaction-ivrea.it/s.bonkowski/>

// Demonstrates use of the Wire library
// Controls AD5171 digital potentiometer via I2C/TWI

// Created 31 March 2006

// This example code is in the public domain.

// This example code is in the public domain.


#include <Wire.h>

void setup() {
  Wire.begin(); // join i2c bus (address optional for master)
}

byte val = 0;

void loop() {
  Wire.beginTransmission(44); // transmit to device #44 (0x2c)
  // device address is specified in datasheet
  Wire.write(byte(0x00));            // sends instruction byte
  Wire.write(val);             // sends potentiometer value byte
  Wire.endTransmission();     // stop transmitting

  val++;        // increment value
  if (val == 64) { // if reached 64th position (max)
    val = 0;    // start over from lowest value
  }
  delay(500);
}


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
311 아두이노 강좌 [아두이노 강좌] 04. 쉬프트 레지스터를 이용한 LED제어 file 귀욤둥이 2017.02.21 251
310 아두이노 강좌 [아두이노 강좌] 03. RGB LED 색깔 변경하기 file 귀욤둥이 2017.02.21 136
309 아두이노 강좌 [아두이노 강좌] 02. LED 밝기 변경하기 file 귀욤둥이 2017.02.21 123
308 아두이노 강좌 [아두이노 강좌] 01. LED 깜빡이기 file 귀욤둥이 2017.02.20 87
307 아두이노 예제 Wire Library - SFR Ranger Reader file 귀욤둥이 2017.02.08 84
306 아두이노 예제 Wire Library - Master Writer/Slave receiver file 귀욤둥이 2017.02.07 49
305 아두이노 예제 Wire Library - Master Reader/Slave Writer file 귀욤둥이 2017.02.07 52
» 아두이노 예제 Wire Library - Digital Potentiometer file 귀욤둥이 2017.02.07 72
303 아두이노 예제 WiFi Shield 101 Library- Connect With WPA file 귀욤둥이 2017.02.07 37
302 아두이노 예제 WiFi Shield 101 Library - WiFi Web Server file 귀욤둥이 2017.02.07 53
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 33 Next
/ 33