Ngày nay với sự phát triển mạnh mẽ của thế giới về mọi mặt, trong đó khoa học công nghệ nói chung và ngành công nghệ kỹ thuật Điện Tử, Cơ Điện Tử nói riêng có nhiều phát triển vượt bậc, góp phần làm cho thế giới ngày càng hiện đại và văn minh hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị có các đặc điểm với sự chính xác cao, tốc độ nhanh, gọn nhẹ linh hoạt và hoạt động ổn định . Đó là những yếu tố cần thiết làm cho năng suất, hiệu quả trong công việc được tăng cao, hoạt động của con người được giảm bớt. Xuất phát từ thực tế, nên em chọn đề tài “Thiết kế mạch đếm 8 sản phẩm (sử dụng JK_FF), hiển thị trạng thái đếm trên LED 7 thanh” được sử dụng đếm sản phẩm. 1.2 Mục đích yêu cầu Mục đích của mạch đếm sản phẩm là giúp cho nhà máy đếm được số lượng sản phẩm của máy tao ra một cách đơn giản,chính xác mà không cần tốn sức của công nhân. Yêu cầu của mạch đếm sản phẩm là chạy một cách chính xác, ổn định,gọn nhẹ,dễ lắp đặt,dễ sữa và rẽ tiền. 1.3 Phương pháp nghiên cứu Trên phương pháp nghiên cứu và phân tích các chức năng của linh kiện, vi mạch và áp dụng các kiến thức cùng với sự chỉ đạo của phụ trách giáo dục để xây dựng nên một mạch có chức năng hoạt động đếm số lượng và đúng với tài nguyên yêu cầu.
Tổng quan về hệ thống
Giới thiệu chung
Ngày nay, cùng với sự phát triển của các nghành công nghiệp đã đặt ra yêu cầu đưa các công nghệ mới vào dây truyền sản xuất để nâng cao năng suất, tạo ra nhiều sản phẩm hơn, dần dần thay thế sức lao động con người trong dây truyền sản xuất, tạo ra nhiều sản phẩm, hạ giá thành, tăng sức canh tranh cho sản phẩm Một trong những ứng dụng rộng rãi của công nghệ vào trong sản xuất ta có thể kể tới đó chính là: “Cảm biến đo khoảng cách và cảnh báo an toàn" Cảm biến được ứng dụng rộng rãi trong các nghành công nghiệp sản xuất sản phẩm tiêu dùng, công nghiệp thực phẩm, các nghành sản xuất xe hơi Cảm biến an toàn là một phần gần như không thể thiếu, chúng đi cùng và phát triển đồng thời với các nghành công nghiệp
Hình 1.1 Một số loại cảm biến thông dụng trong công nghiệp
Trải qua nhiều giai đoạn phát triển, cảm biến khoảng cách đã được ứng dụng rộng rãi trong sản xuất công nghiệp Từ thủ công, bán tự động đến tự động hoàn toàn, cảm biến khoảng cách đảm bảo độ chính xác trong lắp ráp, đo lường và kiểm tra chất lượng sản phẩm, đồng thời tăng cường an toàn cho người lao động Đặc biệt, cảm biến khoảng cách đóng vai trò quan trọng trong tự động hóa quy trình sản xuất, giúp doanh nghiệp nâng cao năng suất và hiệu quả.
Cảm biến khoảng cách không chỉ phát triển mạnh trong công nghiệp mà nó còn được sử dụng rất nhiều trong nghành công nghệ ô tô Trong đó, nó được ứng dụng các hệ thống như hỗ trợ đỗ xe tự động, kiểm soát hành trình chủ động, cảnh báo va chạm
Cảm biến an toàn là một thiết bị điện tử có thể phát hiện và đo lường các nguy hiểm tiềm ẩn trong quá trình di chuyển và tham gia giao thông Cảm biến an toàn đóng vai trò rất quan trọng trong việc đảm bảo an toàn cho người lái xe và những người xung quanh
Với mong muốn tạo ra một hệ thống đảm bảo được sự an toàn cho mọi người khi tham gia giao thông Chúng em, những sinh viên năm ba, đã thực hiện đề tài Cảm biến đo khoảng cách và cảnh báo an toàn
Với môi trường giao thông thực tế với số lượng vật cản lớn cùng rất nhiều nguy hiểm tiềm ẩn, chúng em muốn nghiên cứu một hệ thống cảnh báo an toàn Nhằm giúp đạt được độ chính xác cao và đảm bảo an toàn cho người tham gia giao thông, chúng em sẽ sử dụng cảm biến để phát hiện, đo khoảng cách và cảnh báo an toàn
Hình 1.2 Cảm biến sử dụng sóng radar để cảnh báo vật cản xung quanh
Mục đích và nhiệm vụ nghiên cứu
Mục đích của cảm biến an toàn là để ngăn ngừa tai nạn và thương tích Cảm biến an toàn có thể giúp tăng cường an toàn bằng cách:
- Phát hiện các tình huống nguy hiểm: Cảm biến an toàn có thể phát hiện các tình huống nguy hiểm mà con người có thể không nhận thấy, chẳng hạn như các vật thể đang di chuyển hoặc các khu vực nguy hiểm
- Kích hoạt các biện pháp bảo vệ: Khi cảm biến phát hiện một tình huống nguy hiểm, nó sẽ kích hoạt các biện pháp bảo vệ để ngăn ngừa tai nạn, chẳng hạn như cảnh báo hoặc dừng máy móc
Nhiệm vụ của cảm biến an toàn là:
- Phát hiện các tình huống nguy hiểm một cách chính xác và kịp thời
- Kích hoạt các biện pháp bảo vệ một cách hiệu quả và đáng tin cậy.
Phương pháp thực hiện
Đề tài này sử dụng cảm biến khoảng cách để đo khoảng cánh giữa xe ô tô và vật cản, sau đó hiển thị những mức độ nguy hiểm khác nhau
Có nhiều loại cảm biến đo khoảng cách như cảm biến siêu âm, cảm biến laze, cảm biến hồng ngoại, …
Sử dụng cảm biến siêu âm, thiết bị sẽ đo khoảng cách và hiển thị trên màn hình LCD Tùy theo khoảng cách, thiết bị sẽ cảnh báo bằng đèn LED và còi Khi khoảng cách từ cảm biến đến vật cản nhỏ hơn 10cm, màn hình LCD hiển thị "CLOSE" và đèn LED sáng Khoảng cách nhỏ hơn 5cm, màn hình LCD hiện "VERY CLOSE" và có còi cảnh báo Khoảng cách từ 3cm trở xuống, màn hình LCD hiện "DANGER" và phanh tự động được kích hoạt, hiển thị bằng đèn LED.
Có 2 chế độ phanh, phanh ở chế độ tự động (auto) và phanh ở chế độ tự điều khiển
Ý nghĩa của đề tài
Đây là một ứng dụng thực tế của cảm biến đo khoảng cách trong việc đo khoảng cách và phản ứng theo kết quả đo được Đề tài này giúp bạn hiểu rõ hơn về cách hoạt động và ứng dụng của cảm biến đo khoảng cách, cũng như cách lập trình và sử dụng bộ điều khiển Hi
8 vọng qua đề tài này, các bạn có thể hiểu được cách thực hoạt động của cảm biến đo khoảng cách và ứng dụng thực tiễn của nó.
Thiết kế hệ thống đo lường và điều khiển
Phân tích và lựa chọn cảm biến
2.1.1 Tìm hiểu về các cảm biến khoảng cách
Các loại cảm biến khoảng cách được phân loại dựa trên nguyên lý hoạt động của chúng
Có thể kể đến các loại cảm biến khoảng cách phổ biến sau đây:
• Cảm biến khoảng cách bằng tia laser: Cảm biến này sử dụng tia laser để đo khoảng cách giữa cảm biến và vật thể Tia laser được phát ra từ cảm biến và chiếu đến vật thể Thời gian cần thiết để tia laser đi từ cảm biến đến vật thể và phản xạ trở lại được sử dụng để tính toán khoảng cách giữa cảm biến và vật thể
• Cảm biến khoảng cách bằng sóng siêu âm: Cảm biến này sử dụng sóng siêu âm để đo khoảng cách giữa cảm biến và vật thể Sóng siêu âm được phát ra từ cảm biến và phản xạ trở lại khi gặp vật thể Thời gian cần thiết để sóng siêu âm đi từ cảm biến đến vật thể và phản xạ trở lại được sử dụng để tính toán khoảng cách giữa cảm biến và vật thể
• Cảm biến tiệm cận: Cảm biến này sử dụng một cảm biến điện áp thấp để phát hiện sự tiếp xúc giữa cảm biến và vật thể Khi cảm biến tiếp xúc với vật thể, điện trở của cảm biến sẽ thay đổi và tín hiệu điện áp thấp sẽ được tạo ra
• Cảm biến quang học: Cảm biến này sử dụng một cảm biến quang học để phát hiện sự hiện diện của vật thể Khi vật thể chắn đường đi của ánh sáng, cảm biến quang học sẽ phát hiện ra sự hiện diện của vật thể
Mỗi loại cảm biến khoảng cách có những ưu điểm và nhược điểm riêng Cảm biến khoảng cách bằng tia laser có độ chính xác cao và phạm vi đo lớn, nhưng giá thành cao Cảm biến khoảng cách bằng sóng siêu âm có giá thành thấp và độ tin cậy cao, nhưng không thể đo khoảng cách chính xác trong môi trường có nhiều vật cản Cảm biến tiệm cận có giá thành thấp và dễ lắp đặt, nhưng phạm vi đo ngắn Cảm biến quang học có giá thành thấp và dễ lắp đặt, nhưng độ chính xác thấp trong môi trường có nhiều ánh sáng
Dưới đây là bảng tóm tắt các loại cảm biến khoảng cách phổ biến:
Loại cảm biến Nguyên lý hoạt động Ưu điểm Nhược điểm
Cảm biến khoảng cách bằng tia laser
Sử dụng tia laser để đo khoảng cách Độ chính xác cáo, phạm vi đo lớn
Cảm biến khoảng cách bằng sóng siêu âm
Sử dụng sóng siêu âm để đo khoảng cách
Giá thành thấp, độ tin cậy cao
Không thể đo khoảng cách chính xác trong môi trường nhiều vật cản
Cảm biến tiệm cận Sử dụng cảm biến điện áp thấp để phát hiện sự tiếp xúc
Giá thành thấp, dễ lắp đặt
Sử dụng cảm biến quang học để phát hiện sự hiện diện của vật thể
Giá thành thấp, dễ lắp đặt Độ chính xác thấp trong môi trường có nhiều ánh sáng
Từ những bảng tóm tắt phân loại sản phẩm trên, chúng em quyết định chọn cảm biến siêu âm HC-SR04 cho đề tài
2.1.2 Cảm biến siêu âm HC-SR04
Cảm biến HC-SR04 là một cảm biến khoảng cách siêu âm giá rẻ và dễ sử dụng
Nó có phạm vi đo từ 2 đến 400 cm và thường được sử dụng trong các dự án tự động hóa Cảm biến này hoạt động bằng cách phát ra sóng siêu âm và đo thời gian sóng phản xạ trở lại để tính tốn khoảng cách đến vật cản HC-SR04 có thể được sử dụng với nhiều loại vi điều khiển khác nhau, bao gồm cả Arduino
Cảm biến HC-SR04 có kích thước nhỏ gọn và dễ lắp đặt Nó có hai chân kết nối chính là chân Trigger và chân Echo Chân Trigger được sử dụng để kích hoạt phát sóng siêu âm, trong khi chân Echo được sử dụng để đọc tín hiệu phản
10 xạ trở lại Cảm biến này cũng có hai chân cấp nguồn Vcc và Gnd để kết nối với nguồn điện
HC-SR04 là một giải pháp hiệu quả về chi phí để đo khoảng cách trong các ứng dụng như robot tránh vật cản, đo khoảng cách và định vị Với giá thành rẻ và tính năng dễ sử dụng, HC-SR04 là một lựa chọn tuyệt vời cho các dự án điện tử cho sinh viên. a, Cấu tạo và thông số kĩ thuật của cảm biến:
❖ Modun cảm biến có 4 chân:
-Chân VCC: Dùng để cấp nguồn 5v
-Chân Trig: Chân digital output
-Chân Echo: Chân digital input
-Chân GND: Chân 0v (chân nối Mass)
❖Cảm biến được chia làm 3 phần:
-Bộ phận phát sóng siêu âm: Cấu tạo của các đầu phát và đầu thu siêu âm là các loa gốm đặc biệt, phát siêu âm có cường độ cao ở tần số thường là 40kHz cho nhu cầu đo khoảng cách
-Bộ phận thu sóng siêu âm phản xạ: Thiết bị thu là dạng loa gốm có cấu tạo chỉ nhạy với một tần số chẳng hạn như 40KHz Qua một loạt các linh kiện như OPAM TL072, transistor NPN…Tín hiệu này liên tục được khuếch đại biên độ và cuối cùng là đưa qua một bộ so sánh, kết hợp với tín hiệu từ bộ điều khiển để đưa về bộ điều khiển
- Bộ phận xử lý, điều khiển tín hiệu: Vi điều khiển (PIC16F688,
Hình1.3 Cảm biến HC-SR04
STC11, …) được sử dụng làm nhiệm vụ phát xung, xử lý tính tốn thời gian từ khi phát đến khi thu được sóng siêu âm nếu nhận được tín hiệu
+ Điện áp làm việc: 5VDC
+ Khoảng cách phát hiện: 2cm – 400cm
+Tín hiệu đầu ra: Xung mức cao 5V, mức thấp 0V
+ Góc cảm biến: Khơng q 15 độ
+ Độ chính xác cao: Lên đến 3mm
+ Chế độ kết nối: VCC / Trig (T-Trigger) / Echo (R-Receive) / GND
+Kích thước: 45mm × 20mm × 15mm b, Nguyên lý hoạt động:
❖ Cảm biến hoạt động dựa trên nguyên lý: “ Phát sóng và phản xạ sóng ” Cảm biến này bao gồm: Bộ phát (Trig) và bộ thu (Echo) là hai bộ phận chính thực hiện công việc thu và phát tín hiệu của cảm biến Bộ phát chuyển đổi tín hiệu điện thành sóng siêu âm, còn bộ thu chuyển đổi tín hiệu siêu âm đó trở lại thành tín hiệu điện Khi hoạt động, mô-đun phát sẽ phát ra một xung siêu âm ngắn Xung này sẽ lan truyền qua không khí và phản xạ lại khi gặp một vật cản Mô-đun nhận sẽ nhận được xung phản xạ dựa vào thời gian này (thời gian phát cho đến khi nhận lại từ phản xạ) kết hợp với tốc độ truyền của âm thanh trong không khí (khoảng 340m/s), cảm biến có thể tính toán được khoảng cách đến vật cản
Hình 1.4 Chi tiết về cảm biến HC-SR04
12 c, Ứng dụng, ưu điểm và nhược điểm của HC-SR04
Với các module cảm biến siêu âm HC-SR04 được ứng dụng nhiều nhất trong các bài toán đo khoảng cách vật từ xa Phạm vi đo ngắn, trong khoảng 2-400cm
- Một số ứng dụng khác cũng hay dùng module cảm biến siêu âm HCSR04 mà chúng ta thường thấy như:
+ Dùng đo mực chất lỏng trong chai, hộp sữa…
+ Dùng phát hiện vật cản trên đường đi của robot…
+ Phát sóng siêu âm có độ chính xác cao
+ Phạm vi đo rộng 2- 400cm
+ Dễ dàng lắp đặt và kết hợp với các bộ kit của Arduino
+ Hiệu suất làm việc liên tục không cao
+ Dễ bị nhiễu tác động
+ Khơng thích hợp làm việc trong mơi trường cơng nghiệp
+ Độ nhạy và dãy đo phụ thuộc vào phần Code nạp
Hình 1.5 Nguyên lý hoạt động của cảm biến HC-SR04
13 d, Công thức tính khoảng cách của cảm biến HC-SR04 là: distance = (speed * duration) / 2
Trong đó: distance là khoảng cách cần tính toán, tính bằng cm speed là tốc độ của âm thanh trong không khí, tính bằng cm/s duration là thời gian cần thiết để sóng âm đi từ cảm biến đến vật thể và phản xạ trở lại, tính bằng microseconds
Tốc độ của âm thanh trong không khí là 340 m/s, tương đương với 29,412 microseconds/cm Do đó, công thức tính khoảng cách của cảm biến HC-SR04 có thể được viết lại như sau: distance = (29,412 * duration) / 2
Ví dụ, nếu thời gian cần thiết để sóng âm đi từ cảm biến đến vật thể và phản xạ trở lại là
500 microseconds, thì khoảng cách giữa cảm biến và vật thể là: distance = (29,412 * 500) / 2 = 735,3 cm
Phân tích và lựa chọn bộ điều khiển
2.2.1 Lựa chọn bộ điều khiển Để hoàn thành được sản phẩm chúng em cần sử dụng một bo mạch vi điều khiển phù hợp với đồ án đáp ứng được các tiêu chí như rẻ, dễ sử dụng và tài liệu hướng dẫn phong phú Dưới đây là một số vi điều khiển:
- Arduino UNO R3: Arduino UNO R3 là một bo mạch vi điều khiển dựa trên chip
ATmega328P Bo mạch này có 14 chân I/O kỹ thuật số, 6 chân I/O tương tự, 1 chân reset,
1 chân nguồn và 1 chân GND Arduino UNO R3 được sử dụng rộng rãi trong các dự án điện tử DIY và học tập
- Raspberry Pi: Raspberry Pi là một máy tính nhỏ gọn dựa trên chip Broadcom
Raspberry Pi với chip BCM2835 có đầy đủ các cổng kết nối hơn Arduino UNO R3, bao gồm: 40 chân GPIO, 1 chân HDMI, 1 chân USB, 1 chân Ethernet và 1 chân nguồn Nhờ đó, Raspberry Pi có khả năng thực hiện những dự án điện tử phức tạp hơn.
- ESP8266: ESP8266 là một chip vi điều khiển tích hợp Wi-Fi Chip này có 11 chân I/O kỹ thuật số, 1 chân I/O tương tự, 1 chân reset, 1 chân nguồn và 1 chân GND ESP8266 có thể được sử dụng để tạo các thiết bị IoT kết nối Wi-Fi
Ngoài ra, còn có một số bo mạch vi điều khiển khác như: Teensy 3.2, Adafruit Feather, SparkFun Pro Micro, …
Sau rất nhiều cân nhắc nhóm em quyết định chọn vi điều khiển Arduino UNO R3 để sử dụng trong đồ án môn học này
Tính năng Arduino UNO R3 Raspberry Pi ESP8266
Cổng giao tiếp USB USB, HDMI,
2.2.2 Thông số của vi điều khiển Arduino UNO R3
Cấu tạo và nguyên lý hoạt động:
Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Hình 1.6 Vi điều khiển Arduino UNO R3
- Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác mà bạn đã được xem ở đây
- Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau
- 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA
- 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn
- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
Arduino UNO không được bảo vệ chống cắm ngược nguồn Do đó, người dùng cần hết sức cẩn thận khi kiểm tra các cực âm - dương của nguồn trước khi cấp cho Arduino UNO Nếu cắm ngược nguồn, Arduino UNO sẽ bị hỏng và trở nên vô dụng Tốt nhất bạn nên sử dụng nguồn từ cổng USB nếu có thể.
Lưu ý cần thiết, chân 3.3V và 5V trên bo mạch Arduino có chức năng cung cấp điện năng ra cho các thiết bị khác, tuyệt đối không được cấp ngược nguồn điện vào các chân này, vi phạm quy trình sử dụng có thể gây hư hại cho bo mạch.
- Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board
- Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
- Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển
- Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển
- Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng
- Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu
- SRAM (Static Random Access Memory) lưu trữ giá trị của các biến khai báo khi lập trình, dung lượng SRAM càng lớn cho phép khai báo càng nhiều biến Mặc dù vậy, trong thực tế, bộ nhớ RAM ít khi trở thành vấn đề đáng lo ngại - Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
- Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)
Một số chân digital có các chức năng đặc biệt như sau:
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
Mô hình hoá và mô phỏng hệ thống
Thiết kế sơ đồ khối hệ thống
Xây dựng chương trình điều khiển
LiquidCrystal_I2C lcd(0x27,16,2); const int trig =8; const int echo =7; int coi = 11; int LED1 = 10;
25 int LED2 = 12; int congtac = 3; int trangthai; unsigned long thoigian; unsigned long khoangcach; void setup ()
{ lcd.init(); lcd.backlight(); pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(coi, OUTPUT); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(congtac, INPUT_PULLUP);
26 digitalWrite(trig,1); delayMicroseconds(10); digitalWrite(trig,0); thoigian = pulseIn (echo, HIGH); khoangcach = int (thoigian/2/29.412);
Serial.println ("cm"); lcd.setCursor(11,0); lcd.print("TT:"); lcd.setCursor(1,1); lcd.print("KC:"); lcd.setCursor(4,1); lcd.print(khoangcach); lcd.setCursor(9,1); lcd.print("cm"); delay(200); trangthai=digitalRead(congtac);
Serial.println (trangthai); lcd.setCursor(14,0); lcd.print(trangthai);
27 delay(100); lcd.clear(); if ( trangthai==0 )
//lcd.clear(); lcd.setCursor(0,0); lcd.print("CLOSE"); digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); digitalWrite(coi, LOW);
28 lcd.setCursor(0,0); lcd.print("VERY CLOSE"); digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); for (int i =1 ;i= 30 && khoangcach