Chương 1: Tổng quan: Nêu tính cấp thiết của đề tài, xu hướng và tình hình khoa học và công nghệ hiện nay. Sự phát triển công nghiệp và đời sống hằng ngày và từ đó đưa ra lý do chọn đề tài và xác định mục tiêu cho đề tài. Chương 2: Cở sở lý thuyết: Trình bày tổng quan về các thành phần và chức năng của từng loại phần cứng có trong hệ thống, dẫn dắt chi tiết cụ thể để xây dựng hoàn chỉnh về mô hình. Chương 3: Thiết kế và xây dựng hệ thống: Từ yêu cầu đề tài, trình bày về sơ đồ hệ thống.
Nêu ra các phương pháp xử lý dữ liệu rồi từ đó thiết kế mô hình. Chương 4: Kết quả thực hiện: Trình bày về kết quả của từng khối nhỏ và kết quả điều khiển hiển thị led bằng remote thông qua hình ảnh, video. Đưa ra các hiển thị như mong muốn đã lập trình. Chương 5: Kết luận và hướng phát triển: Dựa vào kết quả có được từ chương 4, đưa ra kết luận tổng quan về những gì đạt được và chưa đạt được của đề tài.
Từ đó đưa ra hướng phát triển để cải thiện hệ thống. 2 [ ] CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. DS1307 Module thời gian thực RTC DS1307 dùng để gọi thời gian : ngày, tháng, năm, giờ, phút, giây cho Vi điều khiển thông qua chẩun I2C, được tích hợp kèm thạch anh 32kHz. Có nguồn pin 3v để hoạt động thời gian một cách bền bỉ, DS1307 có một bộ dao động tích hợp giúp đảm bảo độ chính xác của đồng hồ và một bộ nhớ truy cập ngẫu nhiên (RAM) để lưu trữ dữ liệu.
3 Ký hiệu DS1307 mặt trước DS1307 mặt sau DS1307 Min Ký Thông số Nom Max Đơn STT (nhỏ hiệu (Chuẩn) (tối đa) vị nhất) 1. Vcc Điện áp cung cấp 4.5 V Điện áp vào mức 2.3 V cao 3 Điện áp vào mức 3. VBAT Nguồn dự trữ 2 3 3. ILI Dòng rò SCL -1 1 6.
ILO Dòng rò SDA -1 1 7. ICCA Dòng tiêu thụ 1. 1 : Thông số kỹ thuật cho DS1307 Chân Tên Chức năng 1 X1 Kết nối với thạch anh 32.768KHz tiêu chuẩn. Mạch dao động bên trong thiết kế để hoạt động với tinh thể có điện dung tải 2 X2 xác định 12,5pF.
Nguồn cung cấp đầu vào 3V dự phòng cho mạch. Pin phải 3 VBAT được giữ ổn định để hoạt động thích hợp. nếu nguồn cung cấp dự phòng là không cần thiết thì VBAT được nối đất. 4 GND Ground Đầu vào/ra dữ liệu nối tiếp (giao tiếp I2C).
Chân SDA truyền 5 SDA dữ liệu và cần có 1 điện trở kéo lên bên ngoài (điện áp kéo lên có thể lên đến 5.5V) Đầu vào nối tiếp. SCL truyền xung Clock đầu vào sử dụng 6 SCL để đồng bộ hóa dữ liệu. 7 SQW/OUT Điều khiển ngõ ra/ sóng vuông 4 Nguồn sơ cấp. Khi điện áp được đặt trong giới hạn bình 8 VCC thường có thể đọc và ghi dữ liệu.
Khi kết nối nguồn cung cấp dự phòng VBAT thì việc đọc và ghi bị hạn chế Bảng 2. 2: Chức năng các chân của DS1307 (https://datasheets.com/en/ds/DS1307. KHỐI XỬ LÝ TRUNG TÂ PIC16F877A là một loại vi điều khiển thuộc họ PIC16 của Microchip Technology. Đây là một trong những PIC được dùng rộng rãi để ứng dụng vào các mạch hiển thị, đếm, nhiệt độ, khoảng cách, … Nguyên lý hoạt động của PIC16F877A là vi điều khiển chạy trên kiến trúc RISC.
Kiến trúc này giúp cho vi điều khiển có thể xử lý các tác vụ nhanh hơn bằng cách sử dụng một tập lệnh đơn giản hơn so với kiến trúc CISC, tuy còn phức tạp trong việc lập chương trình nhưng PIC16F877A cho ta được nhiều thông tin và các port hơn. PIC16F877A là một vi điều khiển dòng 8-bit được sản xuất bởi Microchip Technology. Nó là một vi điều khiển có tính linh hoạt cao, hoạt động ở tần số cao và bộ nhớ lớn. PIC16F877A có nhiều tính năng như bộ chuyển đổi Analog-to- Digital (ADC) 10-bit, bộ tạo xung PWM, bộ đếm timer và bộ truyền thông nối tiếp.
Nó cũng có khả năng tương thích ngược với các phiên bản trước đó của PIC16F8x và có thể được sử dụng trong nhiều ứng dụng, bao gồm điều khiển thiết bị, thiết bị y tế, xe hơi và nhiều ứng dụng khác. PIC16F877A cũng được tích hợp sẵn với một số tính năng khác như bộ định thời, bộ phát ngắt, bộ định hướng nguồn điện và bộ chuyển đổi Analog-to-Digital (ADC) cho phép đọc giá trị từ các cảm biến. 4 Vi điều khiển PIC16F877A 5 Đặt tính PIC16F877A Kiến trúc vi điều khiển RISC(ReducedInstructionSet Computer) Bộ xử lý 8-bit và bộ nhớ Flash 14 KB Số lượng chân I/O 33 chân I/O 5 chân đầu vào analog và 28 chân đầu vào/số. Tốc độ xử lý 20 MHz Bộ định thời Có bộ định thời (timer) với nhiều chế độ hoạt động khác nhau.
Chế độ ngủ Tiết kiệm năng lượng (sleep mode) để giảm thiểu tiêu thụ điện năng khi không sử dụng. Giao tiếp Giao tiếp chuẩn như USART, SPI và I2C Nguồn điện Hoạt động với nguồn điện từ 2,0V đến 5,5V. Bảo mật Khả năng chống sao chép và chống lập trình lại bằng phần mềm. 3: Bảng đặt tính PIC16F877A RAM(bytes) 368 EPPROM/HEF 256 Số chân 40 Tốc độ CPU tối đa(MHz) 20 6 Chọn chân ngoại vi Không Bộ tạo dao động bên trong Không Số bộ so sánh 2 Số opamp Không Số kênh ADC 14 Độ phân giải ADC tối đa 10 ADC với tính toán Không Số bộ chuyển đổi DAC 0 Độ phân giải ADC tối đa 0 Tham chiếu điện áp nội bộ Có Nhiệt độ hoạt động tối thiểu (*C) -40 Nhiệt độ hoạt động tối đa (*C) 125 Điện áp hoạt động tối thiểu (V) 2 Điện áp hoạt động tối đa (V) 5.5 Điện áp cao thế Không Bảng 2.
4: Bảng đặt tính PIC16F877A Hình 2. 5 Sơ đồ chân vi điều khiển PIC16F877A 7 STT Chân Tên chân Mô tả MCLR được sử dụng trong quá trình lập trình, 1 MCLR / Vpp chủ yếu được kết nối với programer như PicKit 2 RA0 / AN0 Chân analog 0 hoặc chân 0 của PORTA 3 RA1 / AN1 Chân analog 1 hoặc chân 1 của PORTA 4 RA2 / AN2 / Vref- Chân analog 2 hoặc chân 2 của PORTA 5 RA3 / AN3 / Vref + Chân analog 3 hoặc chân 3 của PORTA RA4 / T0CKI / 6 C1out Chân 4 của PORTA 7 RA5/AN4/SS/C2out Chân analog 4 hoặc chân 5 của PORTA 8 RE0 / RD / AN5 Chân analog 5 hoặc chân 0 của PORTE 9 RE1 / WR / AN6 Chân analog 6 hoặc chân 1 của PORTE 10 RE2/CS/AN7 Chân 7 của PORTE 11 Vdd Chân nối đất của MCU 12 Vss Chân dương của MCU (+5V) 13 OSC1 / CLKI Bộ dao động bên ngoài / chân đầu vào clock 14 OSC2 / CLKO Bộ dao động bên ngoài / chân đầu vào clock RC0 / T1OSO / 15 T1CKI Chân 0 của PORT C 16 RC1 / T1OSI / CCP2 Chân 1 của POCTC hoặc chân Timer / PWM 17 RC2 / CCP1 Chân 2 của POCTC hoặc chân Timer / PWM 18 RC3 / SCK / SCL Chân 3 của POCTC 19 RD0 / PSP0 Chân 0 của POCTD 20 RD1 / PSPI Chân 1 của POCTD 21 RD2 / PSP2 Chân 2 của POCTD 22 RD3 / PSP3 Chân 3 của POCTD 23 RC4 / SDI / SDA Chân 4 của POCTC hoặc chân Serial Data vào 24 RC5 / SDO Chân 5 của POCTC hoặc chân Serial Data ra Chân thứ 6 của POCTC hoặc chân phát của Vi 25 RC6 / Tx / CK điều khiển Chân thứ 7 của POCTC hoặc chân thu của Vi 26 RC7 / Rx / DT điều khiển 27 RD4 / PSP4 Chân 4 của POCTD 8 28 RD5/PSP5 Chân 5 của POCTD 29 RD6/PSP6 Chân 6 của POCTD 30 RD7/PSP7 Chân 7 của POCTD 31 Vss Chân dương của MCU (+5V) 32 Vdd Chân nối đất của MCU 33 RB0/INT Chân thứ 0 của POCTB hoặc chân ngắt ngoài 34 RB1 Chân thứ 1 của POCTB 35 RB2 Chân thứ 2 của POCTB Chân thứ 3 của POCTB hoặc kết nối với 36 RB3/PGM programmer 37 RB4 Chân thứ 4 của POCTB 38 RB5 Chân thứ 5 của POCTB Chân thứ 6 của POCTB hoặc kết nối với 39 RB6/PGC programmer Chân thứ 7 của POCTB hoặc kết nối với 40 RB7/PGD programmer Bảng 2. 5: Bảng chức năng chân vi điều khiển PIC16F877 [ ] “https://drive.com/drive/folders/1SCYyh1wbIxa1kDwCyhH9WeUznIzCkLV? usp=share_link “ Một số thư viện cho 16F877A Thư viện trình điều khiển LCD: Thư viện này cung cấp các hàm để điều khiển các loại màn hình LCD, cho phép hiển thị các ký tự và số, vẽ đồ thị và thực hiện các chức năng khác. Thư viện trình điều khiển LED: Thư viện này cung cấp các hàm để điều khiển các loại đèn LED, bao gồm các chức năng như bật/tắt LED, nhấp nháy LED và điều khiển độ sáng của LED.
Thư viện trình điều khiển động cơ: Thư viện này cung cấp các hàm để điều khiển các loại động cơ, bao gồm các chức năng như chạy thẳng, quay trái/phải, tăng/giảm tốc độ và thực hiện các chức năng khác. 9 Thư viện trình điều khiển cảm biến: Thư viện này cung cấp các hàm để đọc dữ liệu từ các loại cảm biến, bao gồm các chức năng như đo nhiệt độ, đo ánh sáng, đo độ ẩm và thực hiện các chức năng khác. Thư viện trình điều khiển giao tiếp: Thư viện này cung cấp các hàm để giao tiếp với các thiết bị ngoại vi khác, bao gồm các chức năng như truyền/nhận dữ liệu qua cổng UART, SPI hoặc I2C và thực hiện các chức năng khác. Thư viện trình điều khiển bàn phím: Thư viện này cung cấp các hàm để đọc dữ liệu từ các loại bàn phím, bao gồm các chức năng như đọc phím bấm và thực hiện các chức năng khác.
Thư viện trình điều khiển ADC: Thư viện này cung cấp các hàm để đọc giá trị ADC từ các cổng đầu vào analog trên vi điều khiển. Thư viện trình điều khiển EEPROM: Thư viện này cung cấp các hàm để ghi và đọc dữ liệu từ bộ nhớ EEPROM trên vi điều khiển. LCD 16x Màn hình LCD 16x2 là một loại màn hình hiển thị được sử dụng rộng rãi trong các ứng dụng điện tử. Nó bao gồm một mảng các điểm ảnh (pixels) được tổ chức thành 16 hàng và 2 cột, tương ứng với số lượng ký tự có thể hiển thị trên một dòng và số dòng hiển thị trên màn hình.
6 Module LCD 1602 Màn hình LCD 16x2 được điều khiển bằng một vi điều khiển như Arduino hoặc Raspberry Pi thông qua một giao tiếp song song 8-bit hoặc 4-bit. Vi điều khiển sẽ gửi dữ liệu và lệnh đến màn hình thông qua các chân dữ liệu và chân điều khiển. 10 Tên Chức năng LCD 1602 có thể hiển thị tối đa 16 ký tự trên mỗi dòng và hai Hiển thị ký tự và dòng.