Mạch đếm sản phẩm dùng led hồng ngoại

     
1 ra mắt Mạch đếm sản phẩm dùng cảm ứng hồng ngoại2 Mạch đếm thành phầm dùng cảm biến hồng ngoại nhị chiều3 giải thích về Demo bộ đếm nhì chiều3.2 Các công dụng được giải thích3.3 Code chính

Giới Thiệu Mạch đếm thành phầm dùng cảm ứng hồng ngoại

*
*
*
*
*
Sơ đồ được thực hiện trong bạn dạng trình diễn cỗ đếm đối tượng

Để tinh chỉnh LED 7 đoạn, họ cần bao gồm 7 PIN cổng output kỹ thuật số như vào Hình 4. Ta cũng cần đọc tin tức từ hai cảm biến IR . Điều này yêu cầu áp dụng 9 chân chuyên môn số.

Bạn đang xem: Mạch đếm sản phẩm dùng led hồng ngoại

Trong ngôi trường hợp, ta đã sử dụng chân từ D2 đến D10 của Arduino. Để làm ví dụ hơn, shop chúng tôi đã khẳng định số PIN để gán thương hiệu riêng đến chúng. Lưu ý rằng, những tham số không thay đổi tại thời hạn chạy và do đó, được khẳng định tại thời gian biên dịch, chúng tôi đang sử dụng các chỉ thị chi phí xử lý.

Sử dụng lệnh “define”, họ không chỉ sút chiếm dụng bộ nhớ mà còn tối ưu hóa việc thực thi chương trình.

Chúng ta được xác định các chân hiện đại số (từ D2 mang đến D8) nhưng sẽ áp dụng để tinh chỉnh và điều khiển led là DISP_PIN_x (x từ 0 đến 6). Nhị chân áp ra output của cảm biến IR (D9 với D10) sẽ được xác minh là IR1 với IR2.

Xem thêm: 7 Khu Chợ Sinh Viên Ở Tphcm, 5 Khu Chợ Dành Cho Sinh Viên Giá Rẻ Nhất Tại Tp


/*===========================================================================*//* PIN-map. *//*===========================================================================*/#define DISP_PIN_0 2 /* digital pin input đầu vào for segment A */#define DISP_PIN_1 3 /* digital pin input đầu vào for segment B */#define DISP_PIN_2 4 /* digital pin đầu vào for segment C */#define DISP_PIN_3 5 /* digital pin đầu vào for segment D */#define DISP_PIN_4 6 /* digital pin đầu vào for segment E */#define DISP_PIN_5 7 /* digital pin input for segment F */#define DISP_PIN_6 8 /* digital pin input for segment G */#define IR1 9 /* digital pin input for ir sensor */#define IR2 10 /* digital pin input for ir sensor */
Có một số giá trị không biến đổi được khai báo vào code của chúng tôi, cho dù sao để dễ dàng sử dụng, shop chúng tôi ưu tiên lưu giữ trữ chúng vào một mảng bidimensional được call là displaySEG là 1 Lookup table: nói cách khác, nó là một trong những tập hợp các mã PIN để trước quan trọng để hiển thị một chữ số nhất mực trên screen hiển thị.

Trong khi các hàng biểu lộ chữ số, các cột bộc lộ từng đoạn (LED) của màn hình. Ví dụ, nhằm hiển thị số 0, toàn bộ các đoạn ngoại trừ G buộc phải được đặt là CAO (xem Hình 2). Phần tử đầu tiên của mảng giữ trữ thông số kỹ thuật theo yêu cầu của từng DISP_PIN để hiển thị 0. Vì chưng vậy, chúng ta có thể sử dụng mảng displaySEG <0> vào một vòng lặp để tại vị từng DISP_PIN theo quý giá đặt trước của họ và mang số 0 của chúng ta.

/*===========================================================================*//* Lookup table. *//*===========================================================================*/const byte displaySEG = /* A B C D E F G */ HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW , /* 0 */ LOW, HIGH, HIGH, LOW, LOW, LOW, LOW , /* 1 */ HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH , /* 2 */ HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH , /* 3 */ LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH , /* 4 */ HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH , /* 5 */ HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH , /* 6 */ HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW , /* 7 */ HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH , /* 8 */ HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH , /* 9 */;Chúng ta cần những biến bổ sung cập nhật là trạng thái của cảm ứng IR được lấy tên là IRx_out (với x 1 hoặc 2), một đổi thay để tàng trữ giá trị đếm cùng một phát triển thành chung được sử dụng trong các vòng lặp.