1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đồ án môn học kỹ thuật số mạch đếm và hiển thị đèn giao thông sử dụng IC 74HC595 (full code)

23 107 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐH GIAO THÔNG VẬN TẢI TP HCM KHOA ĐIỆN – ĐIỆN TỬ VIỄN THÔNG BÁO CÁO ĐỒ ÁN MÔN HỌC HỌC PHẦN: KỸ THUẬT SỐ Mã học phần: 032104 Đề tài thực hiện: Thiết kế thi công mạch hiển thị đèn giao thông Giảng viên hướng dẫn: Th.S Lại Nguyễn Duy Nhóm thực hiện: Nhóm 10 Sinh viên thực hiện: Ngơ Quốc Trưởng 1951050105 TD19 Phan Đình Hồi 1951050060 TD19 Nguyễn Đăng Khoa 1951050069 TD19 Lê Đình Trọng 1951050038 TD19 Tp Hồ Chí Minh, ngày 22 tháng 05 năm 2021 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy BẢNG PHÂN CÔNG NHIỆM VỤ STT Họ tên Ngơ Quốc Trưởng Phan Đình Hồi Thi cơng mạch làm báo cáo Nguyễn Đăng Khoa Mua linh kiện thi cơng mạch Lê Đình Trọng Mua linh kiện thi công mạch Báo cáo đồ án Kỹ thuật số ; Nhiệm vụ Thiết kế mạch, viết chương trình làm báo cáo Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy LỜI NĨI ĐẦU Một số thị lớn Hà Nội, TP Hồ Chí Minh,… số lượng dân cư sinh sống, làm việc lớn, dẫn đến số lượng xe máy tham gia giao thông nhiều Những cao điểm nút giao thông lớn lượng xe tham gia đơng dẫn đến tình trạng kẹt xe, thiếu an tồn cho người tham gia giao thơng Vì để đảm bảo giao thơng an tồn thơng suốt việc sử dụng hệ thống tín hiệu để điều khiển phân luồng nút giao thông cần thiết Nhận thấy vấn đề cần thiết, với kiến thức học học phần Kỹ thuật số với số kiến thức liên quan khác, nhóm chúng em lựa chọn đề tài cho tập lớn là: “Thiết kế thi công mạch hiển thị đèn giao thông” Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG Khái quát chung đề tài 1.1 Đặt vấn đề lý chọn đề tài 1.2 Mục tiêu đề tài CHƯƠNG 2.1 Giới thiệu thiết bị Arduino Uno R3 2.1.1 Thông số kỹ thuật 2.1.2 Nguồn cấp 2.1.3 Bộ nhớ 2.1.4 Các chân đầu vào đầu 2.2 IC 74HC595 2.2.1 Sơ đồ chân 2.2.2 Nguyên lý hoạt động IC 2.2.3 Giản đồ xung 12 2.3 LED đoạn 12 2.3.1 Cấu tạo 12 2.3.2 Nguyên lý hoạt động 12 2.4 LED phát sáng 13 CHƯƠNG 3.1 Thiết kế mô mạch hiển thị đèn giao thông 14 Phần mềm hỗ trợ 14 3.1.1 Arduino IDE 14 3.1.2 Protues Professional 15 3.2 Sơ đồ khối 16 3.3 Nguyên lí hoạt động 16 3.4 Mô mạch Protues nguyên lý hoạt động 17 3.5 Lưu đồ giải thuật 18 3.6 Code chương trình 18 3.7 Tiến hành thi công mạch 20 CHƯƠNG Kết luận hướng phát triển 22 4.1 Kết luận 22 4.2 Hướng phát triển 22 TÀI LIỆU THAM KHẢO 23 Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy CHƯƠNG KHÁI QUÁT CHUNG VỀ ĐỀ TÀI 1.1 ĐẶT VẤN ĐỀ VÀ LÝ DO CHỌN ĐỀ TÀI Đa số lựa chọn xe máy phương tiện di chuyển ngày, Việt Nam số lượng xe máy năm qua tăng cách đột biến, mật độ xe lưu thông đường ngày nhiều, hệ thống đường giao thơng Việt Nam nhiều hạn chế nên thường gây tượng kẹt xe, ách tắc giao thông, đặc biệt tai nạn giao thông ngày phổ biến trở thành mối hiểm họa cho nhiều người Để giải vấn đề đó, luật giao thơng đời để người dân tuân thủ theo, nâng cao ý thức chấp hành, hệ thống biển báo đường đi, Trong hệ thống đèn giao thơng cơng cụ điều khiển giao thông công cộng thực tế hiệu có vai trị lớn việc đảm bảo an tồn giảm thiểu tai nạn giao thơng Trước thực tiễn với kiến thức học học phần Kỹ thuật số học phần liên quan trước chúng em chọn đề tài “Thiết kế thi công mạch hiển thị đèn giao thông” để tiến hành nghiên cứu thực đề tài Hình Hệ thống đèn giao thơng 1.2 MỤC TIÊU CỦA ĐỀ TÀI Mục tiêu đề tài “Thiết kế thi công mạch hiển thị đèn giao thơng” bao gồm: − Tìm hiểu chế hoạt động LED đoạn, IC 74HC595, board mạch Aruduino, − Viết chương trình hiển thị đèn giao thơng với chế độ − Thiết kế thi công mạch in Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy CHƯƠNG GIỚI THIỆU VỀ CÁC THIẾT BỊ 2.1 ARDUINO UNO R3 Hình Arduino Uno R3 Arduino Uno bảng mạch vi điều khiển nguồn mở dựa vi điều khiển Microchip ATmega328 phát triển Arduino.cc Bảng mạch trang bị chân đầu vào/ đầu Digital Analog giao tiếp với bảng mạch mở rộng khác 2.1.1 Thông số kỹ thuật Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ 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 (độ phân giải 10bit) Dòng tối đa chân I/O 30 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328) Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy 2.1.2 Nguồn cấp − LED: Có LED tích hợp bảng mạch nối vào chân D13 Khi chân có giá trị mức cao (HIGH) LED sáng LED tắt mức thấp (LOW) − VIN: Chân dùng để cấp nguồn (điện áp cấp từ 7-12VDC) − 5V: Điện áp 5V (dòng điện chân tối đa 500mA) − 3V3: Điện áp 3.3V (dòng điện chân tối đa 50mA) − GND: Là chân mang điện cực âm board − IOREF: Điệp áp hoạt động vi điều khiển Arduino UNO đọc điện áp chân IOREF Chân IOREF không dùng để làm chân cấp nguồn 2.1.3 Bộ nhớ Vi điều khiển ATmega328: − 32 KB nhớ Plash: bootloader chiếm 0.5KB − KB cho SRAM: (Static Random Access Menory): giá trị biến khai báo lưu Khai báo nhiều biến tốn nhiều nhớ RAM Khi nguồn liệu SRAM bị − KB cho EEPROM: (Electrically Eraseble Programmable Read Only Memory): Là nơi đọc ghi liệu vào không bị liệu nguồn 2.1.4 Các chân đầu vào đầu 2.1.4.1 Các chân digital Trên Board Arduino Uno có 14 chân Digital sử dụng để làm chân đầu vào đầu chúng sử dụng hàm pinMode(), digitalWrite(), digitalRead() Giá trị điện áp chân 5V, dòng chân 20mA bên có điện trở kéo lên 20-50 ohm Dịng tối đa chân I/O khơng vượt q 40mA để tránh trường hợp gây hỏng board mạch Ngoài ra, số chân Digital có chức đặt biệt: − Serial: (RX) (TX): Được sử dụng để nhận liệu (RX) truyền liệu (TX) TTL − Ngắt ngoài: Chân − PWM: 3, 5, 6, 11 Cung cấp đầu xung PWM với độ phân giải bit hàm analogWrite () − SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Các chân hỗ trợ giao tiếp SPI thư viện SPI Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy − LED: Có LED tích hợp bảng mạch nối vào chân D13 Khi chân có giá trị mức cao (HIGH) LED sáng LED tắt mức thấp (LOW) − TWI/I2C: A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác 2.1.4.2 Các chân anolog Arduino Uno R3 có chân Analog từ A0 đến A5, đầu vào cung cấp độ phân giải 10 bit 2.2 IC 74HC595 Hình IC 74HC595 74HC595 IC ghi dịch bits kết hợp chốt liệu, đầu vào nối tiếp, đầu song song Thường dùng mạch điều khiển LED đoạn, quét LED ma trận,… để tiết kiệm số chân vi điều khiển tối đa (chỉ dùng chân) Có thể mở rộng số ngõ vi điều khiển tùy thích việc mắc nối tiếp đầu vào liệu IC với 2.2.1 Sơ đồ chân Hình Sơ đồ chân IC 74HC595 Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 Tên chân VCC GND DS (SER) SH_CP (SRCLK) ST_CP (RCLK) 𝑂𝐸 GVHD: ThS Lại Nguyễn Duy Chức Nguồn 5V Nguồn 0V Ngõ vào liệu nối tiếp Xung dịch liệu Xung xuất liệu ngõ Cho phép ngõ ra, tích cực mức thấp Mức cho phép ngõ ra, mức không cho phép ngõ 𝑀𝑅 Chân Reset Khi chân mức liệu bị xóa (𝑆𝑅𝐶𝐿𝑅) Q0 - Q7 Ngõ liệu song song (QA-QH) Q7′ (QH’) Ngõ liệu nối tiếp Khi dùng nhiều 74HC595 mắc nối tiếp chân đưa vào đầu vào (DS) dịch đủ bit 2.2.2 Nguyên lý hoạt động IC 2.2.2.1 Sơ đồ kết nối sơ đồ logic Hình Sơ đồ kết nối IC 74HC595 Báo cáo đồ án Kỹ thuật số ; Trang Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy Hình Sơ đồ logic IC 74HC595 Báo cáo đồ án Kỹ thuật số ; Trang 10 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy 2.2.2.2 Nguyên lý hoạt động Hình Nguyên lý hoạt động IC 74HC595 Ta đặt liệu vào chân DS, tạo xung SHCP liệu chân DS dịch vào ghi 8-STAGE SHIFT REGISTER Lần lượt làm lần (dịch bit cao trước), ta bit ghi 8-STAGE SHIFT REGISTER Sau ta tạo xung STCP bit ghi 8-STAGE SHIFT REGISTER chép sang ghi 8-BIT STORAGE REGISTER Lúc chân OE mức thấp ngõ với giá trị ghi 8-BIT STORAGE REGISTER, chân OE mức cao ngõ trạng thái tổng trở cao (Hi-Z) Chú ý: − Khi dịch liệu vào ghi 8-STAGE SHIFT REGISTER, chưa tạo xung STCP ghi 8-BIT STORAGE REGISTER giữ nguyên trạng thái ngõ giữ nguyên trạng thái − Khi chân MR mức liệu ghi 8-STAGE SHIFT REGISTER bị xóa, cịn ghi 8-BIT STORAGE REGISTER giữ nguyên trạng thái ngõ giữ nguyên trạng thái Báo cáo đồ án Kỹ thuật số ; Trang 11 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy 2.2.3 Giản đồ xung Hình Giản đồ xung IC 74HC595 2.3 LED ĐOẠN 2.3.1 Cấu tạo − LED đoạn đèn LED xếp thành hình chữ nhật Mỗi LED đoạn Khi đoạn chiếu sáng phần chữ số (hệ thập phân thập lục phân) hiển thị − Mỗi đèn LED đoạn có chân đưa khỏi hộp hình vng Mỗi chân gán cho chữ từ a đến g tương ứng với LED Những chân khác nối lại với thành chân chung Hình LED đoạn 2.3.2 Nguyên lý hoạt động Tất chân anode nối với với logic Mỗi phân đoạn chiếu sáng cách sử dụng điện trở tín hiệu logic (hay low) vào cực cathode (từ a đến g) Báo cáo đồ án Kỹ thuật số ; Trang 12 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy Hình 10 Nguyên lý hoạt động LED đoạn anode chung Tùy vào chữ số thập phân hiển thị mà đèn LED cụ thể phân cực thuận Ví dụ để hiển thị chữ số 0, cần phải chiếu sáng đoạn tương ứng a, b, c, d, e f Như số từ đến hiển thị LED đoạn hình bên Hình 11 Sơ đồ nguyên lý hoạt động LED đoạn 2.4 LED PHÁT SÁNG − LED linh kiện quang điện tử − Nó cho ta lơi điểm sau: tần số hoạt động cao, thể tích nhỏ, cơng suất tiêu hao bé , khơng hút điện mạnh − Sự phát sinh dựa nguyên tắc hồn tồn giống bóng đèn − Ở vật chất đốt nóng photon bị phóng thích Hình 12 Cấu tạo LED phát sáng Báo cáo đồ án Kỹ thuật số ; Trang 13 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy CHƯƠNG THIẾT KẾ VÀ MÔ PHỎNG MẠCH HIỂN THỊ ĐÈN GIAO THÔNG 3.1 PHẦN MỀM HỖ TRỢ 3.1.1 Arduino IDE Arduino IDE phần mềm mã nguồn mở chủ yếu sử dụng để viết biên dịch mã vào module Arduino Đây phần mềm Arduino thức, giúp cho việc biên dịch mã trở nên dễ dàng mà người bình thường khơng có kiến thức kỹ thuật làm Hình 13 Giao diện phần mềm Arduino IDE Nó có phiên cho hệ điều hành MAC, Windows, Linux chạy tảng Java kèm với chức lệnh có sẵn đóng vai trị quan trọng để gỡ lỗi, chỉnh sửa biên dịch mã mơi trường Có nhiều module Arduino Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro nhiều module khác Mỗi module chứa vi điều khiển bo mạch lập trình chấp nhận thơng tin dạng mã Mã chính, cịn gọi sketch, tạo tảng IDE tạo file Hex, sau chuyển tải lên điều khiển bo Báo cáo đồ án Kỹ thuật số ; Trang 14 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy Môi trường IDE chủ yếu chứa hai phần bản: Trình chỉnh sửa Trình biên dịch, phần đầu sử dụng để viết mã yêu cầu phần sau sử dụng để biên dịch tải mã lên module Arduino Môi trường hỗ trợ ngôn ngữ C C ++ 3.1.2 Protues Professional Protues phần mềm mô mạch điện tử Labcenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR,… Hình 14 Phần mềm Proteus Professional v8.1 Phần mềm bao gồm mảng ISIS cho phép mơ mạnh điện tử ARES dùng để vẽ mạch in Hình 15 Giao diện phần mềm Protues Vì phần mềm đơn giản, dễ sử dụng nên chúng em sử dụng phần mềm để mô mạch nguyên lý thiết kế mạch in Báo cáo đồ án Kỹ thuật số ; Trang 15 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy 3.2 SƠ ĐỒ KHỐI Trong đó: − Nguồn: Cung cấp nguồn 5V ổn định cho mạch − Arduino: Xử lý điều khiển mạch − IC 74HC595: Xuất số đếm LED đoạn − LED đoạn: Hiển thị số đếm − LED tín hiệu: Hiển thị tín hiệu giao thơng (xanh, đỏ vàng) 3.3 NGUYÊN LÍ HOẠT ĐỘNG Khi cấp nguồn vào mạch, board arduino Uno R3 thực chương khởi tạo đếm timer với chu kì 30s Nếu cơng tắc đóng lúc boarh mạch arduino xuất tín hiệu cho LED đoạn thông qua IC ghi dịch 74HC595 để quét số đếm chế độ phân luồng giao thông, điều khiển giao thông tương đương với đèn LED xanh, đỏ, vàng sáng luân phiên Ngược lại công tắc mở LED đoạn tắt, lúc chế độ đèn tín hiệu cảnh báo tương đương đèn vàng nhấp nháy Báo cáo đồ án Kỹ thuật số ; Trang 16 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy 3.4 MƠ PHỎNG MẠCH TRÊN PROTUES VÀ NGUYÊN LÝ HOẠT ĐỘNG Hình 16 Mơ mạch ngun lý phần mềm Protues Hình 17 Mơ mạch 3D (khơng có board aruduino) Hình 18 Bản thiết kế mạch in Báo cáo đồ án Kỹ thuật số ; Trang 17 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy 3.5 LƯU ĐỒ GIẢI THUẬT Hình 19 Lưu đồ giải thuật 3.6 CODE CHƯƠNG TRÌNH #include #define sh 13 #define ds 12 #define st 11 #define xanh1 #define vang1 #define do1 Báo cáo đồ án Kỹ thuật số ; Trang 18 Nhóm thực hiện: Nhóm 10 GVHD: ThS Lại Nguyễn Duy #define xanh2 #define vang2 #define do2 #define sw byte mahex_a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; volatile boolean clk_1hz = 0; volatile unsigned int count=0; unsigned int LED1=10; unsigned int LED2=10; unsigned int LED3=10; unsigned int LED4=10; unsigned int LED5=10; void setup() { for (int i=2; i

Ngày đăng: 26/08/2021, 23:08

TỪ KHÓA LIÊN QUAN

w