Chương 1: Tổng quan. Giới thiệu sơ lược về tình hình nghiên cứu trong và ngoài nước hiện nay cũng như tính cấp thiết của đề tài. Chương 2: Cơ sở lý thuyết. Đề cập đến các lý thuyết cần thiết để tính toán và xây dựng hệ thống.
Chương 3: Thiết kế và xây dựng hệ thống, Trình bày sơ đồ hệ thống, sơ đồ từng khối và giải thích nguyên lý hoạt động hệ thống. Đưa ra các phương pháp chọn lựa phần cứng, xác định lựa chọn phù hợp với yêu cầu của hệ thống. Tính toán đưa ra giải thuật, thuật toán phần mềm. Chương 4: Kết quả thực hiện và đánh giá.
Trình bày kết quả đạt được về phần cứng cũng như phần mềm, đánh giá hệ thống. Chương 5: Kết luận và phạm vi ứng dụng. Ưu và nhược điểm của đề tài, khả năng ứng dụng và mở rộng. 4 do an CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.
ARDUINO MEGA 2560 BOARD. Giới thiệu Arduino Mega 2560 Board. Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB.
Ngoài ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn, nên cũng sử dụng Arduino IDE để lập trình. Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn gọi là Arduino Mega 1280. Sự khác biệt lớn nhất với Arduino Mega 1280 chính là chip nhân. Arduino Mega 2560 phiên bản hiện đang được sử dụng rộng rãi và ứng dụng nhiều hơn.
Với chip ATmega2560 có bộ nhớ flash memory 256 KB, 8KB cho bộ nhớ SRAM, 4 KB cho bộ nhớ EEPROM. Giúp cho người dùng thêm khả năng viết những chương trình phức tạp và điều khiển các thiết bị lớn hơn như máy in 3D, điều khiển robot. Bên cạnh, Arduino Mega 2560 cũng có hỗ trợ để tương tác với MatLab, vì nó còn được tích hợp sẵn thư viện dành cho MatLab. Ngoài ra, tất cả các shield mở rộng dùng trên Arduino Uno đều sử dụng được trên Arduino Mega 2560, cho phép đa dạng ứng dụng hơn.
Mặc định, trên Arduino Mega 2560 Board hỗ trợ. Vi điều khiển: Atmega2560. Điện áp hoạt động: 5V. 16 chân analog, Xung clock 16 MHz.
Hiện tại được sử dụng phổ biến nhất là Arduino Mega 2560 R3. Chi tiết thông số kỹ thuật Arduino Mega 2560. Sơ đồ các chân chức năng trên Arduino Mega 2560. Các thông số kỹ thuật cần lưu ý khi sử dụng Arduino Mega 2560: Cấp nguồn.
Arduino Mega 2560 có thể được cấp nguồn thông qua kết nối USB hoặc nguồn ngoài. Nguồn ngoài có thể là từ jack cắm 2.1mm trên board hoặc dùng pin kết nối vào 2 chân Vin và Gnd ở phần POWER connnector. Nếu sử dụng nguồn ngoài, cần lưu ý nguồn đã qua ổn áp để đảm bảo dòng ổn định, ngoài ra về mức điện áp: Arduino Mega 2560 có thể hoạt động với áp nguồn ngoài từ 6 – 20V, tuy nhiên, nếu áp cấp dưới 7V, chân cấp nguồn 5V trên board sẽ cho áp thấp hơn, dẫn đến board hoạt động không ổn định, nếu cấp trên 12V, sẽ khiến các linh kiện hoạt động ở trại thái quá áp, dẫn đến nóng và tình trạng hư hỏng cho board. Vì vậy nếu sử dụng nguồn ngoài, áp nên cấp là từ 7 – 12V.
Các ngõ vào/ ra. 54 chân digital có 2 trạng thái hoạt động: INPUT và OUTPUT thông qua các hàm pinMode(INPUT/OUTPUT), digitalWrite() và digitalRead(). Các chân digital này hoạt động với mức điện áp 5V. Dòng cấp trên mỗi chân digital I/O là 40mA.
Ngoài ra, mỗi chân digital có sẵn 1 điện trở kéo lên 20 – 50 Kohm, mặc định không sử dụng. Bên cạnh, Arduino Mega 2560 còn cung cấp 1 chân cấp áp cho các module kết nối đặc trưng hoạt động ở mức 3. Dòng ra chân này là 50mA. Có 16 chân ngõ vào analog, A0 – A15, sử dụng thông qua hàm analogRead().
Mỗi chân được kết nối với bộ chuyển đổi ADC 10-bit, đồng nghĩa khoảng điện áp từ 0 – 5V sẽ mang giá trị chuyển đổi từ 0 – 1023, bước nhảy là 4.9 6 do an mV. Khoảng chuyển đổi và bước nhảy có thể được thay đổi qua hàm alanogReference(). Tuy nhiên, cần lưu ý, trong số 54 chân digital, có một vài chân chức năng mặc định. Các chân này được dùng cho việc truyền nhận dữ liệu TTL, được bật qua hàm Serial.begin() và Serial3.
Chân 0 và 1 được kết nối với đầu USB khi nạp chương trình cho board. Đồng nghĩa nếu cấp nguồn cho board qua cổng USB, bất kì module nào sử dụng chuẩn kết nối TTL sẽ không thể dùng chân D0 và D1. Các chân ngắt ngoài, cho phép thực hiện ngắt khi ở mức thấp, cạnh lên hoặc cạnh xuống hoặc có sự thay đổi giá trị, cấu hình qua hàm attachInterrupt(). PWM: từ D2 – D13 và từ D44 – D46, cấp xung PWM 8 – bit qua hàm analogWrite().
Các chân hỗ trợ cho chuẩn giao tiếp SPI, được nối với ICSP header trên board. Chân 13 được nối với LED có sẵn trên board, sáng ở mức cao và ngược lại. 2 chân hỗ trợ chuẩn giao tiếp I2C, khi sử dụng cần gọi thư viện Wire có sẵn trong Arduino IDE. AREF: chân được dùng khi sử dụng hàm analogReference().
Reset: reset board khi ở mức thấp. Arduino Mega 2560 được lập trình và nạp chương trình qua Arduino IDE, có hỗ trợ tính năng tự động ngắt nếu xảy ra ngắn mạch hoặc quá dòng khi cấp nguồn bằng USB, mặc dù đa số các cổng USB trên PC hoặc Laptop đều có sẵn tính năng này. Nếu dòng cấp qua USB lớn hơn 500 mA, kết nối sẽ tự động ngắt cho đến khi dòng ổn định trở lại. ARDUINO PRO MINI.
Arduino Pro Mini là một board vi xử lý có giá thành thấp và kích thước nhỏ gọn, tiêu tốn ít năng lượng, rất thích hợp cho việc thiết kế các ứng dụng, mạch chức năng di động, có thể hoạt động trong thời gian dài với nguồn cấp là pin. Một số thông số kỹ thuật của Arduino Pro Mini: Chip: ATmega328.3V/ 8MHz và 5V/ 16MHz. Điện áp nguồn cấp: 5V. Dòng tối đa chân nguồn 5V: 500mA.
Dòng ra trên mỗi chân I/O: 40mA. 06 chân analog Input. Arduino Pro Mini. Chi tiết các chân chức năng trên Arduino Pro Mini: Phần Programming Header: được dùng để kết nối với mạch nạp, giúp ta có thể nạp chương trình cho Arduino Pro Mini qua cổng USB trên PC, Laptop.
14 chân digital I/O: có thể được cấu hình là INPUT hoặc OUTPUT với các hàm pinMode(INPUT/ OUTPUT), digitalWrite() và digitalRead() như trong Arduino Mega 2560. Tuy nhiên, một số chân chức năng cần lưu ý. Dùng cho việc truyền nhận dữ liệu TTL. Chân D13 đồng thời được nối với LED tích hợp sẵn trên board, sáng ở mức cao và ngược lại.
06 chân analog Input: A0 – A3: Dùng để đọc giá trị analog ngõ vào, dùng ADC 8-bit, tức cho 256 giá trị trong khoảng 0 – 5V. Khi làm việc với Arduino, một chức năng không thể bỏ qua đó là Arduino Shields. Arduino Shields là các bo phần cứng có thể được gắn chồng lên các Arduino Board để mở rộng khả năng ứng dụng cho dự án. Mỗi Shield chức năng sẽ có thư viện riêng để có thể hoạt động đúng chức năng, khi lập trình cần lưu ý để tránh trường hợp các thư viện xung đột lẫn nhau.
Ngoài ra, mỗi Shield sử dụng một số chân trên Arduino Board, nên cũng cần lưu ý trường hợp trùng chân. Một số Arduino Shield thông dụng: 8 do an Arduino Ethernet Shield. Arduino Ethernet Shield. Sử dụng chip W5100 cho tốc độ và khả năng kết nối ổn định, thư viện cho Ethernet Shield được tích hợp sẵn trong Arduino IDE.
Thích hợp cho các ứng dụng điều khiển thiết bị qua môi trường Ethernet, Internet. Điện áp hoạt động: 5V (cấp từ Arduino Board). Chip Ethernet: W5100 với buffer nội 16K. Giao tiếp với Arduino qua bộ giao tiếp SPI.
Arduino Motor Shield L298. L298 Motor Shield có thể điều khiển 02 động cơ DC hoặc 01 động cơ bước, được thiết kế tiện dụng, không cần kết nối thêm các jumper. Điện áp hoạt động: 6. Công suất tối đa: 25W.
Driver: L298N tích hợp 02 mạch cầu H. Dùng chân D10 – D13 trên Arduino Board để điều khiển động cơ. Arduino Motor Shield L298. 9 do an Arduino SIM808 Shield.
Arduino SIM808 Shield. Dùng cho các dự án giao tiếp, điều khiển qua mạng di động. Được thiết kế tiện dụng cho việc kết nối và lập trình ứng dụng trên Arduino Board, dùng kèm thư viện GSM. Arduino SIM808 Shield dùng tập lệnh AT từ hãng SIMCOM để điều khiển các hoạt động nghe, gọi, nhắn tin,… Nguồn cấp: 6V – 12V.
Điều khiển bằng giao tiếp UART, tập lệnh AT. Tích hợp Bluetooth. o Quad – band GSM 850/ 900/ 1800/ 1900 MHz. o GPRS multi – slot class 12/ 10.
o 22 kênh tracking GPS L1 C/A code. o Độ nhạy: Tracking – 165 dbm/ Cold starts: - 147 dbm. o Độ chính xác: Horizontal Position < 2. Arduino IDE (Intergrated Development Environment) là một môi trường giao diện phần mềm được phát triển dựa trên nền Java, sử dụng ngôn ngữ C nhằm mục đích dễ dàng lập trình và tải chương trình cho Arduino Board.
Quá trình và chương trình cài đặt tương đối dễ dàng, có thể được tìm thấy trên trang chủ của Arduino (www. Tuy nhiên cần lưu ý: Cài đặt JRE (Java Runtime Environment). Như đã trình bày, do Arduino IDE được viết trên nền Java, nếu chưa cài đặt JRE, Arduino IDE sẽ không hoạt động được. 10 do an Cài đặt Driver.
Để Arduino Board và PC, Laptop có thể giao tiếp được với nhau, cần cài đặt Driver trước tiên. Giao diện Arduino IDE. Vùng lệnh: bao gồm các nút lệnh (File, Edit, Sketch, Tools, Help). Các Icon và chức năng tương ứng của Arduino IDE.
Icon Chức năng Biên dịch chương trình trong vùng viết chương trình. Biên dịch và nạp chương trình vào Board qua cổng kết nối đang chọn. Mở trang mới. Mở các chương trình đã lưu.
Lưu chương trình đang soạn. Mở cửa sổ giao diện Serial Monitor để quan sát quá trình hoạt động của Board. Vùng viết chương trình: nơi soạn thảo các đoạn mã, tên chương trình được hiển thị ngay dưới icon bar. 11 do an Vùng thông báo (debug): những thông báo từ IDE tương tác với người dùng sẽ được hiển thị tại vùng này.
Góc dưới cùng bên phải cho biết cổng và thiết bị đang được chọn kết nối, lưu ý rằng nếu cổng và thiết bị không được chọn đúng, chương trình sẽ không thể được nạp. CHUẨN GIAO TIẾP GIỮA ARDUINO BOARD VỚI CÁC MODULE.