Trình bày quá trình thiết kế mạch điều khiển thiết bị trong nhà gồm có cảm biến ánh sáng, cảm biến nhiệt độ, chuông cảnh báo, keypad nhập password. Bài báo cáo có đầy đủ hình ảnh, phân tích kĩ thuật, code lập trình C.
THIẾT KẾ MẠCH ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ MỤC LỤC Contents DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu Điện tử trở thành ngành khoa học đa nhiệm vụ.Nó đáp ứng nhu cầu cần thiết hoạt động đời sống ngày.Một nhu cầu vấn đề xây dựng nhà an toàn thông minh Các gia đình Thành phố hầu hết nhà ống, biệt thự khép kín, với mong muốn nhà đẹp, thẩm mĩ, tiện nghi, an toàn, tiết kiệm lượng hệ thống điều khiển thiết bị nhà giải pháp tối ưu đại Hệ thống làm nhà trở nên thông minh giúp gia chủ kiểm soát tốt nhà Sau thời gian học tập nghiên cứu, với bảo thầy giáo Hàn Huy Dũng trợ giúp bạn nhóm tài liệu có liên quan,chúng em hoàn thành xong đề tài Bài tập lớn hoàn thành xong, tránh nhiều thiếu sót mong thầy cô giáo thông cảm bảo thêm để đề tài ứng dụng rộng rãi thực tế CHƯƠNG 1: MÔ TẢ ĐỀ TÀI 1.1 Yêu cầu chức Đăng nhập password vào nhà thông qua hệ thống keypad hiển thị LCD Nếu trả “Đăng nhập thành công”, sai trả “Đăng nhập lỗi” Báo hiệu chuông cảnh báo đăng nhập sai lần Có thể chỉnh sửa, thay đổi password Khi không đăng nhập thị LCD ngày, tháng, năm Hiển thị nhiệt độ thời Led Điều khiển bật tắt đèn phụ thuộc vào ánh sáng phòng Hẹn tắt đèn theo thời gian qua keypad 1.2 Yêu cầu phi chức Sử dụng Pic 16f877a làm trung tâm điều khiển mạch Dùng keypad dán 4x4 Thiết kế module cảm biến ánh sáng phòng Code viết ASM C PCB có tên nhóm tên thành viên Mạch nhỏ gọn, xếp linh kiện hợp lý Chức tương tác người dùng dễ sử dụng 1.3 Sơ đồ khối hệ thống CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Khối xử lý trung tâm Pic16f877A Ngôn ngữ lập trình đơn giản với 35 lệnh có độ dài 14 bit Tất câu lệnh thực chu kì lệnh ngoại trừ số câu lệnh rẽ nhánh thực chu kì lệnh Chu kì lệnh lần chu kì dao động thạch anh Bộ nhớ chương trình Flash 8Kx14 words, với khả ghi xoá khoảng 100 ngàn lần Bộ nhớ Ram 368x8bytes Bộ nhớ EFPROM 256x8 bytes Khả ngắt (lên tới 14 nguồn ngắt ngắt ngoài) Ngăn nhớ Stack chia làm mức Truy cập nhớ địa trực tiếp gián tiếp Dải điện hoạt động rộng: 2.0V đến 5.5V Nguồn sử dụng 25mA Công suất tiêu thụ thấp: [...]... Keypad là một "thiết bị nhập" chứa các nút nhấn cho phép người dùng nhập các chữ số, chữ cái hoặc ký hiệu vào bộ điều khiển Keypad không chứa tất cả bảng mã ASCII như keyboard và vì thế keypad thường được tìm thấy trong các thiết bị chuyên dụng Các nút nhấn trên các máy tính điện tử cầm tay là một ví dụ về keypad Số lượng nút nhấn của một keypad thay đổi phụ thuộc vào yêu cầu ứng dụng Trong bài này... Text LCD có 2 cách giao tiếp cơ bản là nối tiếp (như I2C) và song song 12 Các chân điều khiển LCD Các chân điều khiển việc đọc và ghi LCD bao gồm RS, R/W và EN RS (chân số 3): Chân lựa chọn thanh ghi (Select Register), chân này cho phép lựa chọn 1 trong 2 thanh ghi IR hoặc DR để làm việc Vì cả 2 thanh ghi này đều được kết nối với các chân Data của LCD nên cần 1 bit để lựa chọn giữa chúng Nếu RS=0, thanh... trình thao tác LCD, nếu quá nhỏ sẽ gây ra lỗi hiển thị Trong bài này tôi hướng dẫn bạn cách tổng quát là cách 1, để sử dụng cách 2 bạn chỉ cần một thay đổi nhỏ trong chương trình wait_LCD (sẽ trình bày chi tiết sau) và kết nối chân R/W của LCD xuống GND EN (chân số 5): Chân cho phép LCD hoạt động (Enable), chân này cần được kết nối với bộ điều khiển để cho phép thao tác LCD Để đọc và ghi data từ LCD... biết LCD có đang bận hay không (cờ Busy Flag - BF) Do LCD là một thiết bị hoạt động tương đối chậm (so với vi điều khiển) , vì thế một cờ BF được dùng để báo LCD đang bận, nếu BF=1 thì chúng ta phải chờ cho LCD xử lí xong nhiệm vụ hiện tại, đến khi nào BF=0 một thao tác mới sẽ được gán cho LCD Vì thế, khi làm việc với Text LCD chúng ta nhất thiết phải có một chương trình con tạm gọi là wait_LCD để chờ... ghi mã ASCII của ký tự cần hiển thị lên LCD thì chúng ta sẽ set RS=1 để chọn thanh ghi DR Hoạt động của chân RS được mô tả trong hình 5 Hình 5 Hoạt động của chân RS R/W (chân số 4): Chân lựa chọn giữa việc đọc và ghi Nếu R/W=0 thì dữ liệu sẽ được ghi từ bộ điều khiển ngoài (vi điều khiển AVR chẳng hạn) vào LCD Nếu R/W=1 thì dữ liệu sẽ được đọc từ LCD ra ngoài Tuy nhiên, chỉ có duy nhất 1 trường hợp mà... tạm gọi là wait_LCD để chờ cho đến khi LCD rảnh Có 2 cách để viết chương trình wait_LCD Cách 1 là đọc bit BF về kiểm tra và chờ BF=0, cách này đòi hỏi lệnh đọc từ LCD về bộ điều khiển ngoài, do đó chân R/W cần được nối với bộ điều khiển ngoài Cách 2 là viết một hàm delay một khoảng thời gian cố định nào đó (tốt nhất là trên 1ms) Ưu điểm của cách 2 là sự đơn 13 giản vì không cần đọc LCD, do đó chân R/W... Hình 1 Keypad 4x4 Hình 1b là mô hình thật của 1 keypad 4x4 và hình 1a là cấu hình bên trong của nó Bốn hàng của keypad được đánh dấu là A, B, C và D trong khi 4 cột được gọi là 1, 2, 3 và 4 11 b) DS1302 2.4 Khối hiển thị a) LCD Text LCD là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị các dòng chữ hoặc số trong bảng mã ASCII Không giống các loại LCD lớn, Text LCD được chia sẵn thành từng ô và... cách điều khiển của một loại keypad đơn giản, keypad 4x4 Gọi là keypad 4x4 vì keypad này có 16 nút nhấn được bố trí dạng ma trận 4 hàng và 4 cột Cách bố trí ma trận hàng và cột là cách chung mà các keypad sử dụng Cũng giống như các ma trận LED, các nút nhấn cùng hàng và cùng cột được nối với nhau, vì thế với keypad 4x4 sẽ có tổng cộng 8 ngõ ra (4 hàng và 4 cột) Mô hình Keypad 4x4 được thể hiện trong. .. với loại Anode chung : 15 + Chân 3 và 8 là 2 chân Vcc(nối ngắn mạch lại với nhau , sau đó nối chung với chân anode của 8 led đơn ), vậy muốn led nào đó sáng thì chỉ việc nối chân catot xuống mass Điện áp giữa Vcc và mass phải lớn hơn 1.3 V mới cung cấp đủ led sáng, tuy nhiên không được cao quá 3V Cathode chung : 3 Trở hạn dòng : Trong các mạch thì thường dùng nguồn 5V nên để tránh việc đót cháy led... ký tự ASCII nên loại LCD này được gọi là Text LCD (để phân biệt với Graphic LCD có thể hiển thị hình ảnh) Mỗi ô của Text LCD bao gồm các “chấm” tinh thể lỏng, việc kết hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị Trong các Text LCD, các mẫu ký tự được định nghĩa sẵn Kích thước của Text LCD được định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có Ví