









Preview text:
lOMoAR cPSD| 59114765
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI
───────────────────────────── Môn học: Internet Of Thing
Đề tài: THIẾT KẾ ĐÈN GIAO THÔNG
Giảng viên hướng dẫn: Dương Quỳnh Nga Thành viên nhóm :
Vũ Văn Tình Phạm Tùng Dương - 2722225235
Hoàng Anh Nhật - 2722225443 Hoàng Văn An -2722250334 lOMoAR cPSD| 59114765 Mục Lục
1. Mục tiêu…………………………………….. 3
2. Các linh kiện sử dụng………………………. 3
3. Nguyên lý hoạt động………………………… 4
4. Mã Arduino (tóm tắt logic)…………………. 4
5. Kết quả đạt được……………………………. 8
6. Ưu điểm và Hướng phát triển………………. 8
7. Kết luận và Cảm ơn………………………… 9 8. Tài liệu tham khảo
…………………………….10 lOMoAR cPSD| 59114765 1.MỤC TIÊU
Mục tiêu của đề tài là thiết kế một hệ thống mô phỏng đèn giao thông thông minh sử dụng
Arduino với khả năng điều khiển linh hoạt và mở rộng kết nối IoT với các chức năng chính như sau: •
Tự động điều chỉnh tín hiệu đèn dựa trên lưu lượng phương tiện tại
các ngã tư, giúp giảm thiểu thời gian chờ đợi không cần thiết. •
Ưu tiên chuyển đèn xanh cho làn đường có mật độ xe cao, hoặc có
xe cấp cứu, xe ưu tiên đang đến gần. •
Giúp người đi bộ dễ dàng qua đường hơn khi ấn nút sẽ chuyển đèn xanh.
Đề tài nhằm giải quyết nhu cầu điều tiết giao thông một cách thông
minh, giảm ùn tắc, tiết kiệm năng lượng và nâng cao mức độ an toàn
cho người tham gia giao thông, đặc biệt vào giờ cao điểm hoặc trong
điều kiện thời tiết xấu.
Hệ thống được thiết kế với khả năng mở rộng và tích hợp linh hoạt,
phù hợp với xu hướng phát triển các đô thị thông minh trong tương lai.
2.Các Linh Kiện Sử Dụng
• Arduino Uno R3: vi điều khiển trung tâm
• LED: đèn thông báo giao thông
• Điện trở 220Ω: cho các LED • Breadboard và dây nối
• LCD 16x2 :Hiển Thị Thông Báo Đèn 3.Nguyên Lý Hoạt Động
Hệ thống sử dụng Arduino để điều khiển đèn LED giao thông kết hợp với cảm biến phát
hiện người đi bộ và mô-đun hiển thị thông tin. (đỏ, vàng, xanh), màn hình LCD 16x2, và
nút bấm dành cho người đi bộ để điều khiển luồng giao thông một cách tuần tự, có thể
tương tác và hiển thị thông tin trực quan. Cơ chế hoạt động dựa trên các điều kiện sau:
🔴 Đèn đỏ – Dừng lại: •
Hệ thống bắt đầu chu trình bằng cách bật đèn đỏ trong 25 giây. lOMoAR cPSD| 59114765 •
Trên LCD hiển thị "Dừng lại!" kèm theo đếm ngược thời gian còn lại. •
Trong thời gian này, tất cả các phương tiện phải dừng lại.
🟡 Đèn vàng – Cảnh báo chờ: •
Sau đèn đỏ, hệ thống chuyển sang đèn vàng nhấp nháy 10 lần, mỗi lần 500ms. •
LCD hiển thị dòng "Chờ đợi!" cùng số lần nhấp nháy đang diễn ra. •
Giai đoạn này dùng để cảnh báo sắp có sự thay đổi tín hiệu đèn,
tạo khoảng đệm an toàn giữa hai pha.
🟢 Đèn xanh – Di chuyển: •
Đèn xanh được bật trong 30 giây, cho phép các phương tiện di chuyển qua giao lộ. •
LCD hiển thị dòng "Di chuyển!" cùng đếm ngược thời gian còn lại.
👣 Nút bấm dành cho người đi bộ: •
Trong thời gian đèn xanh sáng, nếu người đi bộ bấm nút, hệ thống:
o Ngắt đèn xanh ngay lập tức
o Gọi hàm pedestrianCrossing() để ưu tiên cho người đi bộ qua đường •
Sau đèn xanh, hệ thống kiểm tra thêm một lần nữa nếu nút vẫn
được nhấn, thì cũng kích hoạt chế độ qua đường.
🚸 Chế độ qua đường cho người đi bộ: •
Khi người đi bộ được ưu tiên:
o Đèn đỏ bật sáng để xe dừng lại hoàn toàn. o LCD hiển thị
thông báo "Qua đường đi bộ". o Hệ thống đếm ngược 10
giây để người đi bộ có thời gian sang đường an toàn. •
Sau khi hết thời gian, đèn đỏ tắt và hệ thống quay lại chu trình bình thường.
🟡 Đèn vàng lần 2 – Chuẩn bị lặp lại chu trình: lOMoAR cPSD| 59114765 •
Hệ thống tiếp tục nhấp nháy đèn vàng thêm 10 lần trước khi lặp
lại vòng tuần tự đèn giao thông. •
Điều này đảm bảo cảnh báo sớm cho người tham gia giao thông về chu kỳ tiếp theo. 4.Code chương trình #include
LiquidCrystal MyLCD(6, 7, 8, 9, 10, 11); int red = 3; int yellow = 4; int green = 5; int pedestrianButton = 12;
void setup() { pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT); pinMode(green,
OUTPUT); pinMode(pedestrianButton, INPUT_PULLUP); MyLCD.begin(16, 2); }
// Hàm nhấp nháy đèn vàng void
yellowBlink(int repeats, int time) { for
(int i = repeats; i > 0 ; i--) { MyLCD.clear(); MyLCD.setCursor(0, 1); MyLCD.print("Cho doi!"); digitalWrite(yellow, HIGH); delay(time); MyLCD.setCursor(0, 0); MyLCD.print(i); digitalWrite(yellow, LOW); delay(time); } } lOMoAR cPSD| 59114765
// Hàm đếm ngược và bật đèn tương ứng void
counter(int count, String Message, int led) { digitalWrite(led, HIGH);
for (int i = count ; i > 0; i--) { MyLCD.clear(); MyLCD.setCursor(0, 1); MyLCD.print(Message); MyLCD.setCursor(0, 0); MyLCD.print(i);
// Kiểm tra nút trong mỗi giây
if (digitalRead(pedestrianButton) == LOW && led == green) { digitalWrite(led, LOW); pedestrianCrossing();
return; // Thoát khỏi hàm counter } delay(1000); } digitalWrite(led, LOW); }
// Hàm cho người đi bộ qua đường void pedestrianCrossing() { MyLCD.clear(); MyLCD.setCursor(0, 0);
MyLCD.print("Qua duong di bo"); digitalWrite(green, LOW); digitalWrite(yellow, LOW); digitalWrite(red, HIGH);
for (int i = 10; i > 0; i--) { MyLCD.setCursor(0, 1); MyLCD.print("Con lai: "); lOMoAR cPSD| 59114765 MyLCD.print(i); MyLCD.print("s "); delay(1000); } digitalWrite(red, LOW); MyLCD.clear(); } void loop() { // Đèn đỏ
counter(25, "Dung lai!", red);
// Đèn vàng (nhấp nháy) MyLCD.clear(); MyLCD.setCursor(0, 1); MyLCD.print("Doi!"); yellowBlink(10, 500); // Đèn xanh
counter(30, "Di chuyen!", green);
// Sau đèn xanh, kiểm tra nếu có người đi bộ bấm nút
if (digitalRead(pedestrianButton) == LOW) { pedestrianCrossing(); }
// Đèn vàng trước khi quay lại chu trình yellowBlink(10, 500); } 5.Kết quả đạt được
Sau khi thiết kế và lập trình, hệ thống mô phỏng đèn giao thông hoạt động ổn định, đáp ứng
các yêu cầu cơ bản của một mô hình học thuật.
1. Điều khiển chu kỳ đèn giao thông tự động o Hệ thống thực
hiện luân phiên các pha đèn đỏ → vàng → xanh theo thời gian định sẵn. lOMoAR cPSD| 59114765
o Các giai đoạn đèn được hiển thị rõ ràng và đồng bộ với thông
báo trên màn hình LCD.
2. Tích hợp nút bấm cho người đi bộ o Cho phép người đi bộ
yêu cầu ưu tiên sang đường bằng cách nhấn nút. o Khi nút
được nhấn đúng lúc, hệ thống ngắt đèn xanh, bật đèn đỏ và
hiển thị thời gian đếm ngược 10 giây để sang đường an toàn.
3. Hiển thị thông tin trực quan qua LCD o Màn hình LCD
cung cấp các thông tin như:
Trạng thái tín hiệu đèn (Dừng lại, Di chuyển, Chờ đợi)
Đếm ngược thời gian cho mỗi pha đèn
Thông báo khi người đi bộ được phép qua đường
4. Tăng tính tương tác và an toàn o Hệ thống tạo điều kiện cho
người đi bộ chủ động tương tác và nhận phản hồi trực tiếp qua màn hình.
o Góp phần mô phỏng thực tế hoạt động đèn giao thông,
giúp nâng cao nhận thức về an toàn giao thông.
5. Chạy ổn định trên nền tảng phần cứng đơn giản o Dễ lắp
đặt, dễ mở rộng (có thể tích hợp thêm cảm biến hoặc điều
khiển từ xa trong tương lai).
o Có tính ứng dụng cao trong mô hình mô phỏng, học tập
hoặc trưng bày giáo dục.
6.Uư Điểm Và Hướng Phát Triển
Hướng phát triển tiếp theo
1. Tích hợp cảm biến giao thông thông minh o Sử dụng cảm
biến PIR hoặc camera để phát hiện lưu lượng phương tiện và
người đi bộ, từ đó điều chỉnh thời gian đèn linh hoạt theo thực tế.
o Cảm biến LDR để nhận biết điều kiện ánh sáng môi trường,
tự động bật/tắt đèn vào ban đêm hoặc trong điều kiện thiếu sáng. lOMoAR cPSD| 59114765
2. Giao tiếp và điều khiển từ xa o Kết nối hệ thống với mạng IoT
qua Wi-Fi hoặc Bluetooth để giám sát và điều khiển đèn từ xa
qua smartphone hoặc máy tính.
o Phát triển giao diện người dùng trực quan để thay đổi thông
số thời gian hoặc chế độ hoạt động.
3. Tích hợp hệ thống cảnh báo và an toàn nâng cao o Thêm âm
thanh cảnh báo cho người đi bộ khi đèn chuyển sang đỏ hoặc khi
còn ít thời gian sang đường.
o Kết hợp với hệ thống đèn LED mặt đường hoặc biển báo
điện tử để nâng cao tính nhận diện.
4. Phân tích và tối ưu luồng giao thông o Thu thập dữ liệu giao
thông theo thời gian thực để phân tích và tối ưu hóa lịch trình
đèn giao thông, giảm thiểu ùn tắc.
o Sử dụng thuật toán học máy (machine learning) để dự đoán
lưu lượng và tự điều chỉnh.
5. Mở rộng mô hình đa nút giao thông o Phát triển hệ thống điều
khiển đa nút (đèn giao thông nhiều hướng), phối hợp nhịp nhàng
giữa các giao lộ để tăng hiệu quả giao thông.
o Tích hợp điều khiển ưu tiên cho xe cứu thương, xe cứu hỏa khi cần thiết. 7.Kết luận và Cảm Ơn
Mô hình đèn giao thông sử dụng vi điều khiển Arduino đã được xây dựng hoàn chỉnh với các
chức năng chính như điều khiển tuần tự các pha đèn đỏ, vàng, xanh, tích hợp nút nhấn ưu tiên
cho người đi bộ và hiển thị trạng thái đèn cùng thời gian đếm ngược trên màn hình LCD. Hệ
thống hoạt động ổn định, đáp ứng tốt yêu cầu mô phỏng thực tế và nâng cao ý thức an toàn giao thông.
Xin chân thành cảm ơn quý thầy cô, các bạn đồng nghiệp và tất cả
những người đã hỗ trợ, hướng dẫn và góp ý trong quá trình thực hiện dự
án này. Sự giúp đỡ và chia sẻ của mọi người là nguồn động lực lớn để
hoàn thành hệ thống đèn giao thông thông minh một cách tốt nhất. lOMoAR cPSD| 59114765
Cảm ơn bạn đã quan tâm theo dõi và hy vọng sản phẩm này sẽ đóng góp
hữu ích cho các ứng dụng thực tiễn cũng như nghiên cứu trong lĩnh vực
điều khiển giao thông thông minh.
8.Tài liệu tham khảo •
Arduino.cc – tài liệu chính thức •
Hackster.io – dự án mẫu cảm biến • Giáo trình IoT đại học •
Datasheet linh kiện Thermistor, LDR, PIR •
Hướng dẫn kỹ thuật Tinkercad