Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
Hôm nay tôi xin trình bày một dự án mà tôi đã thực hiện trong hai phiên bản. Dự án sử dụng 12 thanh ghi dịch chuyển 74HC595 và 96 đèn LED, bo mạch Arduino Uno với tấm chắn Ethernet Wiznet W5100. 8 đèn LED được kết nối với mỗi thanh ghi ca. Các số 0-9 được biểu thị bằng đèn LED. Mỗi thanh ghi ca được trang bị 8 thiết bị đầu cuối đầu ra.
Mỗi thanh ghi trong số 4 thanh ghi dịch chuyển 74HC595 tạo thành một đơn vị logic - một màn hình để liệt kê một số có 4 chữ số. Tổng cộng, có 3 hiển thị logic trong dự án bao gồm 12 thanh ghi dịch chuyển.
Việc triển khai tương thích với các bo mạch Arduino Nano, Mega, Uno và các tấm chắn và mô-đun Ethernet từ họ Wiznet, cụ thể là các kiểu W5100 và W5500 (sử dụng thư viện Ethernet2).
Quân nhu
- Arduino Uno / Nano
- Ethernet Wiznet W5100 / W5500
- 4 đến 12 thanh ghi ca 74HC595
- 32 đến 96 điốt LED
Bước 1: Triển khai đã triển khai trong dự án Với Arduino:
- Máy chủ web - Máy chủ HTTP chạy trực tiếp trên Arduino, cho phép diễn giải mã HTML
- WebClient - Ứng dụng khách có khả năng thực hiện một yêu cầu HTTP đến một máy chủ từ xa, gửi / tải xuống dữ liệu
Máy chủ web:
- Cung cấp một trang web HTML với một biểu mẫu cho phép bạn nhập 3 số có bốn chữ số.
- Sau khi gửi biểu mẫu, dữ liệu được xử lý và lưu trữ trong bộ nhớ EEPROM, người dùng được thông báo về quá trình xử lý dữ liệu bởi một trang con riêng biệt.
- Sau khi lưu dữ liệu, người dùng được chuyển hướng trở lại biểu mẫu.
- Bộ nhớ EEPROM không phụ thuộc vào năng lượng, dữ liệu có thể truy cập được ngay cả sau khi khôi phục nguồn, nhưng cũng có thể khởi động lại bảng.
- Tất cả các số sau đó được biểu diễn trên ba màn hình bao gồm 12 thanh ghi dịch chuyển 74HC595.
WebClient:
- Giao tiếp với máy chủ web diễn ra sau mỗi 5 giây sau giao thức
- Máy chủ web chạy một ứng dụng web PHP cho phép bạn nhập 3 số có bốn chữ số thông qua biểu mẫu HTML.
- Dữ liệu từ biểu mẫu được lưu trữ trong cơ sở dữ liệu MySQL.
- Arduino yêu cầu lấy dữ liệu từ cơ sở dữ liệu này thông qua một truy vấn đến máy chủ.
- Dữ liệu đã xử lý được phân tích cú pháp bởi Arduino, sau đó được vẽ bằng thanh ghi dịch chuyển 74HC595.
- Dữ liệu cũng được lưu trữ trong bộ nhớ EEPROM của Arduino, chúng được sử dụng trong trường hợp kết nối với máy chủ web không thành công / khi bảng Arduino được khởi động lại, chúng được sử dụng để hiển thị dữ liệu ban đầu trên các thanh ghi dịch chuyển.
- Dữ liệu chỉ được ghi đè trong EEPROM khi dữ liệu thay đổi, các ô EEPROM được lưu khỏi việc ghi đè không cần thiết.
Bước 2: Nối dây và chụp màn hình
Kết nối phân tầng cho thanh ghi dịch chuyển 74HC595 (có thể mở rộng thêm x) - Xuất từ TinkerCAD. Screenshot ở đó từ giao diện máy chủ web, khi nó lấy dữ liệu qua biểu mẫu HTML, hãy xử lý chúng và lưu chúng vào bộ nhớ EEPROM.
Bước 3: 74HC595 + Mã nguồn
Rõ ràng là từ sơ đồ chỉ có 3 dây dữ liệu được sử dụng để điều khiển các thanh ghi dịch chuyển:
- Đầu ra dữ liệu - (SER đến 74HC595)
- Đầu ra đồng hồ - (SRCLK trên 74HC595)
- Latch Outlet - (RCLK đến 74HC595)
Các thanh ghi dịch chuyển có thể được kết hợp trong một tầng, trong khi các thiết bị ngoại vi khác cũng có thể được điều khiển bởi các thanh ghi dịch chuyển - ví dụ, các rơle để chuyển đổi các phần tử công suất. Cũng có thể điều khiển 500 rơle riêng biệt (với đủ số lượng thanh ghi dịch chuyển và nguồn cung cấp) với một đầu ra dữ liệu.
Khi điều khiển đầu ra của các thanh ghi, cũng có thể sửa đổi thứ tự byte thành bit quan trọng nhất - MSB FIRST, hoặc LSB - bit ít quan trọng nhất. Kết quả là, nó đảo ngược kết quả đầu ra. Trong một trường hợp, ví dụ, 7 điốt được sáng, trong trường hợp còn lại 1 điốt tùy thuộc vào đầu vào và thứ tự byte.
Cả hai cách triển khai đều sử dụng bộ nhớ EEPROM, có thể lưu trữ dữ liệu ngay cả sau khi mất điện hoặc sau khi khởi động lại bo mạch. Công dụng thứ hai của bộ nhớ này còn là khả năng biểu diễn dữ liệu cuối cùng đã biết trong trường hợp không thể giao tiếp với máy chủ web (lỗi kết nối, máy chủ).
Bộ nhớ được giới hạn từ 10, 000 đến 100, 000 bản ghi. Việc triển khai được thiết kế để tải bộ nhớ ít nhất có thể. Dữ liệu sẽ không bị ghi đè khi chúng được thay đổi. Nếu cùng một dữ liệu được đọc từ máy chủ / máy khách web, chúng sẽ không bị ghi đè trong bộ nhớ EEPROM.
Có thể dùng thử phần mềm triển khai (phía Arduino) cho WebClient miễn phí tại:
Arduino giao tiếp với giao diện web trong đó có thể sửa đổi 3 số có 4 chữ số:
Yêu cầu mã cho Arduino làm máy chủ web tại: [email protected] để được hướng dẫn thêm:
Đề xuất:
Điều khiển hiển thị bảy đoạn bằng thanh ghi dịch chuyển Arduino và 74HC595: 6 bước
Điều khiển hiển thị bảy đoạn bằng Arduino và 74HC595 Shift Register: Này, có chuyện gì vậy, các bạn! Akarsh ở đây từ CETech. Màn hình Seven Segment rất dễ nhìn và luôn là một công cụ tiện dụng để hiển thị dữ liệu dưới dạng chữ số nhưng có một nhược điểm trong đó là khi chúng ta điều khiển màn hình Seven Segment Display trong thực tế
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: 5 bước
Ô tô được điều khiển từ xa - Được điều khiển bằng Bộ điều khiển Xbox 360 không dây: Đây là các hướng dẫn để tạo ô tô được điều khiển từ xa của riêng bạn, được điều khiển bằng bộ điều khiển Xbox 360 không dây
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Sử dụng 2 thanh ghi Shift (74HC595) để điều khiển 16 đèn LED: 9 bước
Sử dụng 2 thanh ghi Shift (74HC595) để dẫn động 16 đèn LED: Mạch này sẽ sử dụng 2 thanh ghi dịch chuyển (74HC595). Mỗi thanh ghi shift sẽ điều khiển 8 đèn LED. Các thanh ghi shift được nối dây để mỗi đầu ra của thanh ghi shift sẽ giống như bản sao của thanh ghi khác
Tiêm chủng hay không? Dự án Quan sát khả năng miễn dịch của đàn gia súc thông qua mô phỏng dịch bệnh: 15 bước
Tiêm chủng hay không? Dự án Quan sát khả năng miễn dịch của đàn thông qua mô phỏng dịch bệnh: Tổng quan về dự án: Dự án của chúng tôi khám phá khả năng miễn dịch của đàn và hy vọng khuyến khích mọi người tiêm phòng để giảm tỷ lệ nhiễm bệnh trong cộng đồng của chúng tôi. Chương trình của chúng tôi mô phỏng cách một căn bệnh lây nhiễm sang một quần thể với các tỷ lệ tiêm chủng khác nhau