Mục lục:

Màn hình hai chữ số sử dụng ma trận Led 8x8 đơn: 3 bước
Màn hình hai chữ số sử dụng ma trận Led 8x8 đơn: 3 bước

Video: Màn hình hai chữ số sử dụng ma trận Led 8x8 đơn: 3 bước

Video: Màn hình hai chữ số sử dụng ma trận Led 8x8 đơn: 3 bước
Video: Lập trình led matrix 8x8 chạy chữ 8051 (FULL Code) 2024, Tháng bảy
Anonim
Màn hình hai chữ số sử dụng ma trận Led 8x8 đơn
Màn hình hai chữ số sử dụng ma trận Led 8x8 đơn

Ở đây tôi muốn xây dựng một chỉ báo nhiệt độ và độ ẩm cho phòng của tôi. Tôi đã sử dụng Ma trận LED 8x8 đơn để hiển thị các số có hai chữ số và tôi nghĩ rằng một phần của dự án đã trở nên hữu ích hơn. Tôi đóng hộp sản phẩm cuối cùng được xây dựng bằng cách sử dụng một hộp các tông, được sơn giống như gỗ.

Quân nhu

  1. Arduino Nano x1
  2. Cảm biến nhiệt độ và độ ẩm DHT11 x1
  3. Ma trận LED 8x8 với MAX7219 x1
  4. 10K điện trở x1
  5. Dây tiêu đề
  6. Nguồn điện 5V x1
  7. Hộp các tông (4x8x13 cm)

Bước 1: Sơ đồ

Sơ đồ
Sơ đồ

Cảm biến nhiệt độ và độ ẩm kỹ thuật số DHT11 cung cấp nhiệt độ từ 0 - 50 ° C và độ ẩm từ 20% đến 90%. Độ chính xác nhiệt độ là ± 2 ° C (tối đa) và độ chính xác độ ẩm là ± 5%.

DHT11 cũng cung cấp các giá trị điểm sương. Điểm sương là nhiệt độ mà không khí phải được làm lạnh để trở nên bão hòa hơi nước. Khi được làm lạnh thêm, hơi nước trong không khí sẽ ngưng tụ lại tạo thành nước lỏng.

Bước 2: Đấu dây & Quyền anh

Dây & Quyền anh
Dây & Quyền anh
Dây & Quyền anh
Dây & Quyền anh
Dây & Quyền anh
Dây & Quyền anh
Dây & Quyền anh
Dây & Quyền anh

Đầu tiên, tôi sơn hộp các tông bằng sơn acrylic và sau khi để khô 1 ngày, tôi hoàn thành bằng keo xịt tóc. Tôi đã tạo một cửa sổ hình vuông cho màn hình LED trên bìa trước. Ngoài ra, tôi đã mở một lỗ hình chữ nhật nhỏ cho bộ cấp nguồn Arduino Nano và đặt một số lỗ gần cảm biến DHT11.

Tôi đã cố định Arduino ở góc của hộp chính bằng cách sử dụng hộp nhỏ và silicon nóng.

Tôi đặt ma trận LED trong cửa sổ bằng cách sử dụng các dải băng trong suốt. Ở đây, điều quan trọng là phải đặt nó với góc quay 90 ° ngược chiều kim đồng hồ vì mã sẽ sử dụng 4 hàng trên cho chữ số hàng chục và 4 hàng dưới cho chữ số đơn vị. Đối với mô-đun tôi đã sử dụng, mặt với MAX7219 phải ở mặt cơ sở.

Bởi vì tôi đã đặt Arduino và cảm biến ở mặt đóng của hộp, tôi không thể đóng hoàn toàn nó ?. Tốt hơn bạn nên chọn phía bên kia:).

Bước 3: Mã

Mã số
Mã số
Mã số
Mã số
Mã số
Mã số

Đầu tiên hãy tải lên thư viện cho DHT11 (https://github.com/adidax/dht11) và ma trận LED (https://github.com/wayoda/LedControl) nếu bạn chưa có.

Mã sử dụng 4 hàng đầu tiên của ma trận LED là hàng chục và 4 hàng cuối cùng làm đơn vị. Vì vậy, ví dụ: nếu bạn kiểm tra mã cho "một", bạn sẽ thấy "11" được xoay 90 ° theo chiều kim đồng hồ. Nếu bạn muốn thay đổi các mã này, vui lòng lưu ý đến chi tiết đó.

byte một = {B00000000, B01000100, B01111100, B01000000, B00000000, B01000100, B01111100, B01000000};

Các mã để nhận các chữ số từ việc đọc cảm biến là:

đơn vị = ẩm% 10; chục = (ẩm / 10)% 10;

Đối với chữ số hàng chục, vòng lặp for chạy như sau:

if (tens == 1) {for (int c = 0; c <4; c ++) {lc.setRow (0, c, one [c]); }

Đối với chữ số hàng đơn vị, vòng lặp for chạy như sau:

if (units == 1) {for (int c = 4; c <8; c ++) {lc.setRow (0, c, one [c]); }

Thứ tự hiển thị lặp lại như sau:

"° C" -> nhiệt độ -> "hum" -> độ ẩm -> "dp" -> điểm sương -> nghĩa của điểm sương (giải thích bên dưới)

Tôi có một số thông tin về cách mọi người cảm nhận thời tiết theo điểm sương và đưa thông tin đó vào mã như sau:

dp <10: khô

9 <dp <15: tốt (g..d)

14 <dp <18: Sweltry (sw)

17 <dp <24: Sweltry plus (sw +)

dp> 23: ướt

Màn hình hiển thị cho những từ này không tốt nhưng vẫn có thể hiểu được đối với một màn hình 8x8 duy nhất

Đề xuất: