Báo cáo đồ án 2: Thiết kế mạch đèn giao thông ngành Tự động hóa (ĐH Mở)

Báo cáo đồ án 2 thiết kế mạch đèn giao thông ngành tự động hóa. Tìm hiểu chi tiết về quy trình, sơ đồ mạch, và ứng dụng thực tế. Tải ngay!

Trường đại học

Trường Đại Học Mở

Chuyên ngành

Tự Động Hoá

Người đăng

Ẩn danh

Thể loại

Đồ Án 2
43
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn báo cáo đồ án 2 thiết kế mạch đèn giao thông A Z

Báo cáo đồ án 2 về thiết kế mạch đèn giao thông là một cột mốc quan trọng đối với sinh viên ngành tự động hoá. Đề tài này không chỉ củng cố kiến thức về linh kiện điện tử, vi điều khiển mà còn rèn luyện kỹ năng thi công mạch điện tử và lập trình ứng dụng. Mục tiêu cốt lõi của đồ án là xây dựng một hệ thống điều khiển tín hiệu giao thông tự động, mô phỏng hoạt động tại một giao lộ thực tế. Báo cáo này sẽ trình bày chi tiết quy trình từ khâu lên ý tưởng, phân tích yêu cầu, lựa chọn linh kiện, thiết kế sơ đồ nguyên lý, mô phỏng Proteus, lập trình điều khiển và hoàn thiện sản phẩm thực tế. Trong bối cảnh kỹ thuật số thâm nhập vào mọi lĩnh vực, việc nắm vững các kiến thức này là nền tảng không thể thiếu. Đồ án tập trung vào việc sử dụng Arduino UNO R3 làm trung tâm điều khiển, kết hợp với các IC giải mã 7447 (hoặc tương đương như 74HC595) và LED 7 đoạn để tạo ra một mạch đếm lùi trực quan. Nguyên lý hoạt động đèn giao thông được tuân thủ nghiêm ngặt, với các pha Xanh - Vàng - Đỏ được tính toán thời gian hợp lý để đảm bảo luồng giao thông an toàn và hiệu quả. Việc hoàn thành tốt đồ án môn học tự động hoá này không chỉ giúp sinh viên đạt kết quả cao mà còn là một bước chuẩn bị vững chắc cho các đồ án chuyên ngành phức tạp hơn và quá trình bảo vệ đồ án 2 thành công.

1.1. Tầm quan trọng của đồ án kỹ thuật điều khiển trong ngành

Trong chương trình đào tạo ngành tự động hoá, đồ án kỹ thuật điều khiển đóng vai trò như một cầu nối giữa lý thuyết và thực tiễn. Đề tài thiết kế mạch đèn giao thông là một ví dụ điển hình, yêu cầu sinh viên vận dụng tổng hợp kiến thức về điện tử số, vi xử lý, lập trình nhúng và kỹ năng thiết kế mạch. Việc thực hiện đồ án giúp sinh viên hiểu sâu hơn về quy trình phát triển một sản phẩm tự động hoá hoàn chỉnh, từ việc xác định vấn đề, đề xuất giải pháp, lựa chọn công nghệ, cho đến thi công và kiểm thử. Đây là cơ hội để sinh viên làm quen với các công cụ phần mềm chuyên dụng như Proteus hay thiết kế mạch in Altium, đồng thời rèn luyện tư duy logic khi xây dựng lưu đồ giải thuật đèn giao thông. Những kinh nghiệm tích lũy được từ đồ án này là hành trang quý báu cho các báo cáo thực tập tự động hóa sau này và định hướng nghề nghiệp trong tương lai.

1.2. Mục tiêu và nhiệm vụ nghiên cứu của đồ án đèn giao thông

Mục tiêu chính của đồ án là "Nghiên cứu và thiết kế hệ thống đèn giao thông sử dụng Arduino để điều khiển". Để đạt được mục tiêu này, các nhiệm vụ nghiên cứu cụ thể được đặt ra. Trước hết, cần tìm hiểu sâu về nguyên lý hoạt động đèn giao thông tại các giao lộ, đặc biệt là mối quan hệ thời gian giữa các pha đèn trên các tuyến đường khác nhau. Nhiệm vụ tiếp theo là nghiên cứu và làm chủ vi điều khiển Arduino UNO R3, bao gồm cấu trúc phần cứng, tập lệnh và môi trường lập trình. Song song đó, việc tìm hiểu về các linh kiện phụ trợ như IC 74HC595, LED 7 đoạn, và cách thức giao tiếp giữa chúng với vi điều khiển là vô cùng cần thiết. Cuối cùng, nhiệm vụ quan trọng nhất là tổng hợp các kiến thức đã nghiên cứu để xây dựng code đèn giao thông ngôn ngữ C, tiến hành mô phỏng và thi công mạch điện tử hoàn chỉnh, đảm bảo hệ thống hoạt động ổn định và chính xác theo yêu cầu đề ra.

II. Phân tích yêu cầu và giải pháp thiết kế mạch đèn giao thông

Giai đoạn phân tích yêu cầu là bước khởi đầu quyết định sự thành công của một đồ án môn học tự động hóa. Đối với đề tài thiết kế mạch đèn giao thông, yêu cầu cơ bản là xây dựng một hệ thống điều khiển tín hiệu cho một giao lộ hai tuyến đường. Hệ thống phải đảm bảo các quy tắc an toàn giao thông cơ bản: khi một tuyến đang đèn xanh, tuyến còn lại phải ở trạng thái đèn đỏ. Chu kỳ chuyển đổi giữa các pha đèn (Xanh -> Vàng -> Đỏ) phải được tính toán chính xác. Dựa trên phân tích, giải pháp thiết kế được đề xuất là sử dụng một vi điều khiển làm bộ não trung tâm. Lựa chọn Arduino UNO R3 là hợp lý do tính phổ biến, cộng đồng hỗ trợ lớn và thư viện lập trình phong phú. Sơ đồ khối tổng thể của mạch bao gồm ba khối chính: Khối Nguồn cung cấp điện áp ổn định 5V cho toàn hệ thống; Khối Điều Khiển (Arduino và các IC hỗ trợ) chịu trách nhiệm xử lý logic và xuất tín hiệu; và Khối Hiển Thị (các LED đơn và LED 7 đoạn) có nhiệm vụ hiển thị trạng thái đèn và thời gian đếm ngược. Giải pháp này có ưu điểm là mạch nhỏ gọn, linh hoạt, dễ dàng nâng cấp và thay đổi thuật toán điều khiển chỉ bằng cách nạp lại chương trình mà không cần thay đổi phần cứng phức tạp. Đây là một cách tiếp cận hiện đại so với việc sử dụng các IC số thuần túy, vốn làm cho mạch cồng kềnh và khó mở rộng.

2.1. Xây dựng sơ đồ nguyên lý mạch điều khiển đèn giao thông

Từ sơ đồ khối, sơ đồ nguyên lý mạch chi tiết được xây dựng. Trung tâm là board Arduino UNO R3. Các chân digital output của Arduino được sử dụng để điều khiển trực tiếp 6 LED đơn (2 Xanh, 2 Vàng, 2 Đỏ) cho hai tuyến đường. Để hiển thị thời gian đếm ngược trên 4 LED 7 đoạn mà không tốn quá nhiều chân I/O của vi điều khiển, giải pháp sử dụng 4 IC 74HC595 mắc nối tiếp (cascading) được lựa chọn. Ba chân của Arduino (Data, Clock, Latch) sẽ điều khiển toàn bộ 4 IC này, giúp tiết kiệm tài nguyên phần cứng đáng kể. Mỗi IC 74HC595 sẽ điều khiển một LED 7 đoạn. Khối nguồn được thiết kế đơn giản, nhận nguồn 5V từ cổng USB của máy tính hoặc một adapter ngoài. Các điện trở hạn dòng được mắc nối tiếp với từng LED để bảo vệ chúng khỏi dòng điện quá lớn, đảm bảo độ bền cho linh kiện. Sơ đồ này thể hiện rõ ràng sự kết nối giữa các thành phần, là cơ sở để tiến hành mô phỏng Proteusthiết kế mạch in Altium.

2.2. Phân tích lưu đồ giải thuật đèn giao thông và giản đồ thời gian

Để lập trình điều khiển, việc xây dựng lưu đồ giải thuật đèn giao thông là bước không thể thiếu. Lưu đồ bắt đầu bằng khối "Start", sau đó là khối khởi tạo các chân I/O và các biến thời gian. Vòng lặp chính của chương trình sẽ tuần tự thực hiện các trạng thái của hệ thống. Ví dụ, trạng thái 1: Tuyến 1 Xanh (35s), Tuyến 2 Đỏ (40s). Trạng thái 2: Tuyến 1 Vàng (5s), Tuyến 2 vẫn Đỏ. Trạng thái 3: Tuyến 1 Đỏ (40s), Tuyến 2 Xanh (35s). Trạng thái 4: Tuyến 1 vẫn Đỏ, Tuyến 2 Vàng (5s). Sau trạng thái 4, vòng lặp quay lại trạng thái 1. Giản đồ thời gian là công cụ trực quan hóa hoạt động này, cho thấy mối quan hệ logic giữa các đèn. Từ giản đồ, có thể thấy rõ ràng rằng "Thời gian đèn Đỏ = Thời gian đèn Xanh + Thời gian đèn Vàng". Lưu đồ và giản đồ này là kim chỉ nam cho việc viết code đèn giao thông ngôn ngữ C, đảm bảo logic điều khiển chính xác và không xảy ra xung đột tín hiệu gây mất an toàn.

III. Phương pháp lựa chọn linh kiện cho đồ án ngành tự động hoá

Việc lựa chọn linh kiện phù hợp là yếu tố then chốt quyết định tính ổn định và chi phí của đồ án ngành tự động hoá. Đối với thiết kế mạch đèn giao thông, các thành phần chính cần được cân nhắc kỹ lưỡng. Bộ xử lý trung tâm là Arduino UNO R3, sử dụng vi điều khiển ATmega328P, được chọn vì sự đơn giản trong lập trình, khả năng giao tiếp dễ dàng và có sẵn nhiều thư viện hỗ trợ. Nó cung cấp đủ số chân I/O digital và analog cho các yêu cầu của bài toán. Đối với khối hiển thị, các LED đơn màu xanh, đỏ, vàng là lựa chọn tiêu chuẩn. Để hiển thị mạch đếm lùi, LED 7 đoạn loại Anode chung (hoặc Cathode chung) được sử dụng. Một linh kiện quan trọng khác là IC 74HC595, một thanh ghi dịch 8-bit. Sử dụng IC này giúp mở rộng số chân điều khiển từ vi điều khiển, cho phép điều khiển nhiều LED 7 đoạn chỉ với 3 chân tín hiệu, một kỹ thuật tối ưu trong thiết kế. Ngoài ra, các linh kiện thụ động như điện trở 330Ω được tính toán để hạn dòng cho các LED, đảm bảo chúng hoạt động ở độ sáng tối ưu và không bị hư hỏng. Việc liệt kê và lựa chọn linh kiện một cách khoa học giúp quá trình thi công mạch điện tử diễn ra suôn sẻ và hiệu quả.

3.1. Giới thiệu vi điều khiển Arduino UNO R3 và IC 74HC595

Arduino UNO R3 là một board mạch vi điều khiển mã nguồn mở, được trang bị vi điều khiển ATmega328P. Nó có 14 chân I/O digital (6 chân có thể dùng cho PWM) và 6 chân input analog. Với điện áp hoạt động 5V, nó tương thích tốt với hầu hết các linh kiện điện tử phổ thông. Môi trường lập trình Arduino IDE đơn giản, sử dụng ngôn ngữ dựa trên C/C++, giúp người mới bắt đầu dễ dàng tiếp cận. IC 74HC595 là một thanh ghi dịch nối tiếp vào - song song ra. Nó nhận dữ liệu một cách tuần tự (từng bit một) và sau đó xuất tất cả 8 bit ra cùng một lúc. Bằng cách mắc nối tiếp nhiều IC 74HC595, ta có thể điều khiển hàng chục đầu ra chỉ với 3 chân từ vi điều khiển. Trong đồ án này, sự kết hợp giữa Arduino và 74HC595 tạo thành một giải pháp mạnh mẽ và tiết kiệm chi phí để điều khiển hệ thống hiển thị phức tạp.

3.2. Cấu tạo và nguyên lý hoạt động của LED 7 đoạn phổ biến

LED 7 đoạn là một linh kiện hiển thị số quen thuộc, bao gồm 7 đoạn LED (được đặt tên từ 'a' đến 'g') xếp thành hình số 8 và một dấu chấm thập phân (dp). Có hai loại chính: Anode chung (Common Anode - CA) và Cathode chung (Common Cathode - CC). Với loại Anode chung, tất cả các chân dương (anode) của 8 LED được nối chung với nhau và cấp nguồn VCC. Để một đoạn LED sáng, chân cathode tương ứng của nó phải được kéo xuống mức logic 0 (GND). Ngược lại, với loại Cathode chung, tất cả các chân âm (cathode) được nối chung với GND, và một đoạn LED sẽ sáng khi chân anode tương ứng được cấp mức logic 1 (VCC). Để hiển thị một số, một mã nhị phân 8-bit tương ứng sẽ được gửi đến các chân điều khiển, bật/tắt các đoạn cần thiết. Ví dụ, để hiển thị số '1' trên loại CA, chỉ cần tắt 2 đoạn 'b' và 'c', các đoạn còn lại bật.

IV. Cách mô phỏng Proteus và lập trình code đèn giao thông C

Sau khi hoàn tất thiết kế trên lý thuyết, bước tiếp theo là kiểm tra tính đúng đắn của mạch thông qua mô phỏng Proteus. Proteus là một phần mềm mạnh mẽ cho phép vẽ sơ đồ nguyên lý, mô phỏng hoạt động của mạch điện tử và thiết kế mạch in (PCB). Việc mô phỏng giúp phát hiện sớm các lỗi sai trong logic thiết kế hoặc kết nối sai chân linh kiện trước khi tiến hành thi công mạch điện tử thực tế. Điều này giúp tiết kiệm thời gian, chi phí và công sức. Trong Proteus, các linh kiện như Arduino UNO R3, IC 74HC595, LED 7 đoạn và các LED đơn đều có sẵn trong thư viện. Sau khi vẽ xong sơ đồ nguyên lý mạch, chương trình điều khiển (.hex file) được biên dịch từ Arduino IDE sẽ được nạp vào mô hình Arduino trong Proteus. Chạy mô phỏng sẽ cho thấy trực quan hoạt động của hệ thống đèn giao thông, từ việc chuyển đổi màu đèn đến việc mạch đếm lùi chính xác. Giai đoạn này là một bước xác thực quan trọng trước khi chuyển sang phần lập trình Assembly hoặc ngôn ngữ C cho vi điều khiển thực tế.

4.1. Quy trình thiết kế mạch in PCB trên phần mềm Proteus

Từ sơ đồ nguyên lý đã được mô phỏng thành công, Proteus cung cấp công cụ ARES để thiết kế mạch in (PCB Layout). Quá trình này bắt đầu bằng việc chuyển toàn bộ linh kiện từ sơ đồ nguyên lý sang môi trường thiết kế PCB. Người thiết kế cần sắp xếp các linh kiện một cách hợp lý trên board mạch để tối ưu hóa không gian và đường đi dây. Sau đó, công cụ Auto-routing hoặc đi dây thủ công (Manual routing) được sử dụng để kết nối các chân linh kiện theo đúng sơ đồ nguyên lý. Cần chú ý đến độ rộng của đường mạch (track width) cho các đường nguồn và tín hiệu. Sau khi hoàn tất đi dây, có thể xem mô hình 3D của mạch để kiểm tra lại vị trí và hình dáng của các linh kiện. Cuối cùng, file thiết kế được xuất ra định dạng Gerber để gửi đến các xưởng sản xuất mạch in. Dù đồ án này có thể được thi công trên board test, việc học cách thiết kế PCB là một kỹ năng quan trọng cho kỹ sư tự động hóa.

4.2. Giải thích chi tiết code đèn giao thông ngôn ngữ C cho Arduino

Chương trình điều khiển được viết bằng code đèn giao thông ngôn ngữ C trong môi trường Arduino IDE. Cấu trúc code bao gồm ba phần chính. Phần đầu tiên là khai báo biến và định nghĩa chân, bao gồm mảng led7seg[] chứa mã hex để hiển thị các số từ 0-9 trên LED 7 đoạn, các biến thời gian t1, t2, và các định danh cho chân điều khiển LED và IC 74HC595. Phần thứ hai là hàm setup(), chạy một lần khi khởi động, dùng để cấu hình các chân là OUTPUT. Phần quan trọng nhất là hàm loop(), một vòng lặp vô tận. Bên trong loop(), các câu lệnh if được sử dụng để kiểm tra biến đếm thời gian tổng t và điều khiển bật/tắt các LED tương ứng với từng pha giao thông. Một hàm phụ demsoled() được viết để xử lý việc gửi dữ liệu hiển thị ra các IC 74HC595 thông qua lệnh shiftOut(). Lệnh này đẩy từng bit dữ liệu vào thanh ghi dịch một cách nối tiếp, sau đó một xung ở chân Latch (RCLK) sẽ xuất đồng thời dữ liệu ra các chân của IC, cập nhật số hiển thị trên LED.

V. Đánh giá kết quả và mô hình thực tế đồ án đèn giao thông

Kết quả cuối cùng của đồ án 2 thiết kế mạch đèn giao thông là một mô hình vật lý hoạt động ổn định, mô phỏng chính xác hệ thống tín hiệu tại một giao lộ. Mô hình thực tế đã hoàn thành tốt các mục tiêu đề ra: hệ thống đèn hoạt động đúng theo lưu đồ giải thuật đèn giao thông đã thiết kế, các pha đèn Xanh-Vàng-Đỏ chuyển đổi tuần tự và đúng thời gian. Mạch đếm lùi sử dụng LED 7 đoạn hiển thị rõ ràng và chính xác thời gian còn lại của mỗi pha đèn, giúp người tham gia giao thông có sự chuẩn bị tốt hơn. Quá trình thi công mạch điện tử được thực hiện cẩn thận, các linh kiện được hàn chắc chắn trên board mạch, đảm bảo kết nối tốt và tính thẩm mỹ. Việc so sánh giữa kết quả mô phỏng trên Proteus và hoạt động của mạch thực tế cho thấy sự tương đồng cao, chứng tỏ quá trình thiết kế và mô phỏng đã được thực hiện chính xác. Thành công của đồ án này không chỉ là một sản phẩm hoàn chỉnh mà còn là sự minh chứng cho việc sinh viên đã nắm vững kiến thức chuyên ngành, từ lý thuyết điện tử đến kỹ năng lập trình và thi công. Đây là nền tảng vững chắc để chuẩn bị cho việc bảo vệ đồ án 2.

5.1. Hình ảnh và video mô hình thực tế của mạch điều khiển

Mô hình thực tế bao gồm một board mạch trung tâm chứa Arduino UNO R3, các IC 74HC595, điện trở và các zắc cắm. Từ board trung tâm, dây tín hiệu được nối ra hai cột đèn mô phỏng. Mỗi cột đèn bao gồm 3 LED đơn (Đỏ, Vàng, Xanh) và 2 LED 7 đoạn để tạo thành mạch đếm lùi. Toàn bộ hệ thống được cấp nguồn qua cổng USB. Khi hoạt động, có thể quan sát rõ ràng sự luân phiên của các đèn tín hiệu và bộ đếm thời gian hoạt động đồng bộ. Hình ảnh chụp mặt trước và mặt sau của mạch cho thấy kỹ thuật đi dây và hàn mạch. Video ghi lại quá trình hoạt động của mô hình là bằng chứng trực quan và sinh động nhất về kết quả đạt được, thể hiện hệ thống vận hành trơn tru qua nhiều chu kỳ, đúng với nguyên lý hoạt động đèn giao thông đã được lập trình.

5.2. So sánh kết quả thực tế với mô phỏng Proteus

Việc đối chiếu kết quả thực tế với mô phỏng Proteus là một bước đánh giá quan trọng. Về mặt logic hoạt động, mạch thực tế hoạt động hoàn toàn giống với mô phỏng. Thời gian chuyển pha, trình tự sáng của các đèn, và số hiển thị trên mạch đếm lùi đều khớp 100%. Điều này khẳng định tính chính xác của sơ đồ nguyên lý mạchcode đèn giao thông ngôn ngữ C. Tuy nhiên, có thể có một vài khác biệt nhỏ về mặt vật lý, ví dụ như độ sáng của các LED có thể không đồng đều tuyệt đối do sai số của điện trở hoặc chất lượng LED. Những sai khác này không ảnh hưởng đến chức năng chính của hệ thống và là điều bình thường trong quá trình chuyển từ mô phỏng sang thi công. Nhìn chung, sự thành công của mô phỏng là một chỉ báo mạnh mẽ cho sự thành công của sản phẩm thực tế.

VI. Hướng phát triển và kinh nghiệm bảo vệ đồ án 2 thành công

Một đồ án kỹ thuật điều khiển thành công không chỉ dừng lại ở việc hoàn thành yêu cầu ban đầu mà còn mở ra những hướng phát triển tiềm năng trong tương lai. Đối với đồ án thiết kế mạch đèn giao thông, có nhiều hướng nâng cấp giá trị. Một trong những hướng đi rõ ràng nhất là mở rộng hệ thống từ giao lộ hai tuyến đường (ngã hai) lên mạch đèn giao thông ngã tư. Điều này đòi hỏi phải điều chỉnh lại lưu đồ giải thuật đèn giao thôngcode đèn giao thông ngôn ngữ C để quản lý nhiều pha đèn phức tạp hơn, có thể bao gồm cả pha cho phép rẽ trái. Một hướng phát triển khác là tích hợp thêm các tính năng thông minh, ví dụ như chế độ đèn vàng nhấp nháy vào ban đêm khi lưu lượng giao thông thấp, hoặc thêm nút bấm và tín hiệu đèn dành cho người đi bộ qua đường. Xa hơn nữa, có thể nghiên cứu sử dụng cảm biến để đo mật độ phương tiện và tự động điều chỉnh thời gian đèn xanh cho phù hợp, tạo ra một hệ thống giao thông thích ứng. Những ý tưởng này không chỉ làm cho đồ án phong phú hơn mà còn thể hiện tầm nhìn và khả năng sáng tạo của sinh viên khi bảo vệ đồ án 2.

6.1. Gợi ý nâng cấp hệ thống đèn giao thông trong tương lai

Để nâng cấp hệ thống, có thể xem xét việc thay thế Arduino UNO R3 bằng các vi điều khiển 8051 như AT89C51 hoặc AT89S52lập trình Assembly để tối ưu hóa hiệu năng và hiểu sâu hơn về kiến trúc vi điều khiển. Một hướng khác là sử dụng lập trình PLC S7-200, một kỹ năng rất quan trọng trong công nghiệp, để điều khiển hệ thống. Ngoài ra, có thể thêm vào các module giao tiếp như Bluetooth hoặc Wi-Fi để cho phép giám sát và điều khiển hệ thống từ xa qua điện thoại hoặc máy tính. Tích hợp camera và áp dụng các thuật toán xử lý ảnh để nhận diện lưu lượng xe cũng là một hướng phát triển cao cấp, biến đồ án thành một sản phẩm gần hơn với các hệ thống giao thông thông minh (ITS) hiện đại.

6.2. Bí quyết chuẩn bị báo cáo và bảo vệ đồ án 2 hiệu quả

Để bảo vệ đồ án 2 thành công, sự chuẩn bị kỹ lưỡng là yếu tố quyết định. Trước hết, quyển báo cáo phải được trình bày rõ ràng, logic, đầy đủ các phần từ giới thiệu, cơ sở lý thuyết, thiết kế, thi công đến kết quả và kết luận. Các sơ đồ nguyên lý mạch, lưu đồ giải thuật phải được vẽ chuyên nghiệp. Thứ hai, sinh viên phải nắm thật vững kiến thức của mình, từ chức năng của từng linh kiện như IC 7447 hay 74HC595, đến giải thích được từng dòng trong code đèn giao thông ngôn ngữ C. Hãy chuẩn bị sẵn các câu hỏi mà hội đồng có thể hỏi. Cuối cùng, phần trình bày cần tự tin, mạch lạc và sản phẩm demo phải hoạt động trơn tru. Một bản báo cáo thực tập tự động hóa tốt cũng có thể là nguồn tham khảo hữu ích về cách trình bày. Sự chuẩn bị chu đáo sẽ giúp bạn thể hiện được toàn bộ công sức và kiến thức đã đầu tư vào đồ án.

11/09/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề , chọn đề tài Em đã tìm hiểu nhiều nguồn trên internet và tham khảo ý kiến của thầy giáo hướng dẫn T.s Cao Minh Quyền qua đó em đã đúc kết được một số kiến thức cũng như rút được kinh nghiệm như: Cách thiết kế mạch có thể sử dụng các IC số hoặc vi điều khiển. Các cách thì có ưu nhược điểm riêng. Nếu sử dụng IC số thì không cần đòi hỏi các kiến thức về lập trình. Nhưng mạch cồng kềnh, nhiều linh kiện, mạch layout phức tạp, hệ thống khó phát triển nâng cấp.

Nếu sử dụng vi điều khiển thì mạch nhỏ gọn ít IC, layout đơn giản, hệ thống dễ nâng cấp phát triển,. Nhưng đòi hỏi người thực hiện phải nắm các kiến thức về lập trình cho vi điều khiển. Vì môn học đồ án 2 yêu cầu người thực hiện nắm những kiến thức về các linh kiện điện tử, IC số, các kĩ năng về thi công, thiết kế mạch, những kiến thức chuyên môn, chuyên sâu về thiết kế điều khiển lập trình tự động cho các hệ thống theo quy trình công nghệ. Nên em đã chọn thiết kế mạch đèn giao thông tại ngã 2 với thời gian hiển thị không thay đổi sử dụng vi điều khiển ARDUINO UNO R3.

Mục tiêu và nhiệm vụ nghiên cứu - Mục tiêu : Nghiên cứu và thiết kế hệ thống đèn giao thông sử dụng arduino để điều khiển. - Nhiệm vụ nghiên cứu: Tìm hiểu về hệ thống đèn giao thông và nghiên cứu tìm hiểu về ngôn ngữ lập trình cho vi điều khiển Arduino để hoàn thành hệ thống đèn giao thông sử dụng Arudino Uno R3. Đối tượng nghiên cứu Đối tượng: + Tìm hiểu và nghiên cứu hệ thống đèn giao thông sử dụng Arduino để diều khiển + Các thành phần có trong hệ thống 8 CHƯƠNG 2 :PHÂN TÍCH YÊU CẦU CỦA ĐỀ TÀI VÀ THIẾT KẾ MẠCH 1. Yêu cầu bài toán Đề tài : Thiết kế mạch đèn giao thông tại ngã 2 với thời gian mặc định sử dụng arduino để điều khiển 2.

Giải pháp thiết kế 2. Sơ đồ khối Khối điều khiển Khối hiển thị Khối nguồn Mạch có 3 khối : - Khối nguồn - Khối điều khiển - Khối hiển thị 2. Phân tích chức năng và nhiệm vụ của từng khối a) Khối nguồn Khối nguồn cung cấp dòng điện cho toàn mạch. + Cung cấp nguồn cho Arduino + Cung cấp cho khối hiển thị b) Khối điều khiển 9 Bao gồm arduino uno r3 và ic 74hc595 có nhiệm vụ đọc dữ liệu , xử lý thuật toán và đưa tín hiệu đến khối hiển thị.

c) Khối hiển thị Khối hiển thị có tác dụng hiển thị các tín hiệu từ khối điều khiển bao gồm các led đơn (xanh , đỏ , vàng ) và các led 7 thanh. Sơ đồ nguyên lý Hình 1:Sơ đồ nguyên lý của mạch 4. Nguyên lý hoạt động của mạch Đèn giao thông tại ngã hai có 2 cột đèn, và 2 tuyến. Mỗi cột có 3 đèn, như vậy tất cả có 6 đèn.

Chương trình sẽ điều khiển 6 đèn gồm đèn Đỏ, Vàng, Xanh trên tuyến 1 và đèn Đỏ, Vàng, Xanh trên tuyến 2. 10 Hình 2: Hình ảnh mô phỏng nguyên tắc hoạt động của đèn giao thông Khi cấp nguồn 5V DC cho mạch thì IC 74HC595 nhận được tín hiệu từ Arduino sau đó sẽ dịch dữ liệu và hiển thị số giây đèn tín hiệu trên Led 7 đoạn và Arduino sẽ điều khiển đèn giao thông được hiển thị trên các led đơn Ở đây với chương trình được lập trình sẵn,khi đèn xanh sáng ở tuyến 1 với thời gian đèn xanh sáng 35 s đếm ngược thì tất cả các phương tiện tuyến 1 được di chuyển đồng thời đèn đỏ sẽ sáng ở tuyến 2 với thời gian 40s đếm ngược thì tất cả các phương tiện ở tuyến 2 sẽ ngừng di chuyển.Trong khoảng thời gian 40s đèn đỏ sáng ở tuyến 2 thì hết 35s đèn xanh ở tuyến 1 đèn vàng sẽ sáng trong 5s ở tuyến 1. Hết 40s đèn đỏ ở tuyến 2 thì đèn xanh ở tuyến 2 sẽ sáng với thời gian sáng là 35s đếm ngược, đồng thời đèn đỏ ở tuyến 1 sẽ sáng với thời gian sáng là 40s đếm ngược.Trong khoảng 40s thời gian đèn đỏ sáng ở tuyến 1 thì hết 35s đèn xanh ở tuyến 2, đèn vàng ở tuyến 2 sẽ sáng trong 5s. Để hiểu rõ hơn ta sẽ lập 1 giản đồ thời gian đơn giản như sau : Hình 3: Giản đồ thời gian Nhìn vào bản đồ thời gian ta dễ dàng nhận thấy thời gian hoạt động của các đèn trên mỗi tuyến, mối liên hệ giữa các đèn của 2 tuyến.

Khi tuyến 1 đèn Xanh hoặc Vàng thì tuyến 2 sẽ đèn Đỏ, ngược lại khi tuyến 1, đèn Đỏ thì tuyến 2 sẽ Xanh hoặc Vàng tùy theo thời gian. Thời gian đèn Đỏ = Thời gian đèn Xanh + Thời gian đèn Vàng 11 5. Lựa chọn linh kiện Tên linh kiện Số lượng Arduino Uno R3 1 IC 74hc595 4 Led đơn màu vàng 2 Led đơn màu đỏ 2 Led đơn màu xanh lá 2 Led 7 thanh 4 Điện trở 330 8 Bảng 1: Các linh kiện có trong mạch 5. Giới thiệu arduino uno r3 5.

Khái niệm Arduino UNO R3 là kit Arduino UNO thế hệ thứ 3, với khả năng lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh cho các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C). 12 Hình 4: Hình ảnh Arduino uno r3 5. Các cổng vào ra Hình 5: Các chân vào ra của Arduino Arduino UNO R3 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ộ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 và nhận dữ liệu TTL Serial. 13 Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này.  Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).  Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.

 LED 13: trên Arduino UNO R3 có 1 đèn LED màu cam (kí hiệu chữ L). Khi bấm nút Reset, đèn LED nhấp nháy để báo hiệu. Nó được nối với chân số 13 khi chân này được sử dụng đèn LED sẽ sáng.  Arduino UNO R3 có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 2 10-1) để đọc giá trị điện áp trong khoảng 0V → 5V.

Với chân AREF trên board, có thể đưa vào điện áp tham chiếu khi sử dụng các chân analog.  Đặc biệt, Arduino UNO R3 có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác. Chức năng các chân 14 Arduino Tên Ghim Kiểu Chức Năng NANO Pin 15 1 D1 / TX I/O Chân I / O digital, chân TX nối tiếp 2 D0 / RX I/O Chân I / O digital, chân RX nối tiếp 3 RESET INPUT Reset (hoạt đông khi đăt › mức Thấp) 4 GND POWER Chân Nguồn 5 D2 I/O Pin I/O digital 6 D3 I/O Pin I/O digital 7 D4 I/O Pin I/O digital 8 D5 I/O Pin I/O digital 9 D6 I/O Pin I/O digital 10 D7 I/O Pin I/O digital 11 D8 I/O Pin I/O digital 12 D9 I/O Pin I/O digital 13 D10 I/O Pin I/O digital 14 D11 I/O Pin I/O digital 15 D12 I/O Pin I/O digital 16 D13 I/O Pin I/O digital 17 3V3 OUTPUT Đầu ra 3.3 V 18 AREF INPUT Đầu vào điện áp tham chiếu 19 A0 INPUT Kênh đầu vào analog 20 A1 INPUT Kênh đầu vào analog 21 A2 INPUT Kênh đầu vào analog 22 A3 INPUT Kênh đầu vào analog 23 A4 INPUT Kênh đầu vào analog 24 A5 INPUT Kênh đầu vào analog 25 A6 INPUT Kênh đầu vào analog 26 A7 INPUT Kênh đầu vào analog 27 +5V I/O Đầu ra 5V từ bô điều › chỉnh trên bo hoăc › đầu vào 5V từ nguồn bên ngoài 28 RESET INPUT Reset (hoạt đông khi đăt ›mức Thấp) 29 GND POWER Chân Nguồn 30 VIN POWER Chân Nguồn Bảng 2: Chức năng các chân của Arduino UNO R3 Arduino UNO R3 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 16 chân là 40mA và có điện trở kéo lên khoảng 20-50k ohms.

Các chân nguồn: Arduino Uno R3 được cấp nguồn 5V qua cáp usb hoặc cấp nguồn ngoài thông qua Adaptor chuyển đổi , với điện áp khuyên dùng là khoảng 6-9V. Có thể cấp nguồn từ máy tính qua cổng usb về.3V là chân dùng để cấp nguồn đầu ra cho các thiết bị chứ không phải chân cấp nguồn vào.  Vin(Voltage Input): Dùng để cấp nguồn ngoài cho Arduino Uno, nối dương cực vào chân nà và cực âm vào chân GND.  GND(Ground): Cực âm của nguồn điện cấp cho Arduino Uno.

Khi sử dụng các thiết bị sử dụng những nguồn điện riêng biệt thì phải nối các chân này.  IOREF: Điện áp hoạt động của Arduino, có mức điện áp là 5V. Không được sử dụng để lấy nguồn từ chân này.  RESET: Việc nhấn nút RESET trên mạch arduino tương tự như khi nối chân RESET với GND qua điện trở 10KΩ.

Thông số kỹ thuật Vi điều khiển ATmega328P Điện áp hoạt động 5V Điện áp vào khuyên dùng 7-12V Điện áp vào giới hạn 6-20V Digital I/O pin 14 (trong đó 6 pin có khả năng băm xung) PWM Digital I/O Pins 6 Analog Input Pins 6 Cường độ dòng điện trên mỗi I/O pin 20 mA Cường độ dòng điện trên mỗi 3.3V pin 50 mA 32 KB (ATmega328P) Flash Memory 0.5 KB được sử dụng bởi bootloader SRAM 2 KB (ATmega328P) 17 Vi điều khiển ATmega328P EEPROM 1 KB (ATmega328P) Tốc độ 16 MHz Chiều dài 68.6 mm Chiều rộng 53.4 mm Trọng lượng 25 g Bảng 3: Thông số kỹ thuật của arduino 5. Lập trình cho Arduino UNO R3  Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE Hình 6: Giao diện lập trình  Cấu trúc của một chương trình: Cấu trúc ban đầu của chương trình trong Arduino IDE khá đơn giản, chỉ bao gồm hai hàm setup() và loop(). Khi chương trình bắt đầu chạy, những lệnh trong setup() sẽ được xử lý đầu tiên, ta thường dùng hàm này để khởi tạo trạng thái và giá trị của các biến hay các thông số trong chương trình. 18 Sau khi setup() chạy xong, những lệnh trong loop() được chạy.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ