Đồ án Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino (Phần 1)

pdf 22 trang phuongnguyen 170
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_he_thong_tuoi_cay_thong_minh_giao_tiep_web_server_va_s.pdf

Nội dung text: Đồ án Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG HỆ THỐNG TƯỚI CÂY THÔNG MINH GIAO TIẾP WEB SERVER VÀ SIM900 DÙNG ARDUINO GVHD: TS. NGUYỄN THANH HẢI SVTH: NGUYỄN TRỌNG PHI HÙNG MSSV: 11141282 SVTH: VÒNG VIỄN HÙNG MSSV: 11141284 S K L 0 0 3 8 1 0 Tp. Hồ Chí Minh, tháng 7/2015
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO   ĐỒ ÁN TỐT NGHIỆP Đề tài HỆ THỐNG TƯỚI CÂY THÔNG MINH GIAO TIẾP WEB SERVER VÀ SIM900 DÙNG ARDUINO SVTH : NGUYỄN TRỌNG PHI HÙNG MSSV : 11141282 SVTH : VÒNG VIỄN HÙNG MSSV : 11141284 Khóa : 2011 Ngành : Công nghệ kỹ thuật Điện tử - Truyền thông GVHD: TS. NGUYỄN THANH HẢI TP. HỒ CHÍ MINH 07/2015 i
  3. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên Sinh viên: Nguyễn Trọng Phi Hùng MSSV: 11141282 Vòng Viễn Hùng MSSV: 11141284 Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông Lớp: 11141CLĐT1 Giảng viên hướng dẫn: TS Nguyễn Thanh Hải ĐT: Ngày nhận đề tài: 02/03/2015 Ngày nộp đề tài: 20/07/2015 1. Tên đề tài: Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino. 2. Các số liệu, tài liệu ban đầu: Khảo sát thực tế và thiết kế một hệ thống “ hệ thống tưới cây thông minh giao tiếp web server và sim900 dùng arduino”. Hệ thống gồm một module xử lý chính (Master) với khối công suất điều khiển 4 ngõ ra. Đông thời một module xử lý phụ (Slave) dùng để thu thập số liệu về các cảm biến độ ẩm đất, nhiệt độ + độ ẩm không khí, cảm biến siêu âm dùng đo mực nước. 3. Nội dung thực hiện đề tài: Giới thiệu tổng quát về cơ sở lý thuyết liên quan, cơ sở lý luận, đề cương, cách thức nghiên cứu. Giới thiệu về sim900, kit Arduino và các module shield, các loại cảm biến sử dụng. Tiến hành tính toán, xử lý các số liệu liên quan, tiến hành lập trình, thiết kế phần cứng kết nối và mô hình hoàn chỉnh 4. Sản phẩm: Bao gồm mô hình vườn cây, các khối xử lý (Master, Slave), khối công suất và các thiết bị điều khiển. TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN TS. Nguyễn Thanh Hải ii
  4. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên Sinh viên: Nguyễn Trọng Phi Hùng MSSV: 11141282 Vòng Viễn Hùng MSSV: 11141284 Ngành: Công nghệ kỹ thuật Điện tử - Truyền Thông Tên đề tài: Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino Họ và tên Giáo viên hướng dẫn: TS. Nguyễn Thanh Hải NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: 2. Ưu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không? 5. Đánh giá loại: 6. Điểm: .(Bằng chữ: ) Tp. Hồ Chí Minh, ngày 29 tháng 07 năm 2015 Giáo viên hướng dẫn TS. Nguyễn Thanh Hải iii
  5. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh Phúc PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên: Nguyễn Trọng Phi Hùng MSSV: 11141282 Vòng Viễn Hùng MSSV: 11141284 Ngành: Công nghệ kỹ thuật Điện tử - Truyền thông Tên đề tài: Hệ thống tưới cây thông minh giao tiếp web server và Sim900 dùng Arduino Họ và tên Giáo viên phản biện: . NHẬN XÉT 1. Về nội dung đề tài & khối lượng thực hiện: 2. Ưu điểm: 3. Khuyết điểm: 4. Đề nghị cho bảo vệ hay không? 5. Đánh giá loại: 6. Điểm: .(Bằng chữ: ) Tp. Hồ Chí Minh, ngày 27 tháng 07 năm 2015 Giáo viên phản biện iv
  6. LỜI CẢM ƠN Lời đầu tiên, sinh viên thực hiện đề tài xin được phép chân thành gửi lời cảm ơn đến thầy giáo Nguyễn Thanh Hải, giáo viên hướng dẫn đề tài đã định hướng và trao đổi những kinh nghiệm để sinh viên thực hiện những nội dung trong đề tài một cách hoàn chỉnh. Sinh viên thực hiện đề tài cũng xin trân trọng cảm ơn các thầy /cô trong trường Đại Học Sư Phạm Kỹ Thuật TPHCM nói chung và thầy /cô khoa Điện – Điện Tử , khoa Đào Tạo Chất Lượng Cao nói riêng đã tận tình truyền đạt những kiến thức nền tảng để sinh viên thực hiện hoàn thành tốt đề tài. TP HCM, Ngày 27 Tháng 07 Năm 2015 Sinh viên thực hiện đề tài Nguyễn Trọng Phi Hùng Vòng Viễn Hùng v
  7. TÓM TẮT Hiện nay, công nghệ ngày càng phát triển khả năng xử lý cũng như điều khiển thiết bị ngày càng đa dạng. Việc điều khiển các thiết bị từ xa mà không cần trưc tiếp tác động đang là xu thế ngày nay, nó giúp công việc điều khiển trở nên dễ dàng và tiện lợi. Trong đề tài này sinh viên sẽ ứng dụng module Arduino Uno R3 kết hợp với sim900 shield và web server để thực hiện điều khiển bật tắt các thiết bị từ xa, đồng thời giám sát hoạt động của hệ thống. Việc dùng các tin nhắn điện thoại và mạng internet để điều khiển sẽ làm tăng khoảng cách điều khiển và tự cập nhật thông tin hoạt động từ hệ thống nhanh chóng dù ta ở ở nơi rất xa. Mô hình hệ thống sử dụng hai cảm biến độ ẩm đất để theo dõi lượng nước dưới nền đất, sử dụng cảm biến DHT22 để theo dõi nhiệt độ + độ ẩm không khí. Đồng thời theo dõi mực nước bồn chứa bằng cách sử dụng cảm biến siêu âm. Các giá trị này sẽ được đo đạt ở một nơi khác và truyền về khối xử lý chính thông qua kênh truyền RF của moduled RF APC220-43 để đảm bảo phạm vi theo dõi được lớn hơn, từ những giá trị thu được này ta có thể điều khiển các động cơ bơm và làm mát một cách hiểu quả nhất. Mặc dù sinh viên thực hiện đề tài đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra và đúng thời hạn nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, mong Thầy/ Cô và các bạn sinh viên thông cảm. Sinh viên thực hiện đề tài mong nhận được những ý kiến của Thầy/ Cô và các bạn sinh viên. vi
  8. Abstract Currently, the technology is growing processing power as well as control devices are increasingly diverse. The control devices remotely without directly attributable impact is the trend today, it helps job control easy and convenient. In this project students will application Arduino Uno R3 module combined with sim900 shield and web server to perform switching control of remote devices, simultaneous monitoring of system operation. The use of the phone message and internet for control will increase the distance control and update information from the system works quickly even though we in the faraway The system uses 2 soil humidity sensor to monitor moisture under ground, using DHT22 sensors to monitor temperature + air humidity. It also can monitor tank levels using one other ultrasonic sensors. The measured values will be achieved in one place and transmitted to the main processing unit uses RF moduled APC220-43 to guaranteed range wider track . these values can control the pump motor and cooling a most effective way Although the students to implement the project was trying to complete the task subject and deadlines set out but certainly will not avoid the shortcomings. Students implement the project forward opinions of teachers and students. vii
  9. MỤC LỤC NỘI DUNG Trang TRANG BÌA PHỤ i NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN iii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iv LỜI CẢM ƠN v TÓM TẮT vi MỤC LỤC viii DANH MỤC HÌNH xi DANH MỤC BẢNG xiii DANH MỤC TỪ VIẾT TẮT xiv CHƯƠNG 1: TỔNG QUAN 1 1.1 Tình hình nghiên cứu hiện nay: 1 1.2 Tính cấp thiết của đề tài: 1 1.3 Mục tiêu nghiên cứu 1 1.4 Nhiệm vụ nghiên cứu 1 1.5 Đối tượng và phạm vi nghiên cứu 2 1.6 Phương ph́áp Nghiên cứu 2 1.7 Bố cục của Đồ án 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHẦN CỨNG 4 2.1 Tổng quan về Arduino. 4 2.1.1 Arduino là gì? 4 2.1.2 Khả năng của bo mạch Arduino 4 2.1.3 Phần mềm lập trình 5 2.1.4 Shield tương thích mở rộng 6 viii
  10. 2.2 Các loại bo mạch Arduino 7 2.2.1 Arduino Uno R3 8 2.2.2 Arduino sim900 shield 9 2.2.3 Arduino Enthernet shield 12 2.3 Giới thiệu module sim900 13 2.3.1 Đặc điểm của module sim900. 14 2.4 Các loại cảm biến 16 2.4.1 Cảm biến DHT22 16 2.4.3 Cảm biến siêu âm HC SR4 22 2.5 Bộ thu phát APC220-43 433 MHz RF Transceiver Module 25 2.6 Tổng quan về LCD 26 2.6.1 Chức năng các chân 27 2.6.2 Module giải mã cho LCD 28 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT PHẦN MỀM 29 3.1 Xây dựng web server 29 3.1.1 Web server là gì? 29 3.1.2 Máy chủ ảo VPS 29 3.1.3 Phần mềm XAMPP 30 3.2 Điều khiển dùng SMS 33 3.2.1 Tổng quan về hệ thống thông tin di động GMS 33 3.2.2 Hệ thống tin nhắn SMS 34 3.2.3 Khảo sát tập lệnh AT của moduled sim900 35 CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 38 4.1 Sơ đồ khối của hệ thống và hoạt động 38 4.1.1 Yêu cầu của hệ thống 38 4.1.2 Sơ đồ khối hệ thống 39 4.1.3 Nguyên lý hoạt động của hệ thống 39 ix
  11. 4.1.4 Chức năng từng khối 40 4.2 Thiết kế, tính toán hệ thống 41 4.2.1 Tính toán giá trị cảm biến siêu âm 41 4.2.2 Thiết kế mạch nguồn 43 4.2.3 Thiết kế mạch nút nhấn 44 4.3 Lưu đồ thuật toán của hệ thống 47 4.3.1 Lưu đồ hệ thống điều khiển tự động 47 4.3.2 Lưu đồ hệ thống điều khiển qua SMS 48 4.3.3 Lưu đồ hệ thống điều khiển qua nút nhấn 49 CHƯƠNG 5: KẾT QUẢ THI CÔNG 49 5.1 Xây dựng web server dựng trên phần mềm XAMPP trên máy chủ ảo VPS 50 5.2 Xây dựng mạch điều khiển 52 5.3 Xây dựng mô hình hệ thống 58 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61 6.1 Kết Luận 61 6.1.1 Ưu điểm của hệ thống 61 6.1.2 Nhược điểm của hệ thống 61 6.2 Hướng phát triển trong tương lai 61 TÀI LIỆU THAM KHẢO 63 PHỤ LỤC 64 x
  12. DANH MỤC HÌNH Hình 2.1: Logo Arduino 4 Hình 2.2: Lưu đồ chương trình 6 Hình 2.3: các loại shield cho arduino 7 Hình 2.4: Các loại Board Arduino 7 Hình 2.5: Board Arduino Uno R3 8 Hình 2.6: Moduled sim900 shield 10 Hình 2.6: Mô tả phần cứng sim900 shield 11 Hình 2.7: Arduino Enthernet shield 12 Hình 2.8: Module SIM900 13 Hình 2.9: Cảm biến DHT22 16 Hình 2.10: Sơ đồ kết nối dây với cảm biến DHT22 với vi xử lý 17 Hình 2.11: Quá trình gửi nhận dữ liệu giữa Vi điều khiển và DHT22 18 Hình 2.12: Vi điều khiển gửi yêu cầu cho cảm biến 19 Hình 2.13: Quá trình gửi dữ liệu về của cảm biến 20 Hình 2.15: Mạch so sánh của cảm biến độ ẩm đất 22 Hình 2.16: Cảm biến siêu âm HC SR04 22 Hình 2.17: Giản đồ xung hoạt động của cảm biến siêu âm 23 Hình 2.18: Tầm quét của cảm biến siêu âm. 24 Hình 2.19: Module RF APC220-43 25 Hình 2.20: màn hình LCD 16x2 26 Hình 2.21: Module giao tiếp LCD theo chuẩn I2C 28 Hình 3.1: Mô hình kết nối web server 29 Hình 3.2: Hệ điều hành và bảng giá cho thuê Vps của Vultr 30 Hình 3.3: Giao diện điều khiển của Xampp 31 xi
  13. Hình 3.4: Hệ quảng trị cơ sở dữ liệu MySQL 33 Hình 3.5: Cấu trúc một tin nhắn SMS 35 Hình 4.1: Sơ đồ khối của hệ thống 39 Hình 4.2: Sơ đồ nguyên lý mạch nguồn cho relay 43 Hình 4.3: Sơ đồ mạch in của khối nguồn cấp cho relay 43 Hình 4.4: Sơ đồ nguyên lý khối nút nhấn và LED trạng thái 45 Hình 4.5: Sơ đồ mạch in khối nút nhấn 46 Hình 4.6: Lưu đồ hoạt động điều khiển tự động 47 Hình 4.7: Lưu đồ điều khiển qua SMS 48 Hình 4.8: Lưu đồ điều khiển qua nút nhấn 49 Hình 5.1: Giao diện đăng nhập web server 50 Hình 5.2: Giao diện điều khiển của web server 51 Hình 5.3: Giao diện máy chủ ảo VPS 52 Hình 5.4: Khối điều khiển của hệ thống 52 Hình 5.5: Khối thu thập dữ liệu của hệ thống (Slave) 53 Hình 5.6: Khối xử lý chính của hệ thống (Master) 54 Hình 5.7: Khối 4 Relay điều khiển động cơ 55 Hình 5.8: Giao diện điều khiển ở chế độ tự động 56 Hình 5.9: Giao diện điều khiển ở chế độ thủ công 57 Hình 5.10: Mô hình toàn hệ thống 58 Hình 5.11: Vị trí bố trí các khối Master, Slave, cảm biến trên mô hình 59 Hình 5.13: Vị trí bố trí khu vườn 61 xii
  14. DANH MỤC BẢNG Bảng 2.1: Thông số kĩ thuật của board Uno R3 9 Bảng 2.2: Chức năng của các chân LCD 26 Bảng 2.3: Các chân kết nối và chức năng của RF 220-43 27 Bảng 4.1: Giá trị đo của cảm biến siêu âm 42 xiii
  15. DANH MỤC TỪ VIẾT TẮT GSM: Global System for Mobile communication SMS: Short Message Service PDU: Protocol data unit XAMPP: X + Apache + Mysql + PHP + Perl. VPS: Virtual Private Server MCU: Microprocessor Control Unit USART: Universal Synchronous & Asynchronous serial Reveiver and Transmitter MySQL: Structured Query Language LED: Light Emitting Diode xiv
  16. Đồ án tốt nghiệp CHƯƠNG 1: TỔNG QUAN 1.1 Tình hình nghiên cứu hiện nay: Ngày nay với sự phát triển của khoa học công nghệ, con người đã và đang thay đối lối sống, lối tư duy nhằm thích ứng với nền công nghệ mới. Internet đã và đang là một thứ không thể thiếu trong đời sống công nghệ. Bên cạnh việc tìm kiếm thông tin, giải trí internet còn được dùng trong việc điều khiển và giám sát thiết bị. Đồng thời tại Việt Nam công nghệ sử dụng mạng điện thoại đang được phát triển mạnh mẽ trong mấy năm gần đây. Việc áp dụng các tính năng ưu việt của mạng điện thoại trong việc điều khiển thiết bị và giám sát hệ thống được thực hiện ngày càng phổ biến. Trước khi thực hiện đề tài này. Nhóm đã tìm hiểu thông qua mạng internet và trực tiếp từ thư viện đồ án của nhà trường. Thì các mô hình điều khiển thông minh giao tiếp qua Sim900 hoặc web server đều đã được thực hiện. Tuy nhiên chủ yếu đều sử dụng các dòng vi điều khiển như PIC hoặc PLC và mỗi đều tài đều ít hay nhiều mang những khuyết điểm của nó. Và việc ứng dụng card Arduino trong hệ thống điều khiển thông minh giao tiếp web server và Sim900 thì hoàn toàn chưa có. 1.2 Tính cấp thiết của đề tài: Cùng với công cuộc công nghiệp hóa và hiện đại hóa đất nước, lĩnh vực tự động hóa có những bước phát triển vượt bật và trở thành yếu tố quan trọng không thể thiếu của nền công nghiệp hiện đại. khi nói đến tự động hóa là nói đến sự thay thế dần đến hoàn toàn các hoạt động chân tay bằng máy móc trong các dây chuyền sản xuất. Trong nền công nghiệp hiện đại thì vấn đề thời gian là rất quan trọng. Con người ngày càng bận rộn với công việc không có nhiều thời gian để chăm sóc cây trồng một giải pháp được đưa ra là tự động hóa để chăm sóc chúng, vấn đề này càng được quan tâm nhiều hơn. Đây chính là ý tưởng cho đề tài tốt nghiệp này. 1.3 Mục tiêu nghiên cứu Mục đích của đề tài là thiết kế được mô hình hệ thống tưới cây sử dụng các cảm biến để đo và hiển thị thông số: nhiệt độ, độ ẩm không khí, độ ẩm đất, mực nước bồn chứa qua 2 chế độ tự động và thủ công đều khiển trực tiếp hoặc gián tiếp qua sim900 và web server. Từ đó ta điều chỉnh nhiệt độ, độ ẩm không khí, độ ẩm đất cho phù hợp với các yêu cầu của cây trồng thông qua điều khiển các thiết bị, động cơ như: máy bơm nước, máy phun sương, quạt thông gió. 1.4 Nhiệm vụ nghiên cứu - Thiết kế giao diện và điều khiển trên máy tính sử dụng web server Chương 1: Tổng quan 1
  17. Đồ án tốt nghiệp - Thiết kế và điều khiển hệ thống qua điện thoại sử dụng Sim900. - Thiết kế và thi công, lập trình khối đo nhiệt độ, độ ẩm, độ ẩm đất và đo mực nước bồn chứa. - Thiết kế mạch điều khiển thiết bị: máy bơm nước bồn chứa, quạt, máy bơm nước tưới cây. - Lắp ráp các khối điều khiển và chạy thử nghiệm hệ thống mô hình vườn cây. - Viết báo cáo luận văn. - Báo cáo đề tài tốt nghiêp. 1.5 Đối tượng và phạm vi nghiên cứu - Thiết kế mô hình vườn cây đơn giản. - Sử dụng module truyền không dây APC220-43 433 MHz RF Transceiver Module để truyền nhận dữ liệu. - Giám sát và điều khiển vườn bằng cảm biến và giao tiếp với máy tính qua Enthernet shield qua giao diện web server và giao tiếp qua điện thoại sử dụng Sim900 shield - Điều khiển quạt để mô phỏng hệ làm mát. - Điều khiển máy bơm để tưới nước cho cây. - Sử dụng kít Arduino Uno R3 để điều khiển hệ thống tưới cây. 1.6 Phương ph́ áp Nghiên cứu - Phương pháp tham khảo tài liệu: đọc tài liệu từ các đồ án trước của các anh chị, qua sách giáo trình, tham khảo các tài liệu trên mạng internet. - Phương pháp quan sát: khảo sát một số module, mạch điện thực tế có trên thị trường và một số mạch trên internet. - Phương pháp thực nghiệm: từ những kiến thức học được trong trường và sự hướng dẫn của giáo viên em đã khảo sát và tiến hành lắp ráp các dạng mạch điện từ đó chọn ra các mạch tối ưu nhất cho mô hình 1.7 Bố cục của Đồ án - Chương 1: Tổng quan. Chương này trình bày khái quát về lĩnh vực nguyên cứu, tầm quan trọng của đề tài, mục tiêu, nhiệm vụ và giới hạn thực hiên đề tài. - Chương 2: Cơ sở lý thuyết. Chương này trình bày cơ sở lý thuyết liên quan đến đề tài. Giới thiệu về các loại kit, các loại cảm biến. - Chương 3: Cơ sở lý thuyết. Chương này trình bày cơ sở lý thuyết về xây dựng web server. Các chuẩn giao tiếp, tập lệnh điều khiển. Chương 1: Tổng quan 2
  18. Đồ án tốt nghiệp - Chương 4: Thiết kế và thi công mạch. Chương này trình bày về hoạt động thi công đồ án, về việc tính toán lựa chọn linh kiện và phương án thiết kế. Lưu đồ hoạt động của hệ thống. - Chương 5: Kết quả thi công và so sánh, đánh giá thực nghiệm. Trong chương chủ yếu trình bày về những kết quả đã đạt được trong đồ án, về mô hình, khối điều khiển và khối công suất. - Chương 6: Kết luận và hướng phát triển của đề tài. Tổng kết về các ưu điểm và nhược điểm của đề tài, đồng thời đưa ra các hướng phát triển đề tài phù hợp. Chương 1: Tổng quan 3
  19. Đồ án tốt nghiệp CHƯƠNG 2: CƠ SỞ LÝ THUYẾT PHẦN CỨNG 2.1 Tổng quan về Arduino. Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open-source). Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều. Vậy Arduino là “cái” gì? 2.1.1 Arduino là gì? Arduino là một nền tảng điện tử mã nguồn mở, với phần cứng và phần mềm linh hoạt, dễ dàng sử dụng. Arduino thường gồm một board mạch điện tử có vi xử lý, có thể kết nối với máy tính thông qua cổng USB. Bằng phần mềm Arduino trên máy tính, người dùng có thể viết và nạp chương trình xuống board, để thực hiện các tác vụ như mong muốn. Người dùng có thể ứng dụng Arduino để lập trình tương tác với đèn, động cơ, cảm biến hoặc các thiết bị khác. Hình 2.1: Logo Arduino 2.1.2 Khả năng của bo mạch Arduino Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560. Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả Chương 2: Cở sở lý thuyết phần cứng Trang 4
  20. Đồ án tốt nghiệp năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C). Xung nhịp: 16MHz EEPROM: 1KB (ATmega328) và 4KB (ATmega2560) SRAM: 2KB (Atmega328) và 8KB (Atmega2560) Flash: 32KB (Atmega328) và 256KB (Atmega2560) Đọc tín hiệu cảm biến ngõ vào: a) Digital: Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm. Do đó người dùng có thể linh hoạt quyết định số lượng ngõ vào và ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54. b) Analog: Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10 bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV). Số lượng cổng vào analog là 6 đối với Atmega328. Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, siêu âm Xuất tín hiệu điều khiển ngõ ra: a) Digital output: Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm để quyết định dùng ngõ digital nào là ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54. b) PWM output: Trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tín hiệu điều chế xung PWM. Độ phân giải của các tín hiệu PWM này là 8-bit. Số lượng cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560 là 14. PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình. 2.1.3 Phần mềm lập trình Môi trường phát triển tích hợp (IDE) Arduino là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp. Nó được thiết kế để làm nhập môn lập trình cho các nhà lập trình và những người mới sử dụng khác không quen thuộc với phát triển phần mềm. Nó bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngặc khối chương trình, và thụt đầu dòng tự động, và cũng có khả năng biên dịch và tải lên các chương Chương 2: Cơ sở lý thuyết phần cứng 5
  21. Đồ án tốt nghiệp trình vào bo mạch với một nhấp chuột duy nhất. Một chương trình hoặc mã viết cho Arduino được gọi là “sketch” . Chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là “Wiring” từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều. Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ: setup( ): hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập đầu chương trình. loop( ): hàm được gọi vòng lặp tuần hoàn cho đến khi bo mạch được tắt đi. Hình 2.2: Lưu đồ chương trình Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, và sử dụng avrdude để tải lên các chương trình vào bo mạch chủ. Do nền tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino 2.1.4 Shield tương thích mở rộng Arduino và bảng mạch Arduino tương thích sử dụng các shield – bo mạch mạch điện được cắm vào bo mạch Arduino chính thường thông qua các đầu chân cắm trên bo mạch Arduino chủ. Shiel có thể cung cấp chức năng điều khiển động cơ, GPS, kết nối mạng ethernet, màn hình LCD, hoặc bảng mạch khung (tạo mẫu). Một số shield cũng có thể được chế tạo để thực hiện DIY. Chương 2: Cơ sở lý thuyết phần cứng 6
  22. S K L 0 0 2 1 5 4