Đặt vấn đề dẫn nhập lý do chọn đề tài, trình bày mục tiêu, nội dung nghiên cứu, xác định một số giới hạn và trình bày bố cục của đề tài. Chương 2: Cơ sở lý thuyết Trình bày, phân tích ưu nhược điểm của các công viên hiện đang còn hoạt động, từ đó chọn ra phương án phù hợp cho đề tài. Giới thiệu một số lý thuyết liên quan và những phần cứng cần sử dụng cho đề tài. Chương 3: Thiết kế hệ thống Xây dựng sơ đồ khối, trình bày nguyên lý hoạt động của hệ thống.
Thiết kế và lựa chọn linh kiện phù hợp cho từng khối. Xây dựng sơ đồ nguyên lý cho từng khối và toàn bộ hệ thống. Chương 4: Thi công hệ thống Trình bày các bước thi công mô hình hoàn chỉnh từ phần cứng đến phần mềm. Xây dựng lưu đồ giải thuật, phương trình tính toán các thông số cụ thể, xử lý tín hiệu và lập trình cho vi điều khiển.
Chương 5: Kết quả, nhận xét và đánh giá Trình bày những kết quả đạt được (cấu trúc mô hình). Sau đó đưa ra nhận xét tổng thể về đề tài cũng như những đánh giá dựa trên các mục tiêu đã đặt ra ban đầu. Chương 6: Kết luận và hướng phát triển Trình bày những ưu nhược điểm của toàn bộ hệ thống. Từ đó, đưa ra kết luận và hướng phát triển cho đề tài.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ LẬP TRÌNH PIC VÀ MỘT SỐ CÔNG CỤ LIÊN QUAN 2. Ngôn ngữ lập trình C là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Ken Thompson và Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở thành một những ngôn ngữ phổ dụng nhất.
C là ngôn ngữ rất có hiệu quả và được ưa chuộng nhất để viết các phần mềm hệ thống, mặc dù nó cũng được dùng cho việc viết các ứng dụng. Năm 1989 viện tiêu chuẩn của hoa kỳ đã công bố bản chuẩn hóa C còn được gọi là ANSI 89 (C89) sau đó năm 1990 nâng cấp bản chuẩn hóa này gọi là ANSI 90 (C90), Hệ điều hành Unix có tới 90% là được viết bởi ngôn ngữ C. 10% là được viết bởi hợp ngữ. Ngoài ra có rất nhiều các trình điều khiển hỗ trợ lập trình bằng ngôn ngữ C.
So với các ngôn ngữ như C++/C#, Java, ngôn ngữ C có kích cỡ nhỏ. Các thư viện trong ngôn ngữ C là hạn chế, chỉ chứa các hàm cơ bản. Ngôn ngữ C không đưa ra các ràng buộc đối với người lập trình. C được sử dụng trong nhiều dự án khác nhau, như viết hệ điều hành, chương trình xử lý văn bản, đồ hoạ, bảng tính, và thậm chí cả chương trình dịch cho các ngôn ngữ khác.2 Công nghệ RFID (Radio Frequency Identification).
RFID là công nghệ nhận dạng đối tượng bằng sóng vô tuyến. Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng. Một thiết bị hay một hệ thống RFID được cấu tạo bởi hai thành phần chính là thiết bị đọc (reader) và thiết bị phát mã RFID có gắn chip hay còn gọi là tag. Thiết bị đọc được gắn antenna để thu - phát sóng điện từ, thiết bị phát mã RFID tag được gắn với vật cần nhận dạng, mỗi thiết bi RFID tag chứa một mã số nhất định và không trùng lặp nhau.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.1 Cấu trúc thẻ RFID và hệ thống RFID cơ bản. Nguyên lý hoạt động. Thiết bị RFID reader phát ra sóng điện từ ở một tần số nhất định, khi đặt thiết bị RFID trong vùng hoạt động sẽ cảm nhận được sóng điện từ này và thu nhận năng lượng, từ đó phát lại cho thiết bị RFID reader biết mã số của mình.
Từ đó thiết bị RFID reader nhận biết được tag nào đang trong vùng hoạt động. Ứng dụng. Thẻ chip (tag) RFID chứa rất nhiều mã nhận dạng khác nhau, thông thường là 32 bit tương ứng với hơn 4 tỷ mã số khác nhau. Ngoài ra khi xuất xưởng mỗi thẻ chip RFID được gán một mã số khác nhau.
Do vậy, khi một vật được gắn chip RFID thì khả năng nhận dạng nhầm vật đó với 1 thẻ chip RFID khác là rất thấp, xác suất là 1 phần 4 tỷ. Với ưu điểm về mặt công nghệ như vậy nên sự bảo mật và độ an toàn của các thiết bị ứng dụng công nghệ RFID là rất cao. – Ứng dụng quản lý lưu thông hàng hóa. – Ứng dụng quản lý kho hàng.
– Ứng dụng quản lý thu phí đường bộ tự động. – Bên cạnh những ứng dụng nổi bật đó còn rất nhiều những ứng dụng thiết thực cho quản lý như: quản lý nhà máy, quản lý thư viện, quản lý chấm công, quản lý bãi giữ xe, nhà hàng, phòng khách sạn, phòng học, quản lý nhà ăn, quản lý sinh viên, quản lý bệnh viện, khóa cửa dùng công nghệ RFID, chống trộm xe máy, … 2.3 Phần mềm CCS. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.2 Giao diện của phần mềm CCS.
CCS là trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC của hãng Microchip. Chương trình là sự tích hợp của 3 trình biên dich riêng biết cho 3 dòng PIC khác nhau đó là: ‐ PCB cho dòng PIC 12‐bit opcodes ‐ PCM cho dòng PIC 14‐bit opcodes ‐ PCH cho dòng PIC 16 và 18‐bit Tất cả 3 trình biên dịch này đuợc tích hợp lại vào trong một chương trình bao gồm cả trình soạn thảo và biên dịch là CCS, phiên bản mới nhất là PCWH Compiler Ver 3. Giống như nhiều trình biên dich C khác cho PIC, CCS giúp cho người sử dụng nắm bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Các chương trình diều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao thông qua việc sử dụng ngôn ngữ lập trình cấp cao – Ngôn ngữ C.
Tài liệu hướng dẫn sử dụng có rất nhiều, nhưng chi tiết nhất chính là bản Help đi kèm theo phần mềm (tài liệu Tiếng Anh). Trong bản trợ giúp nhà sản xuất đã mô tả rất nhiều về hằng, biến, chỉ thị tiền xử lý, cấu trúc các câu lệnh trong chương trình, các hàm tạo sẵn cho người sử dụng… 2.4 App Inventor MIT App Inventor dành cho Android là một ứng dụng web nguồn mở ban đầu được cung cấp bởi Google và hiện tại được duy trì bởi Viện Công nghệ Massachusetts BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 do an CHƯƠNG 2. Nền tảng cho phép nhà lập trình tạo ra các ứng dụng phần mềm cho hệ điều hành Android (OS). Bằng cách sử dụng giao diện đồ họa, nền tảng cho phép người dùng kéo và thả các khối mã (blocks) để tạo ra các ứng dụng có thể chạy trên thiết bị Android.
Đến thời điểm hiện tại 07/2017, phiên bản IOS của nền tảng này đã bắt đầu được đưa vào thử nghiệm bởi Thunkable, là một trong các nhà cung cấp ứng dụng web cho ngôn ngữ này. Mục tiêu cốt lõi của MIT App Inventor là giúp đỡ những người chưa có kiến thức về ngôn ngữ lập trình từ trước có thể tạo ra những ứng dụng có ích trên hệ điều hành Android. Phiên bản mới nhất là MIT App Inventor 2. Ngày nay, MIT đã hoàn thiện App Inventor và nó được chia sẻ ngay trên tài khoản Google.
Các lập trình viên mới bắt đầu hoặc bất kỳ ai muốn tạo ra ứng dụng Android chỉ cần vào địa chỉ web của MIT, nhập thông tin tài khoản Google, và từ những mảnh ghép nhỏ, xây dựng những ý tưởng của mình. Bạn là người mới bắt đầu hoặc chưa biết gì hết về App Inventor? MIT có sẵn một loạt các hướng dẫn cụ thể cho bạn làm quen với chương trình.3 Giao diện của App Inventor BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 do an CHƯƠNG 2.5 Phần mềm Arduino IDE Hình 2.4 Giao diện của phầm mềm Arduino IDE 1.5 Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng. Và Wiring lại là một biến thể của C/C++.
Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ và đội ngũ phát triển Arduino gọi là ngôn ngữ Arduino. Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu. Để 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 (Intergrated Development Environment). Arduino IDE là phần mềm dùng để lập trình cho Arduino.
Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm. Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.2 CÁC CHUẨN GIAO TIẾP TRUYỀN DỮ LIỆU 2.1 Giao tiếp UART (Universal Asynchronous Receive/Transmit) a.
Giới thiệu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 do an CHƯƠNG 2. CƠ SỞ LÝ THUYẾT UART là viết tắt của Universal Asynchronous Receiver – Transmitter. Thường là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại vi. Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đề tốc độ và độ điện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nên các dòng PC & Laptop đời mới không còn tích hợp cổng UART.
Giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để đồng bộ trong giao tiếp. Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việc mỗi vi xử lý có thể tự tạo ra xung clock cho chính nó sử dụng. Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi, sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit.