Chương 1. Tổng quan đề tài: Trình bày tổng quan tình hình nghiên cứu, mục tiêu nghiên cứu và phạm vi nghiên cứu của đề tài. Cơ sở thiết kế: Ở chương này nhóm trình bày cơ sở lý thuyết về các vấn đề liên quan của hệ thống. Giới thiệu các thiết bị phần cứng và giao thức truyền thông giữa các thiết bị trong hệ thống.
Tính toán và thiết kế: Chương này sẽ thiết kế sơ đồ khối của hệ thống. Từ đó lựa chọn linh kiện thích hợp để xây dựng sơ đồ nguyên lý của toàn hệ thống. Thi công hệ thống: Trình bày thiết kế phần cứng, đưa ra lưu đồ giải thuật cho phần mềm. Thiết kế giao diện trên điện thoại, quá trình điều khiển, giám sát và hoạt động của hệ thống.
Kết quả và nhận xét: Những kết quả đạt được sau thời gian thực hiện, kết quả thực nghiệm, từ đó đưa ra đánh giá nhận xét. Kết luận và hướng phát triển: Tóm tắt nội dung đề tài và kết luận những việc đã làm được, hạn chế. Từ đó rút ra những nhận xét về khả năng ứng dụng thực tế và hướng phát triển của đề tài. Đặt nền móng cho những đề tài nghiên cứu sau được hoàn thiện và tiến bộ hơn về mặt kết quả thực nghiệm.
Giới thiệu về Arduino Uno R3 Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành.
Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động.1 Arduino UNO R3 4 Hình 2.2 Sơ đồ chân Arduino UNO R3 Bảng 2.1 Các thông số của Arduino UNO R3 Vi điều khiển Atmega328 họ 8 bit Điện áp hoạt động 5V DC (chỉ được cấp qua USB) Tần số hoạt động 16 MHz Dòng tiêu thụ 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 PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30mA Dòng ra tối đa (5V) 500mA Dòng ra tối đa (3.3V) 50mA Bộ nhớ Flash 32KB(Atmega328) SRAM 2KB(Atmega328) EEPROM 1KB(Atmega328) 5 Các chân năng lượng: GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO. IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này, luôn là 5V. Mặc dù vậy , không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Bộ nhớ của Arduino UNO R3: Sử dụng vi điều khiển Atmega328. 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng thường thì ít khi nào phải sử dụng quá 20kb bộ nhớ này. 2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo khi lập trình sẽ lưu ở đây.
Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM. Chú ý: khi mất điện, dữ liệu trên SRAM sẽ bị mất. 6 1KB cho EEPROM (Electrically Erasable Programmable Read Only Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào đây mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM. Các cổng vào/ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu.
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 (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dâ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 có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13.
Khi chân này được người dùng sử dụng, led sẽ sáng. Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V. Giới thiệu về ESP8266 NodeMCU ESP8266 7 ESP8266 là dòng chip tích hợp Wifi 2.4Ghz có thể lập trình được, rẻ tiền được sản xuất bởi một công ty bán dẫn Trung Quốc: Espressif Systems. Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường dạng Module ESP-01.
Có khả năng kết nối Internet qua mạng Wifi một cách nhanh chóng và sử dụng rất ít linh kiện đi kèm. Với giá cả có thể nói là rất rẻ so với tính năng và khả năng ESP8266 có thể làm được. ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp nhiều Module lập trình mã mở giúp nhiều người có thể tiếp cận và xây dựng ứng dụng rất nhanh. Hiện nay tất cả các dòng chip ESP8266 trên thị trường đều mang nhãn ESP8266EX, là phiên bản nâng cấp của ESP8266, đã có hơn 14 phiên bản ESP ra đời, trong đó phổ biến nhất là ESP-12.3 ESP8266 Module ESP8266 NodeMCU Module ESP-12 kết hợp với firmware ESP8266 trên Arduino và thiết kế phần cứng giao tiếp tiêu chuẩn đã tạo nên NodeMCU, loại Kit phát triển ESP8266 phổ biến nhất trong thời điểm hiện tại.
Với cách sử dụng, kết nối 8 dễ dàng, có thể lập trình, nạp chương trình trực tiếp trên phần mềm Arduino, đồng thời tương tích với các bộ thư viện Arduino sẵn có.4 Module ESP8266 NodeMCU Sơ bộ về Module ESP8266 NodeMCU: - Khả năng hoạt động như một Module Wifi: Có thể quét và kết nối với một mạng Wifi bất kì (Wifi client) để thực hiện tác vụ như lưu trữ, truy cập dữ liệu từ server. Tạo điểm truy cập Wifi (Wifi Access Point) cho phép các thiết bị khác kết nối,giao tiếp và điều khiển. Một server để xử lý dữ liệu từ các thiết bị sử dụng internet. - Nguồn vào và nguồn ra: ESP8266 NodeMCU nhận nguồn từ cổng micro USB tích hợp sẵn trên mạch, giúp việc nạp code trở nên dễ dàng hơn.
Bên cạnh đó, việc cấp nguồn cho module cũng linh động hơn vì bạn có thể sử dụng sạc dự phòng thay cho nguồn từ USB trên máy tính (nguồn cấp tối đa là 5V). ESP8266 NodeMCU có thể cung cấp nguồn cho tối đa 4 thiết bị: 3 nguồn ra 3.3V và một nguồn từ chân Vin (điện thế bằng 9 điện thế từ cổng micro USB). Khi sử dụng các chân cấp nguồn này, hãy luôn kiểm tra để chắc chắn không cắm nhầm chân dương (trên mạch in là 3v3 và Vin) và chân âm (GND). Tuy nhiên, 3 chân 3.3V đều được bảo vệ, khi cắm ngược cực, module sẽ chỉ nóng lên và dừng hoạt động.
Chân Vin thì không được bảo vệ, nếu cắm ngược cực sẽ gay hư hỏng hoặc cháy Module. - Truyền và nhận tín hiệu: ESP8266 NodeMCU có tổng cộng 13 chân GPIO (General-purpose input/output): chân có thể truyền/nhận tín hiệu (trên mạch in từ D0 đến D8 và RX, TX, SD2, SD3). Module chỉ có thể kết nối với tới nguồn tối đa 5V qua cổng Micro USB. Các chân I/O chỉ có thể giao tiếp với các linh kiện qua điện thế tối đa 3.5 Sơ đồ chân của Module Thông số kỹ thuật: 10 IC chính: ESP8266 Wifi SoC.
Phiên bản firmware: NodeMCU Lua. Chip nạp và giao tiếp UART: CP2102. GPIO tương thích hoàn toàn với firmware Node MCU. Cấp nguồn: 5VDC MicroUSB hoặc Vin.
GPIO giao tiếp mức 3. Tích hợp Led báo trạng thái, nút Reset, Flash. Tương thích hoàn toàn với trình biên dịch Arduino. Kích thước: 25 x 50 mm.
Giới thiệu về RFID RC522 Module RFID RC522 sử dụng IC MFRC522 của Philips dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56MHz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID.6 Module RFID RC522 Đặc điểm kỹ thuật: Nguồn: 3.3VDC Dòng điện hoạt động: từ 13 đến 26m Dòng ở chế độ chờ (Stand by): từ 10 đến 13mA Dòng ở chế độ nghỉ (Sleep Mode): nhỏ hơn 80µA Dòng tải tối đa: 30mA Tần số sóng mang: 13.56MHz Khoảng cách đọc tối ưu: từ 0 đến 60mm Giao tiếp: SPI Tốc độ truyền dữ liệu: tối đa 10mbps Nhiệt độ hoạt động: -20 đến 80 °C Độ ẩm hoạt động: từ 5 đến 95% 12 Các loại thẻ RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire Kích thước: 40mm × 60mm Nguyên lý hoạt động cơ bản của hệ thống RFID: Thiết bị Reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị Tag 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ị Reader biết ID (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. Thẻ RFID là thiết bị có thể lưu trữ và truyền dữ liệu về bộ đọc bằng sóng vô tuyến. Trong đó các thẻ thường lưu trữ thông tin về các sản phẩm nào đó hoặc các ID (mã nhận diện.
Thẻ RFID gồm chip bán dẫn nhỏ (bộ nhớ của chip có thể chứa từ 96 đến 512 bit dữ liệu, nhiều gấp 64 lần so với mã vạch) và anten được thu nhỏ trong một số hình thức đóng gói. Vài thẻ RFID giống như những nhãn giấy và được ứng dụng để bỏ vào hộp và đóng gói. Một số khác được sản xuất thành các miếng da bao cổ tay. Mỗi thẻ được lập trình với một nhận dạng duy nhất cho phép theo dõi không dây đối tượng hoặc con người đang gắn thẻ đó.
Giới thiệu về động cơ Servo Servo là một dạng động cơ điện đặc biệt.