Dây LED RGB


13

Tôi đã tự hỏi nếu có thể kết nối 8 led RGB riêng lẻ giống như dải adafbean . Tôi đã xem dự án Pumpkin Pi và muốn xây dựng một dự án. Tôi không có đèn LED màu vàng hoặc đỏ, nhưng có một kho dự trữ nhỏ của RGB.

Tôi biết cho Arduino Tôi sẽ sử dụng 270ohm điện trở để cathodes RGB và kiểm soát mỗi sáng bằng thang điểm 0đến 255.

Có cách nào để làm điều này trên Raspberry Pi không?


Cập nhật


Vì vậy, tôi đã xem xét điều này nhiều hơn một chút. Tôi lấy ý tưởng của các bạn về việc sử dụng TLC5940Trình điều khiển LED.

Vì vậy, bây giờ tôi đang yêu cầu một số trợ giúp một lần nữa. Tôi đã tìm ra 1 câu hỏi dài mà cuối cùng giải quyết được điều này là tốt hơn sau đó một bó rải rác khắp stackexchange. Bây giờ đến phần dây. Tôi đang sử dụng một hướng dẫn đấu dây arduino như một khởi đầu kể từ khi tôi đi qua đầu tôi. Tôi cũng đang đề cập đến bảng dữ liệu . Theo sơ đồ pin 27 or VPRGlàm tôi bối rối. Sơ đồ Arduino có căn cứ để tôi tiếp đất. . . Làm thế nào để tôi kết nối chính xác với pi? Tôi cũng đoán tôi cũng cần điện trở ...

Tôi xin lỗi nếu điều này nghe có vẻ thực sự ngu ngốc, nhưng tôi là người mới bắt đầu thực sự ở công cụ này. Bạn phải học bò trước khi biết đi.

Tôi cần làm gì để sửa sơ đồ nối dây này ( fritzing )?

Các tập tin fzz dây có thể được tải xuống từ google ở đây . TLC5940

nhập mô tả hình ảnh ở đây


Cập nhật 2 - sau khi bình luận


Có tính đến một số câu trả lời và ý kiến ​​đây sẽ là sơ đồ nối dây? 330ohm đến cực dương. 2k ohm để ghim 20. Làm thế nào để đầu vào có được từ pi đến chip? nhập mô tả hình ảnh ở đây


Ooohhh bí ngô pi =: 0
Piotr Kula

Bạn sẽ làm rõ một vài điều? Bạn có muốn lái tất cả các đèn LED màu đỏ, xanh lục và xanh lam của 8 đèn LED RGB (sẽ có 24 đầu ra, nhiều hơn 8 so với 16 do TLC5940 cung cấp). Bạn đang sử dụng đèn LED RGB nào? Chúng ta cần biết chúng là cực dương chung hay cực âm thông thường (hệ thống dây điện của bạn trông giống như cực âm thông thường, không hoạt động với TLC5940, chỉ có thể chìm dòng điện. Cực âm thông thường sẽ cần một chip khác). Ngoài ra màu xanh có thể không bật khi sử dụng 3.3V, vì vậy sẽ cần 5V. Phải thông qua các thiết bị điện tử lỗ (ví dụ: DIP), và không gắn trên bề mặt. Bạn có quan tâm nếu nó sử dụng 3 chip thay vì một?
xe cứu thương

@gbulmer Xin lỗi về điều đó. Tôi không có gói đèn LED đi vào, nhưng nghĩ rằng bạn đã đúng trên Cathode chung vì để chiếu sáng chúng trong arduino tôi đã viết CAO. Tôi sẽ lấy một số Anode chung từ radioshack tối nay. Tôi có 5 chip TLC5940 và không quan tâm nếu tôi sử dụng tất cả. Lý do tại sao tôi đi với DIP là sử dụng bảng mạch bánh mì (các bước bé). Sau khi tôi làm việc, tôi sẽ chuyển sang gắn bề mặt.
atrueresistance

Câu trả lời:


4

Tôi thấy hai điều cần được giải quyết trong câu hỏi này:

  1. Cách kết nối và giao tiếp với TLC5940

  2. Cách kết nối đèn LED lên đến TLC5940 .

Đối với phần đầu tiên, bạn sẽ cần kết nối nó với các chân i2c của tiêu đề P1 của Raspberry Pi (là các chân 3 (dữ liệu) và 5 (đồng hồ)). Sau đó, bạn có thể sử dụng chân 1 (3,3 V) cho VCC của TLC5940 . Nó khuyến nghị từ 3 V đến 5,5 V cho đầu vào theo biểu dữ liệu. Bạn cũng sẽ muốn kết nối một pin mặt đất từ ​​P1 (ví dụ: chân 5) với GND của TLC5940 . Và bạn sẽ cần một GPIO bổ sung (ví dụ chân 7) để kết nối với tín hiệu XLAT của TLC5940 để chốt giá trị của thanh ghi thay đổi.

Sau đó, bạn sẽ cần phải thiết lập Pi để giao tiếp I2C: giả sử raspbian, loại bỏ i2c-bcm2708từ /etc/modprobe.d/raspi-blacklist.conf, tải nó và i2c-devvà bạn sẽ nhận được /dev/i2c-0/dev/i2c-1( i2c-1là những gì bạn sẽ cần phải sử dụng cho Model B Rev. 2 Pis).

Cuối cùng, bạn sẽ cần sử dụng giao dịch i2c để đặt giá trị của thanh ghi dịch chuyển nội bộ, sau đó báo hiệu XLAT (nếu sử dụng chân 7, đó là GPIO 4).

Tôi cũng bỏ qua pin GSCLK. Bạn sẽ cần cung cấp đầu vào đồng hồ để bộ đếm bên trong thực sự tăng, có thể được thực hiện từ một dòng GPIO khác nếu nó được cấu hình đúng. Tôi cũng không nghĩ đường ray 3,3 V sẽ cung cấp đủ dòng cho ứng dụng này ( tối đa 50 mA ). Nếu bạn di chuyển đến đường ray 5 V, bạn có thể vẽ tới ~ 300 mA , nhưng nên sử dụng logic 5 V cho i2c sau đó (và GSCLK), yêu cầu nhiều thành phần hơn.

Đối với phần thứ hai, có vẻ như bạn đã xử lý từ một số dự án Arduino trước đây, trừ khi tôi đọc sai?


6

Đúng. Bạn sẽ sử dụng các chân GPIO trong chế độ PWM để điều khiển từng thang độ sáng. Một ví dụ về hệ thống dây điện từ hệ thống dây điện.org . Tiện ích & hướng dẫn GPIO từ Dự án Gordons là một nơi khác để bắt đầu

nhập mô tả hình ảnh ở đây

Biên tập

Như Alex Chamberlain đã chỉ ra, chỉ có một chân GPIO hỗ trợ PWM. Bạn có thể sử dụng phần mềm để đạt được PWM trên các chân GPIO khác. Thông tin & ví dụ cho C & Python .

Điều này có thể là quá mức cần thiết, vì dự án Pumpkin Pi chỉ yêu cầu ánh sáng màu cam. Nếu bạn có một kho dự trữ RGB và thời gian để thử nghiệm, bạn có thể chiếu sáng một màu LED duy nhất trên RGB và trộn chúng với các màu khác để tạo ra màu thứ ba. Một tỷ lệ 2 phần màu đỏ và màu xanh lá cây 1 phần sẽ xuất hiện dưới dạng màu cam. Chuyển đổi một nửa các đèn LED màu đỏ sẽ tạo ra ảo ảnh của màu cam nhấp nháy sang màu vàng. Nhưng đó là một lý thuyết màu sắc ; trong đó, tôi đã không thử.


1
Không phải chỉ có một đầu ra PWM sao?
Alex Chamberlain

Câu hỏi hay. eLinux tuyên bố rằng tất cả các chân GPIO có thể được cấu hình lại cho PWM; tuy nhiên, Chức năng nối dây chung chỉ nêu GPIO-1 (chân 18) hỗ trợ PWM. Mục 6.2 Các chức năng thay thế của BCM2835 liệt kê tất cả các chân PWM; trong đó, chỉ có một người có mặt trên GPIO của pi.
emcconville

Bài viết eLinux chỉ được viết xấu; bên dưới tốt hơn một chút.
Alex Chamberlain

1
Các chân GPIO thực sự không thể nguồn hoặc chìm đủ dòng để điều khiển đèn LED trực tiếp
John La Rooy

1

Một cái gì đó giống như TLC5940 là một cách tốt để lái nhiều LEDS của PWM

Ngoài ra, hãy kiểm tra TCA6507 trong phần phụ lục "Lập trình đèn vui vẻ" , mặc dù nó không có sẵn trong DIP

Chỉnh sửa: Sẽ ổn khi giữ chân VPRG trên TLC5940 được kết nối với mặt đất. Điều này chỉ có nghĩa là bạn không thể sử dụng "hiệu chỉnh điểm" để bù cho các biến thể trong đèn LED của mình. Nếu bạn có một loạt các đèn LED và bạn muốn đi đến mức độ phức tạp tiếp theo, bạn có thể sử dụng hiệu chỉnh điểm để làm cho chúng sáng lên đều.

Cần có điện trở 2k trên chân 20 để đặt dòng điện đầu ra.

TÔI RA = 3,96 * R IREF
Đèn LED thông thường thường là 20mA, do đó công thức mang lại 2k cho điện trở


0

Đây là một bài viết thực sự hữu ích mà ai đó đã làm về cách sử dụng TLC5940 với một AVR: https://sites.google.com/site/artcfox/demystifying-the-tlc5940

Nó khá hữu ích cho việc tìm hiểu về quá trình học cách viết mã hoạt động với TLC5940.

Phiên bản đầu tiên của mã ví dụ khá chung chung. Tôi đang làm việc để chuyển đổi tất cả các câu lệnh #define và các hàm mức thấp thành thứ gì đó sẽ hoạt động trên Raspberry Pi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.