Trong ARDUINO, chúng ta có 20 chân I / O, vì vậy chúng ta có thể lập trình 20 chân UNO được sử dụng làm đầu vào hoặc đầu ra. Mặc dù có nhiều chân trên bộ điều khiển ATMEGA328P hơn trên UNO, điều này là do trong khi thiết kế bo mạch, một số chân đã được mặc định.
Bây giờ đối với một số ứng dụng, chúng ta cần nhiều hơn 30 chân cắm, giả sử nếu chúng ta muốn thiết kế một CUBE LED 5x5x5, vì vậy đối với điều này, chúng ta cần 5x5 + 5 = 30 chân. Đối với những trường hợp như vậy, chúng tôi sử dụng chip chuyển đổi nối tiếp sang song song hoặc thanh ghi dịch chuyển. Một chip thanh ghi dịch chuyển sẽ lấy dữ liệu từ bảng UNO nối tiếp và đưa ra đầu ra ở cấu hình song song 8 bit.
Thành phần bắt buộc
Phần cứng: Bo mạch Arduino una, chân kết nối, điện trở 220Ω, đèn LED (tám miếng), IC 74HC595, bảng mạch bánh mì.
Phần mềm phần mềm: Arduino hàng đêm
Sơ đồ mạch và giải thích hoạt động
Ở đây, chúng tôi sẽ gửi dữ liệu ở kích thước tám bit thông qua một kênh duy nhất để thay đổi thanh ghi. Thanh ghi shift lấy dữ liệu theo thứ tự và lưu dữ liệu đó vào bộ nhớ của nó. Khi dữ liệu được gửi bởi bộ điều khiển, chúng tôi sẽ gửi một lệnh đến thanh ghi shift để hiển thị dữ liệu ở đầu ra, với lệnh này, thanh ghi shift sẽ đưa ra dữ liệu song song.
Đầu ra này được hiển thị bằng tám đèn LED được kết nối ở đầu ra.
Để kết nối thanh ghi shift với Arduino UNO, chúng ta cần thực hiện hai việc:
|
Đầu tiên, chúng ta cần đặt bất kỳ ba chân nào của UNO làm đầu ra. Sau đó, chúng ta cần kết nối chân kỹ thuật số, chân đồng hồ và chân chốt với ba chân đầu ra này. Sau đó, chúng ta cần cho UNO biết chân nào của chip được kết nối với các chân của bảng UNO. Điều này được thực hiện bằng cách viết đơn giản trong lệnh “
shiftOut(dataPin, clockPin, data);
”. Dữ liệu ở đây có thể ở dạng nhị phân hoặc thập phân hoặc thập lục phân. Thông tin tám bit cần được gửi đi được viết thay cho “dữ liệu”.
Dữ liệu được gửi được thực hiện như sau:
Tắt chốt, điều này cho biết chip không hiển thị đầu ra ngay bây giờ.
Trong tám lần, chúng tôi sẽ gửi dữ liệu với đồng hồ tuần tự, vì vậy đồng hồ dữ liệu cao thấp-đồng hồ thấp- v.v.
Kích hoạt chốt, điều này yêu cầu chip hiển thị dữ liệu tám bit.
Hoạt động của ARDUINO với SHIFT REGISTER được giải thích từng bước trong mã C đưa ra dưới đây: