Có một số phương pháp có thể được sử dụng để điều khiển số lượng lớn đèn LED từ một vài chân IO.
Đơn giản nhất là ghép kênh hiển thị hàng / cột tiêu chuẩn. Với kỹ thuật này, bạn có thể lái đèn LED với n chân IO. Về mặt toán học, chu trình nhiệm vụ là:( N / 2 )2n
1m i n i m u m ( mẫu hàng duy nhất, mẫu cột duy nhất )
Điều này có nghĩa là kỹ thuật này có chu kỳ nhiệm vụ 100% khi tất cả các đèn LED đều sáng (hoặc tất cả các hàng hoặc tất cả các cột giống hệt nhau) và chu kỳ nhiệm vụ là khi một đường chéo cần được thắp sáng (hoặc tất cả các hàng khác nhau ). Bạn chỉ được đảm bảo chu kỳ nhiệm vụ 100% khi chiếu sáng mỗi đèn LED hoặc một đèn LED (hoặc đèn LED bằng 0, nhưng điều đó không thực sự được tính đến nhiều).1 / n
Hơi phức tạp hơn một chút là Charlieplexing . Với kỹ thuật này, bạn có thể điều khiển đèn LED với n chân IO. Chỉ có n - 1 đèn LED có thể được thắp sáng đồng thời với kỹ thuật này. Về mặt toán học, chu trình nhiệm vụ là:n2- nnn - 1
1bộ đồng thời tối thiểu
trong đó một bộ đồng thời là một nhóm đèn LED duy nhất có cực dương chung hoặc cực âm chung. (Điều này chưa được chứng minh, đó chỉ là những gì tôi đạt được sau khi suy nghĩ vấn đề trong một phút. Nếu chu kỳ nhiệm vụ là quan trọng đối với bạn, bạn sẽ muốn xem xét thêm về vấn đề này.) Đây là một phép tính phức tạp hơn nhiều về mặt trí tuệ và tính toán hơn so với tính toán tương đương cho ghép kênh tiêu chuẩn. Thực tế, bạn có được chu kỳ hoạt động là khi tất cả các đèn LED đều sáng nhưng một số (chỉ một số) mẫu đèn LED n-1 trở xuống có thể có chu kỳ hoạt động 100%. Bạn chỉ được đảm bảo chu kỳ làm việc 100% khi chiếu sáng 1 đèn LED.1 / n
Phương pháp cuối cùng tôi sẽ đề cập là sử dụng thanh ghi thay đổi hoặc mở rộng IO. Với hai chân (Giao diện dữ liệu / đồng hồ thô, I2C hoặc SPI đơn hướng), bạn có thể điều khiển một số lượng lớn đèn LED tùy ý. Chu kỳ nhiệm vụ cho bất kỳ mẫu nào là 100%, nhưng tốc độ cập nhật tỷ lệ nghịch với số lượng đèn LED. Đây là phương pháp tốn kém nhất. Đối với 15 đèn LED, có thể sẽ rẻ hơn nếu chỉ nâng cấp lên một micro có nhiều chân IO.