Arduino: điều khiển nhiều LED dùng IC 74HC595

Giới thiệu

Với số lượng chân ra vi điều khiển ít, VD muốn điều khiển 16 led ta có thể dung 8 chân VĐK, bằng cách quét hàng quét cột ta có thể truy cập tới từng vị trí con led cần điều khiển, tương tự với 64 led thì cần với 16 chân VĐK. Vd với việc chân VĐK chỉ có tối đa 16 chân đi, việc điều khiển với số lượng led lớn hơn 64 thì không thể thực hiện bằng cách quét hàng, cột được. Vậy thì ta làm thế nào?
Câu trả lời là ta chỉ cần 3 chân Digital bạn có thể điều khiển được rất nhiều led thông qua IC 74GC595.

IC 74HC595

PINS 1-7, 15 Q0 đến Q7 các chân xuất tín hiệu, giống như các chân Digital được cài đặt là OUTPUT
PIN 8 GND Ground, Cực âm
PIN 9 Q7″ Chân xuất ra tín hiệu Serial
PIN 10 MR Master Reclear, nối cực dương để bật IC hoạt động
PIN 11 SH_CP Shift register clock pin
PIN 12 ST_CP Storage register clock pin (latch pin)
PIN 13 OE Output enable, nối cực âm để các đèn LED có thể sáng được
PIN 14 DS Serial data input
PIN 16 Vcc Cấp nguồn cho IC và LED.

Sơ đồ đấu dây

Dùng 1 IC 74HC595


Hình mô phỏng Proteus

Hình thưc tế

Dùng 3 IC 74HC595


Điều khiển 3 IC tướng ứng 24 led

Vậy cách hoạt động của IC này như thế nào?

  • IC74HC595 sẽ nhận lệnh ShiftOut của Arduino và một lần nhận của ic đúng 1byte(8 bit, vd : 0b10101010). 1 byte tương ứng quản lí được 8 led.
  • Nếu sử dụng >=2 IC thì việc nhận sẽ diễn ra theo thứ tự là việc truyền tín hiệu sẽ qua nhanh IC 1, xong sẽ qua IC 2, tiếp tới IC cuối cùng, tín hiệu truyền liên tục liên tục, ghi đè lên.
  • Pin 14 là chân chứa dữ liệu từ vđk chuyển qua. Pin 11 để chuyển dữ liệu từ Pin 14 đến thanh ghi dịch. Pin 12 là để chốt dữ liệu trên thanh ghi dịch, phải có Pin này dữ liệu mới dịch được ra ngoài.

Code mẫu

Khi dùng 1 IC 74HC595

  • Chân datapin là chân truyền dữ liệu.
  • Clockpin chân tạo xung nhịp.
  • Chân latchpin là chân chốt dữ liệu, khi chuyển từ trạng thái Low sang High,.
  • Ob00000001 : đây là dữ liệu cần truyền, đúng 1 byte, tướng ứng 0 là tắt, 1 sáng.
  • MSBFIRST (LSBFIRST): với MSBFIRST(hướng phải) thì led ở chân Q0 sẽ sáng, ngược lại với LSBFIRST(hướng trái) thì led Q7 sẽ sáng. Giống như đảo vị trí Q0-Q7, hay Q7-Q0.

Khi dùng 3 IC 74HC595

Cũng giống như trên nhưng dữ liệu đầu tiên vào sẽ đi xuống dưới nằm dưới cùng, VD có 2 dữ liệu, trên code là A B, khi hiển thị A sẽ được truyền trước, và tiếp đó là B
Pin 9 là được nối qua chân data, dữ liệu truyền được lấy từ thanh ghi dịch.

Trả lời