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

1 giới thiệu Mạch đếm thành phầm dùng cảm biến hồng ngoại2 Mạch đếm thành phầm dùng cảm ứng hồng ngoại nhị chiều3 giải thích về Demo cỗ đếm hai chiều3.2 Các tính năng được giải thích3.3 Code chính

Giới Thiệu Mạch đếm sản phẩm dùng cảm biến hồng ngoại

*
*
*
*
*
Sơ thứ được áp dụng trong bản trình diễn bộ đếm đối tượng

Để điều khiển LED 7 đoạn, chúng ta cần gồm 7 PIN đầu ra kỹ thuật số như trong Hình 4. Ta cũng cần phải đọ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 thu phát hồng ngoại

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

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

Chúng ta được xác định các chân kỹ thuật số (từ D2 đến D8) nhưng sẽ áp dụng để tinh chỉnh led là DISP_PIN_x (x từ 0 cho 6). Hai chân đầu ra của cảm biến IR (D9 và D10) đã được khẳng định là IR1 và IR2.

Xem thêm: Trị Ho Cho Bé Bằng Mật Ong, Cách Trị Ho Cho Trẻ Bằng Mật Ong Dễ Làm Nhất


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

Trong khi những hàng biểu lộ chữ số, các cột biểu lộ từng đoạn (LED) của màn hình. Ví dụ, để hiển thị số 0, tất cả các đoạn quanh đó G cần được đặt là CAO (xem Hình 2). Phần tử đầu tiên của mảng lưu lại trữ cấu hình theo yêu mong của từng DISP_PIN nhằm hiển thị 0. Bởi vậy, chúng ta có thể sử dụng mảng displaySEG <0> vào một vòng lặp để đặt từng DISP_PIN theo quý hiếm đặt trước của bọn họ và rước 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 các biến bổ sung cập nhật là trạng thái của cảm biến IR được đặt tên là IRx_out (với x 1 hoặc 2), một đổi mới để lưu trữ giá trị đếm với một trở thành chung được sử dụng trong các vòng lặp.