Chế độ Low Beam và High Beam
53
Khi bật công tắc ở chế độ Low Beam, tín hiệu từ công tắc đi đến BCM qua chân J6/12, khi đó BCM đưa tín hiệu điều khiển ra qua chân J2/23 và đóng HEAD LAMP LOW relay, đèn Low Beam sáng.
Khi bật công tắc ở chế độ High Beam, tín hiệu từ công tắc đi đến BCM qua chân J5/18, khi đó BCM đưa tín hiệu điều khiển ra qua chân J1/16 và đóng HEAD LAMP HIGH relay, đèn High Beam sáng.
Tương tự khi nháy Flash, tín hiệu từ công tắc đi đến BCM qua chân J5/25, BCM cũng đưa tín hiệu điều khiển ra qua chân J1/16. Đèn High Beam sáng
Chế độ Auto High Beam
Hình 3.25 . Auto High Beam Controller
54
Hình 3.26. Sơ đồ mạch Auto High Beam Controller
Khi bật chế độ Auto High Beam, hệ thống Auto High Beam Controller (UNO, Camera, Auto High Beam relay module loại thường đóng ) được cấp nguồn, High Beam Lamp sẽ lấy nguồn dương thông qua Low Beam Relay. Nên High Beam chỉ sáng khi Low Beam được bật. Lúc này High Beam sẽ sáng mặc định do relay trên Auto High Beam Relay Module đang đóng, khi Camera phát hiện có đèn xe phía trước, UNO nhận tín hiệu từ camera và đưa tín hiệu điều khiển ra Relay Module và ngắt điện đi qua, High Beam Lamp tắt, khi camera không phát hiện đèn xe phía trước, Relay Module đóng trở lại và High Beam Lamp tiếp tục sáng.
55
Kết nối Camera module với UNO và thuật toán điều khiển
56
Hình 3.28. Giao diện hiển thị hình ảnh từ camera module trên phần mềm PixyMon
Hình 3.29. Hình ảnh hiển thị từ camera trước khi thiết lập nhận diện đèn xe cho camera module trên phần mềm PixyMon
57
58
Hình 3.31. Hình ảnh từ camera hiển thị trên phần mềm PixyMon sau khi thiết lập nhận diện đèn xe cho Camera Module
59
Thuật toán điều khiển của Auto High Beam Controller
Hình 3.32. Thuật toán điều khiển của Auto high beam controller
60
Hình 3.34. Thiết lập chân điều khiển relay và mở cổng hiển thị serial
Hàm pixy.init() được khai báo trước khi Arduino giao tiếp camera module.
Hàm init() trả về một giá trị lỗi < 0 nếu giao tiếp với arduino không thành công và = 0 khi giao tiếp thành công với Arduino.
Thiết lập bảng hiển thị thông số và khai báo chân điều khiển relay module được khai báo và thiết lập tại chân D9 trên UNO
Hình 3.35. Thuật toán điều khiển relay
Hàm pixy.ccc.getBlocks thu nhận tất cả các ánh sáng của đèn xe xuất hiện trong các khung ảnh gần nhất từ camera.
Sau đó, các dữ liệu của ánh sáng từ đèn xe được chuyển thành các khối blocks, hàm trả về giá trị lỗi ( < 0 ) nếu không phát hiện ánh sáng của đèn xe. Khi đó,
61
tín hiệu đưa ra relayPIN vẫn ở mức thấp, relay vẫn đóng ( relay thường đóng), high beam vẫn sáng.
Khi số các khối blocks được phát hiện ( > = 0) nếu camera phát hiện có ánh sáng của đèn xe. Khi đó, tín hiệu đưa ra relayPIN sẽ ở mức cao và ngắt relay, high beam tắt.
Hình 3.36. Hiển thị thông số đèn xe trong hình ảnh từ camera
Hàm pixy.ccc.numBlocks sẽ trả về các giá trị > = 0, số các khối blocks sẽ được lưu trong các giá trị blocks.
Hàm Pixy.ccc.blocks[i].print() sẽ in thông số của các khối được phát hiện qua cổng serial.
62
Hình 3.37 . Hình ảnh hiện thị trên phần mềm
63
Block blocks[]
Mảng này chứa tất cả dữ liệu khối là kết quả của getBlocks (). Các khối trong mảng này được sắp xếp theo khu vực, với các khối lớn nhất xuất hiện đầu tiên trong mảng khối.
Bên trong cấu trúc Khối bao gồm:
• void print(): hàm này được gọi để in thông tin của khối tới bảng serial
• uint16_t m_x: Biến này chứa vị trí x của tâm khối. Giá trị nằm trong khoảng từ 0 đến frameWidth (315).
• uint16_t m_y: Biến này chứa vị trí y của tâm khối. Giá trị nằm trong khoảng từ 0 đến frameHeight (207).
• uint16_t m_width: Biến này chứa chiều rộng của khối. Giá trị nằm trong khoảng từ 0 đến frameWidth (316).
• uint16_t m_height: Biến này chứa chiều cao của khối. Giá trị nằm trong khoảng từ 0 đến frameHeight (208).
• uint8_t m_age: Biến này chứa số lượng khung hình mà một khối nhất định đã được theo dõi. Khi giá trị age đạt 255, nó vẫn ở mức 255.
64
Chế độ đèn xi nhan, đèn báo nguy hiểm
Hình 3.39. Sơ đồ mạch đèn xi nhan, hazard
Khi công tắc ở chế độ Left Turn, tín hiệu từ công tắc đi đến BCM qua chân J5/15, khi đó BCM đưa tín hiệu điều khiển ra qua chân J2/4, Turn lamp relay LH đóng và đèn Left Turning Lamp sáng.
Khi công tắc ở chế độ Right Turn, tín hiệu từ công tắc đến BCM qua chân J5/16, khi đó BCM đưa tín hiệu điều khiển ra qua chân J1/5, turn lamp relay RH đóng và đèn Right Turning Lamp sáng.
65
Khi bật nút Hazard, tín hiệu từ công tắc đến BCM qua chân J5/19, khi đó BCM đưa tín hiệu điều khiển ra qua 2 chân J2/4 và chân J1/5, cả hai turn lamp relay LH và RH cùng đóng.
Chế độ đèn sương mù
Hình 3.40. Mạch sơ đồ đèn sương mù
Khi bật đèn sương mù, tín hiệu từ công tắc đến BCM qua 2 chân J7/21 (trước) và chân J4/16 (sau), khi đó BCM đưa tín hiệu điều khiển ra qua 2 chân J1/11 và J1/20, đèn sương mù trước và sau cùng sáng.Khi bật đèn sương mù, tín hiệu từ công tắc đến
66
BCM qua 2 chân J7/21 (trước) và chân J4/16 (sau), khi đó BCM đưa tín hiệu điều khiển ra qua 2 chân J1/11 và J1/20, đèn sương mù trước và sau cùng sáng.
Hệ thống đèn Tail
67
Hình 3.42. Sơ đồ mạch đèn tail (từ BCM đèn relay đèn tail)
Khi bật đèn hậu, tín hiệu từ công tắc đi đến BCM qua chân J6/8, khi đó BCM đưa tín hiệu điều khiển ra qua chân J2/24, Park lamp relay đóng và đèn hậu sáng. Khi công tắc ở chế độ Low Beam thì tín hiệu điều khiền vẫn được BCM đưa ra chân J2/24.
68
Chế độ đèn ban ngày
Đối với chế độ đèn chiếu sáng ban ngày, thì đèn chiếu ban ngày sẽ sáng khi xe bắt đầu khởi động và sẽ sáng khi chìa khóa bật ở vị trí ON
Chế độ đèn phanh xe
Hình 3.43. Sơ đồ mạch đèn phanh xe
Trong sơ đồ, 2 chân J712 của BCM luôn đưa ra mức điện áp cao, và chân J713 đưa ra mức điện áp thấp. Khi công tắc phanh được nhấn thì relay của đèn phanh đóng lại và đèn phanh sáng.
69