RGB LED 배선


13

8 개의 개별 RGB LED를 adafruit 스트립 과 매우 유사하게 연결할 수 있는지 궁금합니다 . Pumpkin Pi 프로젝트를 보고 하나를 만들고 싶습니다. 노란색 또는 빨간색 LED는 없지만 RGB의 비축량이 적습니다.

arduino의 경우 RGB 음극에 270ohm 저항을 사용하고 0~ 의 스케일로 각 밝기를 제어 합니다 255.

라즈베리 파이에서 이것을 수행하는 방법이 있습니까?


최신 정보


그래서 나는 이것을 조금 더 살펴 보았습니다. 나는 당신의 TLC5940LED 드라이버 를 사용하는 당신의 생각을했다 .

이제 다시 도움을 요청하고 있습니다. 나는 이것을 해결하는 긴 질문 하나가 스택 교환 전체에 흩어져있는 것보다 낫다는 것을 알았습니다. 이제 배선 부분이 온다. 머리를 숙이고 있기 때문에 아두 이노 배선 튜토리얼 을 시작으로 사용하고 있습니다. 나는 또한 데이터 시트를 참조하고 있습니다. 다이어그램 핀에 따르면 27 or VPRG혼란 스럽습니다. Arduino 다이어그램이 접지되어 있으므로 접지 중입니다. . . 이것을 pi에 올바르게 연결하려면 어떻게합니까? 또한 저항이 필요하다고 생각합니다 ...

이것이 정말 바보처럼 들리면 미안하지만, 나는이 물건의 진정한 초보자입니다. 걸 으려면 크롤링을 배워야합니다.

이 배선도를 수정하려면 어떻게해야합니까 ( fritzing )?

배선 fzz 파일은 여기 에서 Google 에서 다운로드 할 수 있습니다 . TLC5940

여기에 이미지 설명을 입력하십시오


업데이트 2-주석 후


답변과 의견 중 일부를 고려하면 이것이 배선 다이어그램이 될 것입니까? 양극에 330ohm. 핀에 2k 옴 20. 입력은 파이에서 칩으로 어떻게 전달됩니까? 여기에 이미지 설명을 입력하십시오


Ooohhh the 호박 pi = : 0
Piotr Kula

몇 가지를 명확히 하시겠습니까? 8 개의 RGB LED (24 개의 출력이 필요하므로 TLC5940에서 제공하는 16 개보다 8 개 더 많은 8 개)의 빨강, 녹색 및 파랑 LED를 모두 구동하려고합니다. 어떤 RGB LED를 사용하고 있습니까? 공통 양극인지 또는 공통 음극인지 알아야합니다 (배선은 공통 음극처럼 보이지만 전류를 싱크 할 수있는 TLC5940에서는 작동하지 않습니다. 공통 음극은 다른 칩이 필요합니다). 또한 파란색은 3.3V를 사용하여 켜지지 않을 수 있으므로 5V가 필요합니다. 스루 홀 전자 장치 (예 : DIP) 여야하며 표면 장착이 아니어야합니다. 하나 대신 3 개의 칩을 사용하는지 걱정하십니까?
gbulmer

@gbulmer 죄송합니다. 나는 LED가 들어있는 패키지를 가지고 있지 않지만, 당신은 Common Cathode에서 arduino에서 그것들을 밝히는 것이 옳다고 생각합니다. 오늘 밤 radioshack에서 Common Anode를 가져옵니다. 나는 5 개의 TLC5940 칩을 가지고 있으며 모두 사용하더라도 상관하지 않습니다. DIP를 사용하는 이유는 브레드 보드 (베이비 단계)를 사용하는 것입니다. 작동하면 표면 실장으로 전환합니다.
atrueresistance

답변:


4

이 질문에서 해결해야 할 두 가지가 있습니다.

  1. TLC5940 연결 및 통신 방법

  2. TLC5940 까지 LED를 연결하는 방법 .

첫 번째 부분에서는 Raspberry Pi P1 헤더의 i2c 핀 (핀 3 (데이터) 및 5 (클럭))에 연결해야합니다. 그런 다음 TLC5940 의 VCC에 핀 1 (3.3V)을 사용할 수 있습니다 . 데이터 시트에 따라 입력시 3V ~ 5.5V를 권장합니다. 또한 P1 (예 : 핀 5)의 접지 핀을 TLC5940 의 GND에 연결 하려고 합니다. 그리고 시프트 레지스터 값을 래치 하기 위해 TLC5940 의 XLAT 신호에 연결하려면 추가 GPIO (예 : 핀 7)가 필요합니다 .

그런 다음 파이는 I2C 통신을 위해 설치해야합니다 가정 raspbian, 제거 i2c-bcm2708에서 /etc/modprobe.d/raspi-blacklist.conf, 그리고로드 i2c-dev당신이 가야 /dev/i2c-0와은 /dev/i2c-1( i2c-1당신이 모델 B 계 2 싸개에 사용할 필요가있을 것이다 것입니다).

마지막으로 i2c 트랜잭션을 사용하여 내부 시프트 레지스터의 값을 설정 한 다음 XLAT에 신호를 보냅니다 (7 번 핀을 사용하는 경우 GPIO 4 임).

나는 또한 GSCLK 핀을 간과했다. 내부 카운터가 실제로 증가하도록 클록 입력을 제공해야하며, 올바르게 구성된 경우 다른 GPIO 라인에서 수행 할 수 있습니다. 또한 3.3V 레일이이 애플리케이션에 충분한 전류를 공급할 것이라고 생각하지 않습니다 ( 최대 50mA ). 5V 레일로 이동하면 ~ 300mA 까지 그릴 수 있지만 i2c (및 GSCLK)에 5V 로직을 사용해야하므로 더 많은 부품이 필요합니다.

두 번째 부분은 내가 잘못 읽지 않는 한 과거 Arduino 프로젝트에서 처리 한 것처럼 들렸습니다.


6

예. PWM 모드에서 GPIO 핀을 사용하여 각 밝기 스케일을 제어합니다. wireing.org.co 의 배선 예입니다 . Gordons Project 의 GPIO 유틸리티 및 가이드 는 다른 곳에서 시작할 수 있습니다.

여기에 이미지 설명을 입력하십시오

편집하다

으로 알렉스 체임벌린은 지적, 하나의 GPIO 핀은 PWM을 지원합니다. 소프트웨어를 사용하여 다른 GPIO 핀에서 PWM을 달성 할 수 있습니다. C & Python에 대한 정보 및 예제 .

Pumpkin Pi 프로젝트는 주황색 만 필요하기 때문에 이것은 과잉 일 수 있습니다. RGB가 비축되어 있고 실험 할 시간이 있다면 RGB에서 단일 LED 색상을 비추고 다른 색상과 혼합하여 3 차 색상을 생성 할 수 있습니다. 빨간색 2 개 부분과 1 개 부분 녹색의 비율은 주황색으로 나타납니다. 빨간색 LED의 절반을 토글하면 주황색 깜박임이 노란색으로 깜박입니다. 그러나 그것은 색 이론입니다 . 나는 시도하지 않았습니다.


1
PWM 출력이 하나도 없습니까?
Alex Chamberlain

좋은 질문. eLinux 는 모든 GPIO 핀이 PWM을 위해 재구성 될 수 있다고 주장한다. 그러나 일반 배선 기능 에는 GPIO-1 (핀 18) 만 PWM을 지원한다고 명시되어 있습니다. 섹션 6.2 BCM2835의 대체 기능 할당 은 모든 PWM 핀을 나열합니다. 그 중 pi의 GPIO에는 단 하나만 있습니다.
emcconville

eLinux 기사는 잘못 작성된 것입니다. 아래에서 약간 더 좋습니다.
Alex Chamberlain

1
GPIO 핀은 실제로 LED를 직접 구동하기에 충분한 전류를 소싱하거나 싱킹 할 수 없음
John La Rooy

1

TLC5940 과 같은 것은 여러 PWM LED를 구동하는 좋은 방법입니다

DIP에서는 사용할 수 없지만 "Programming fun lights" 앱 노트 에서 TCA6507 도 확인하십시오.

편집 : TLC5940의 VPRG 핀을 접지에 연결하는 것이 좋습니다. 이것은 단순히 "도트 보정"을 사용하여 LED의 변화를 보상 할 수 없음을 의미합니다. 많은 LED가 있고 다음 단계의 복잡성으로 가고 싶다면 도트 보정을 사용하여 고르게 켜십시오.

출력 전류를 설정하려면 핀 20의 2k 저항이 필요합니다.

I OUT = 3.96 * R IREF
일반 LED는 일반적으로 20mA이므로 저항에 대해 2k를 제공합니다.


0

이것은 누군가가 ALC와 함께 TLC5940을 사용하는 방법에 대한 정말 유용한 글입니다 : https://sites.google.com/site/artcfox/demystifying-the-tlc5940

TLC5940과 함께 작동하는 코드 작성 방법을 학습하는 과정을 배우는 데 매우 유용합니다.

예제 코드의 첫 번째 버전은 매우 일반적입니다. 모든 #define 문과 하위 수준 함수를 Raspberry Pi에서 작동하는 것으로 변환하려고합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.