산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

TLC5940으로 아두이노 PWM 확장: 16채널 LED 드라이버 완전 가이드

이 아두이노 튜토리얼에서는 아두이노 보드로 TLC5940 PWM 드라이버 사용하는 방법을 배웁니다. TLC5940은 PWM 출력을 제공하는 16채널 LED 드라이버로 아두이노 PWM 기능을 확장하기에 완벽합니다. LED뿐만 아니라 이 IC로 서보, DC 모터 등 PWM 신호로 제어하는 전자 부품도 제어 가능.

TLC5940으로 아두이노 PWM 확장: 16채널 LED 드라이버 완전 가이드

기본 특징

  • VCC = 3V ~ 5V
  • 16채널
  • 12비트(4096단계) PWM 제어
  • 구동 능력
    – 0mA ~ 120mA (VCC > 3.6V)
    – 0mA ~ 60mA (VCC < 3.6V)
  • 시리얼 데이터 인터페이스
  • 30MHz 데이터 전송 속도
  • 데이지 체이닝

데이지 체이닝은 여러 TLC5940 IC를 직렬로 연결하는 훌륭한 기능입니다. 이를 통해 아두이노의 PWM 기능을 16개 출력 이상으로 확장할 수 있습니다. 예를 들어 32, 48, 64개 PWM 출력을 여전히 아두이노 보드의 동일한 4개 핀으로 제어 가능.

이 튜토리얼용 부품은 아래 사이트에서 구할 수 있습니다:

  • 아두이노 나노………………………..
  • 초고휘도 적색 LED……………
  • TLC5940 LED 드라이버……………

아두이노와 TLC5940 배선

TLC5940 제어를 위해 아두이노 보드 4개 핀 점유. Alex Leone이 만든 TLC5940 아두이노 라이브러리 사용 시 라이브러리 설정 또는 다음 회로도에 따라 IC 연결 필요:

TLC5940으로 아두이노 PWM 확장: 16채널 LED 드라이버 완전 가이드

위 회로도는 LED 전원용 외부 전원 공급 장치 사용하지만, 총 소모 전류가 아두이노 한도(절대 최대 정격, VCC 및 GND 핀 DC 전류 – 200mA) 초과하지 않으면 아두이노 VCC만으로도 연결 가능.

TLC5940은 정전류 싱크(constant-current sink)이므로 전류가 출력 핀 쪽으로 흐릅니다. 따라서 LED 연결 시 음극(캐소드)을 IC 출력 핀에, 양극(애노드)을 5V VCC에 연결해야 합니다.

디커플링용 커패시터 2개와 출력 전류량 제어용 저항 필요. 저항 값은 제어하려는 부품에 따라 달라지며 TLC5940 데이터시트 다음 다이어그램으로 선택 가능.

TLC5940으로 아두이노 PWM 확장: 16채널 LED 드라이버 완전 가이드

다이어그램에 따르면 20mA 전류 필요한 LED 제어용으로는 2kΩ 저항 필요.

소스 코드

Alex Leone 제작 TLC5940 아두이노 라이브러리 다운로드 설치 후 "BasicUse" 데모 예제로 IC 출력 제어법 이해 가능.

이 튜토리얼용으로 16개 LED 제어하는 간단한 코드 작성. 코드 주석으로 함수 동작 이해 도움.

/*
 * 아두이노와 TLC5940 튜토리얼 - 간단 예제
 * by Dejan Nedelkovski, www.HowToMechatronics.com
 */
#include "Tlc5940.h"
void setup() {
  Tlc.init(0); // TLC5940 초기화, 모든 채널 오프
}
void loop() {
  Tlc.set(0, 4095); // (출력 핀 0~15, PWM 값 0~4095)
  // 이전 함수는 출력을 즉시 활성화하지 않음. Tlc.update() 실행 시 활성화!
  Tlc.update(); // 앞서 설정한 출력 활성화
  delay(1000);
  // 모든 16개 출력을 동시에 활성화하려면 for 루프로 모두 PWM 4095 설정 후 Tlc.update()
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
  }
  Tlc.update();
  delay(1000);
  // Tlc.clear()로 모든 출력 클리어(PWM 값 0으로 설정)
  Tlc.clear();
  Tlc.update();
  delay(1000);
  // 이 for 루프로 16개 LED 순차 점등
  for (int i = 0; i < 16; i++) {
    Tlc.set(i, 4095);
    Tlc.update();
    delay(200);
    Tlc.clear();
    Tlc.update();
    delay(200);
  }
}코드 언어: Arduino (arduino)

둘 이상의 TLC5940 제어

이 IC들을 직렬로 여러 개 연결하려면 위 회로도와 동일하게 연결. 차이점은 첫 번째 IC의 SOUT(신호 출력 – 핀 17)을 두 번째 IC의 SIN(신호 입력 – 핀 26)에 연결하는 것뿐.

TLC5940으로 아두이노 PWM 확장: 16채널 LED 드라이버 완전 가이드

프로그래밍 부분에서는 수정 필요. TLC5940 라이브러리 폴더의 tlc_config.h 파일에서 NUM_TLCS 변수 값을 직렬 연결된 TLC5940 IC 개수로 변경(우리 경우 2). 이제 0~31번 LED를 모두 주소 지정해 이전과 같은 프로그래밍 방식 사용 가능.

TLC5940으로 아두이노 PWM 확장: 16채널 LED 드라이버 완전 가이드

예제로 다음 링크의 DIY LED 하트 포토 프레임 – 아두이노 프로젝트에서 2개 TLC5940 IC로 32개 LED 제어하는 것 확인 가능.


제조공정

  1. 아두이노와 파이썬으로 OpenSensors를 활용한 공기질 측정 가이드
  2. 아두이노 RFID 도어락 만들기 – 단계별 완벽 가이드
  3. 아두이노로 범용 IR 리모컨 만들기: 단계별 가이드
  4. 디지털 신장계 제작: 아두이노 & 레이저 센서로 키 측정하기
  5. 서미스터(NTC) 온도 센서 아두이노 활용 완전 정복 - 수식부터 구현까지
  6. 아두이노로 음악 톤 만들기: 88키 피아노 음계 구현 가이드
  7. 아두이노 나노 지문 센서 프로젝트 – 단계별 튜토리얼
  8. 아두이노로 Modbus 마스터하기: 단계별 완벽 가이드
  9. 아두이노 UNO로 만드는 미니 피아노 - 단계별 튜토리얼
  10. 아두이노 입문 튜토리얼 01: 첫 프로젝트 시작하기