KHÁI QUÁT VỀ NỀN TẢNG ARDUINO

54 231 0
KHÁI QUÁT VỀ NỀN TẢNG ARDUINO

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CẢM ƠN Sau trình học tập rèn luyện khoa Điện – Điện tử,trƣờng đại học Hàng Hải Việt Nam em hoàn thành đề tài đồ án tốt nghiệp đƣợc giao Đây đồ án quan trọng có tính bƣớc ngoặt q trình học tập trƣờng Để hoàn thành đồ án này, em xin chân thành cảm ơn thầy, cô tận tình hƣớng dẫn, chia sẻ kiến thức qua học phần chƣơng trình đào tạo kỹ sƣ ngành tự động hóa trƣờng đại học Hàng Hải Đặc biệt thầy giáo tiến sĩ Phạm Tuấn Anh tận tình hƣớng dẫn em thực đồ án Đồ án sử dụng kiến thức em đƣợc học trƣờng thu thập qua phƣơng tiện truyền thơng Do khơng thể tránh đƣợc thiếu sót Em mong nhận đƣợc góp ý thầy, giúp em hồn thiện hiểu biết Em xin chân thành cảm ơn ! Mục Lục MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỀ TÀI DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ LỜI MỞ ĐẦU CHƢƠNG KHÁI QUÁT VỀ NỀN TẢNG ARDUINO 1.1 Lịch sử phát triển 1.2 Khả mở rộng 13 1.2.1 module Ethernet Shield 13 1.2.2 Module truyền thông không dây Xbee 14 1.2.3 Data Logging Shield 15 1.2.4 Motor Shield R3 15 1.2.5 LCD keypad shield 16 1.2.6 Một số module mở rộng khác 17 1.3 Ngơn ngữ lập trình dành cho arduino 17 CHƢƠNG XÂY DỰNG HỆ THỐNG NHÚNG DỰA TRÊN ARDUINO 20 2.1 Hệ thống nhúng 20 2.1.1 Đinh nghĩa hệ thống nhúng 20 2.1.2 Đặc điểm hệ thống nhúng 21 2.1.3 Các kiến trúc phần mềm hệ thống nhúng 21 2.2 Mô tả hệ thống 22 2.2.1 Mục đích hệ thống 22 2.2.2 Sơ đồ hệ thống 23 2.2.3 Chức khối sơ đồ 24 2.3 Giải pháp kỹ thuật 25 2.3.1 Vi xử lý master slave 25 2.3.2 Module Xbee s2 Xbee shield V03 26 2.3.3 Cảm biến MQ-2 27 2.3.4 Các thiết bị khác 27 2.3.5 Nguyên lí hoạt động 27 CHƢƠNG LẬP TRÌNH HỆ THỐNG 35 3.1 Các phần mềm lập trình 35 3.1.1 Lập trình cho arduino 35 3.1.2 Cài đặt arduino IDE 36 3.1.3 Lập trình cho xbee 38 3.1.4 Cài đặt X-CTU 40 3.2 Cấu trúc khung chƣơng trình 41 3.2.1 Chƣơng trình cho arduino master 41 3.2.2 Chƣơng trình cho arduino slave 44 3.2.3 Cài đặt cho xbee 47 3.2.4 Cài đặt cho router 47 3.3 Kết 49 Kết Luận 52 Tài liệu tham khảo 54 MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỀ TÀI AVR Vi điều khiển hãng Atmel sản xuất USB Universal Serial Bus – chuẩn kết nối đa dụng máy tính SPI Serial Peripheral Interface – Giao diện ngoại vi nối tiếp FAT File Allocation Table – Bảng cấp phát tập tin PWM Pulse width modulation – Phƣơng pháp điều khiển kiểu điều biến độ rộng xung LCD Liquid Crystal Display – Màn hình tinh thể lỏng DDNS Dynamic Domain Name System – Hệ thống tên miền động ZC Zigbee Coordinator – Thiết bị gốc có khả định cấu hình, quy định cách đánh địa lƣu giữ bảng địa ZED Zigbee End Device – Điểm cuối mạng có nhiệm vụ đọc/ hoạt động thơng tin từ thành phần vật lí API Application Programming Interface – giao diện lập trình ứng dụng MAC Media Access Control hay Medium Access Control – Tầng giao thức liệu DANH MỤC CÁC BẢNG Số bảng Tên bảng Trang 1.1 Thông số kỹ thuật Arduino Uno R3 10 1.2 Kết nối arduino kênh Motor shield R3 15 2.1 Danh sách thiết bị 24 3.1 Các nút lệnh menu IDE 34 DANH MỤC CÁC HÌNH VẼ Số hình Tên hình Trang 1.1 Sự phát triển dòng arduino 1.2 Arduino Uno R3 11 1.3 Arduino ethernet 12 1.4 Arduino LEONARDO 12 1.5 Arduino ATmega2560 12 1.6 Arduino Due 13 1.7 Module ENC28j60 13 1.8 Module xbee s2 14 1.9 Data logging shield 15 1.10 Motor shield R3 16 1.11 LCD keypad shield 16 1.12 Một số module mở rộng arduino 17 1.13 Giao diện adublock 18 1.14 Giao diện Snap4arduino 18 2.1 Hệ thống đèn giao thông 20 2.2 Máy in 21 2.3 Sơ đồ tổng quát 24 2.4 Arduino Uno R3 pinout diagram 26 2.5 Xbee s2 pinout 26 2.6 Sơ đồ module MQ-2 27 2.7 Kết nối thiết bị 29 2.8 Sơ đồ chi tiết phần slave 30 2.9 Sơ đồ chi tiết phần master 31 3.1 Giao diện IDE 33 3.2 Mơ tả chƣơng trình arduino 33 3.3 Trang tải xuống phần mềm 34 3.4 Giao diện cài đặt X-CTU 37 3.5 Cài đặt X-CTU 38 3.6 Ghép nối cho arduino master 38 3.7 Lƣu đồ thuật toán arduino master 39 3.8 Kết nối cho arduino slave 40 3.9 Lƣu đồ thuật toán cho arduin slave 41 3.10 Cấu hình NAT-virtual netis DL4311 43 3.11 iao diện website canyouseeme.org 43 3.12 Kết nối arduino master, xbee s2, ENC28J60 router 44 3.13 Kết nối arduino slave, xbee s2 MQ-2 44 3.14 Giao diện truy cập chrome windowns 45 3.15 Hình 3.15 Giao diện truy cập Brower android 45 LỜI MỞ ĐẦU Xu chun mơn hóa ln đƣợc đánh giá cao sử dụng nhiều lĩnh vực Nó đem lại hiệu cao cho cơng việc Trong đồ án đề cập đến hệ thống mang tính chun mơn hóa cao nhƣ Để ngắn lại gọi hệ thống nhúng Đồ án giải thích hệ thống nhúng đặc điểm Qua số hệ thống tiếp xúc hàng ngày Để xây dựng hệ thống nhúng không phức tạp Có thể sử dụng thiết bị từ đơn giản đến phức tạp Trong đồ án giới thiệu đến tảng mẻ chuyên dùng để xây dự hệ thống nhúng.Đó tảng Arduino Arduino đƣợc phát triển từ năm 2005 đƣợc du nhập vào Việt Nam khoảng năm trở lại Nó đƣợc phát triển tồn giới với ƣu điểm tính vƣợt trội Dựa tảng Arduino đồ án xây dựng hệ thống nhúng điều khiển, giám sát nồng độ khí gas qua internet Đồ án sử dụng truyền thông không dây zigbee làm kênh truyền thiết bị Tuy nhiên đồ án giải đƣợc phần yêu cầu công nghệ cần phát triển thêm để phù hợp với thực tế CHƢƠNG KHÁI QUÁT VỀ NỀN TẢNG ARDUINO 1.1 Lịch sử phát triển Hình 1.1 Sự phát triển dòng arduino Arduino đƣợc phát triển dựa dự án dành cho sinh viên Ivrea, Italy từ năm 2005 đƣợc thể nhƣ hình 1.1 Trong thời kì đầu hình thành, arduino chịu ảnh hƣởng mạch lập trình AVR ( sử dụng cổng RS232 ) Tại thời điểm đó, ƣu điểm arduino đến từ đơn giản Nổi bật dòng thời kì dòng mạch severino Phiên arduino USB ( 2005 ) Lúc này, xu hƣớng tới máy tính xách tay mỏng hơn, nhẹ hơn, đẹp Nhƣ cổng nối tiếp khơng phù hợp với xu Do phiên arduino USB thay cổng nối tiếp cổng USB type B Vào năm 2006, xuất Arduino Extreme với hàng loạt thay đổi mang tính chất quan trọng Đầu tiên linh kiện Arduino đƣợc thay linh kiện dán Tiếp theo có thêm đèn báo chân RX TX Ngoài chân header male đƣợc thay chân female Cùng với thay đổi kỹ thuật, năm 2006 xuất website arduino.cc giúp cho việc quảng bá phát triển arduino Phiên xuất vào năm 2009, Arduino Duemilanove Bản nâng cấp có khả tự nhận biết sử dụng nguồn ngồi hay từ cổng USB Cuối dòng Arduino Uno ( 2010 – đến ) Các linh kiện đƣợc thu gọn lại Arduino uno có phiên : R2, R3 SMD Trong phiên R3 ( Hình 1.2 ) đƣợc đánh giá cao sử dụng chip ATMega16U2 Từ phiên arduino USB thức chia làm nhánh Arduino Ethernet (Hình 1.3) Arduino Leonardo( Hình 1.4 ) Đồng hành với phát triển Arduino USB có số dòng arduino khác nhƣ Arduino Mega2560 ( Hình 1.5 ), Arduino Due( Hình 1.6 ) … Bảng 1.1 đƣa thông số kỹ thuật arduino uno r3, arduino Ethernet, arduino Leonardo, arduino mega2560, Arduino Due Có thể thấy đa dạng dòng sản phẩm arduino để phục vụ mục đích sử dụng Nhƣng bên cạnh việc chuẩn hóa nhƣ dùng chung họ vi điều khiển giúp cho ngƣời dùng không khó khăn tiếp cận dòng khác Cùng với 10 - Serial Console: mở cửa sổ kết nối tiện cho việc giám sát nhiều module - Spectrum analyzer : Kiểm tra đo mạng Nó báo mạng tốt, xấu giá trị đo - Throughput: sử dụng để kiểm tra khả kết nối module mạng +Thẻ Help Chứa nội dung hƣớng dẫn thông tin nhà sản xuất Hình 3.4 Giao diện cài đặt X-CTU 3.1.4 Cài đặt X-CTU Truy cập địa http://www.digi.com/products/xbee-rf-solutions/xctusoftware/xctu để tải phần mềm Chọn hệ điều hành phù hợp với thiết bị sử dụng Sau kích đúp vào file vừa tải làm theo hƣớng dẫn ( Hình 3.5 ) Sau chƣơng trình cài đặt hồn tất chọn finish để hoàn thành Khởi động X-CTU bắt đầu cài đặt cho Xbee 40 Hình 3.5 Cài đặt X-CTU 3.2 Cấu trúc khung chƣơng trình 3.2.1 Chƣơng trình cho arduino master 41 Hình 3.6 Ghép nối cho arduino master Cách ghép nối cho arduino master thể nhƣ hình 3.6 Arduino master đƣợc kết nối với ENC28J60 qua dây cắm Xbee s2 qua xbee shield v03 Lƣu đồ thuật tốn: 42 Hình 3.7 Lƣu đồ thuật toán arduino master Địa MAC ( Media Access Control ) gồm cặp hai kí tự Địa MAC ngƣời lập trình tự chọn khơng đƣợc trùng lặp với địa MAC router Khi khai báo ardruino có dạng mảng “static byte mymac[] = 43 {0x04,0x8D,0x38,0x41,0x00,0x10};” Địa IP ( Internet Protocol ) hiểu giao thức Internet Địa IP sử dụng 32 bit để mã hóa liệu Trong arduino khai báo theo dạng mảng “static byte myip[] = {192,168,1,9};” Địa IP dùng IP tĩnh không đƣợc trùng với thiết bị thiết lập trƣớc Khai báo tốc độ truyền qua ether.begin() Khai báo quan trọng, phải trùng khớp với module xbee toàn mạng Ngoài hàm để giám sát truy cập qua máy tính từ điều chỉnh cho phù hợp Khởi động IP tĩnh qua hàm ether.staticSetup() Tạo giao diện web arduino ngôn ngữ HTML gửi lên HTTP qua lệnh emit_p(PSTR()) Lệnh thêm định dạng text vào đệm buffer Cuối gửi liệu lên qua httpServerReply(homePage()) 3.2.2 Chƣơng trình cho arduino slave 44 Hình 3.8 Kết nối cho arduino slave Cách ghép nối cho arduino slave thể nhƣ hình 3.8 Arduino slave đƣợc kết nối với MQ-2 qua dây cắm Xbee s2 qua xbee shield v03 Lƣu đồ thuật tốn : 45 Hình 3.9 Lƣu đồ thuật tốn cho arduin slave Giống nhƣ chƣơng trình với vi điều khiển master cần phải khai báo tốc độ truyền nối tiếp Đọc giá trị qua cổng tƣơng tự Trên arduino có cổng tƣơng tự A1 46 đến A5 Cách gọi lệnh int gas = analogRead(A5) Hàm analogRead trả giá trị số nguyên khoảng 0-1024 tƣơng ứng với giá trị từ 0-5V Tiếp theo dùng hàm println() print để truyền thông tin qua cổng nối tiếp Với println() sau lần gửi kèm theo kí tự xuống hàng Kiểm tra giá trị đo đƣợc với ngƣỡng ngƣời lập trình đặt ví dụ 200 Nhƣ nồng độ khí gas vƣợt ngƣỡng 200 cổng D4 đƣợc đặt lên mức cao báo hiệu nguy hiểm led Có thể thay led rơ le kết nối thiết bị bảo vệ nhƣ motor quạt gió, van xả khí CO2 … 3.2.3Cài đặt cho xbee Do có trợ giúp từ X-CTU nên việc cài đặt xbee đơn giản thuận tiện Chỉ cần kết nối xbee với máy tính sau mở phần mềm X-CTU lên kết nối Sau kết nối thành cơng thẻ configuration hiển thị thông số cho ngƣời dùng cài đặt Ở cần quan tâm đến PAN ID địa hệ thống có giá trị từ 0000-FFFE ( đồ án sử dụng địa 8800) Với mạng riêng biệt PAN ID đồng tất module Ở module xbee xbee cho mục Channel Verification ( JV ) Join Notification (JN ) lên Sau ấn write để lƣu thông tin ấn read để chạy lại thơng số 3.2.4Cài đặt cho router Hiện có nhiều dịch vụ phân giải tên miền dựa địa IP nhƣ DynDNS.org, TZO, PHDNS, No-ip Tuy nhiên để xét tốc độ truy cập độ ổn định no-ip lựa chọn đƣợc phổ biến Bƣớc 1: Đăng nhập vào website: http://www.no-ip.com chọn Sign Up Bƣớc : Điền thông tin cần thiết chọn create my account Bƣớc : Kiểm tra email hoàn tất thủ tục Bƣớc : Đăng nhập vào no-ip Bƣớc 5: Điền host name cần tạo chọn add hostname Cấu hình DDNS cho modem Bƣớc : Đăng nhập vào modem ( thƣờng địa 192.168.1.1, user name Admin, pass word Admin) Bƣớc 2: Tìm vào mục DDNS điền thơng tin 47 Cấu hình virtual sever cho modem Tìm đến mục NAT- Virtual Sever điền thông tin ( Hình 3.10) Hình 3.10 Cấu hình NAT-virtual netis DL4311 Sau cài đặt thơng số nhƣ hình, tiến hành kết nối arduino vào modem vào kiểm tra qua website:http//www.canyouseeme.org ( Hình 3.11 ) Hình 3.11 Giao diện website canyouseeme.org 48 3.3 Kết Hình 3.12 Kết nối arduino master, xbee s2, ENC28J60 router 49 Hình 3.12 Kết nối arduino slave, xbee s2 MQ-2 Hình 3.13 Giao diện truy cập chrome windowns 50 Hình 3.14 Giao diện truy cập Brower android Đánh giá kết đạt đƣợc, hạn chế hƣớng phát triển Kết đạt đƣợc: - Khai thác đƣợc tảng arduino Nắm bắt đƣợc cách thức hoạt động module arduino module mở rộng Tìm hiểu viết chƣơng trình cho hệ thống đo khí gas hiển thị lên website - Truyền liệu thông qua internet Hiểu đƣợc phần cách thức hoạt động internet Lập trình đƣa liệu truyền tải qua internet không bị sai lệch - Kết nối mạng Zigbee ổn định Kết nối mạng Zigbee không xảy xung đột Địa kết nối xác, cố định Tín hiệu truyền khơng bị ngắt qng - Kết hiển thị rõ ràng Giao diện đơn giản dễ sử dụng Kết không bị mờ, chồng chéo lên Hạn chế: - Giới hạn số lƣợng truy cập Sử dụng arduino làm websever có ƣu điểm liệu đƣợc truy cập nhanh, 51 xảy lỗi truyền liệu Tuy nhiên, với số lƣợng ngƣời truy cập lớn xảy tƣợng nghẽn mạng - Thông tin hiển thị chƣa liên tục Trong đồ án webserver arduino sử dụng ngôn ngữ HTML với ƣu điểm dễ nắm bắt cho ngƣời kinh nghiệm lập trình web Đây ngơn ngữ lập trình website tĩnh Do để cập nhật liệu cần tự làm Thời gian làm 1s - Mạng zigbee với số phần tử tối thiểu với phần tử Trong đồ án chủ yếu sâu vào tảng arduino nên sử dụng phần tử xbee nhƣ kênh truyền không dây Chƣa khai thác nhiều tới tính mạng zigbee Hƣớng phát triển: - Mở rộng với nhiều thông số - Nâng cao chất lƣợng, giao diện websever - Khai thác tính vƣợt trội mạng Zigbee - Tăng số lƣợng phần tử mạng với dòng arduino chuyên biệt - Sử dụng module xbee liên kết với mạng internet qua wifi - Lắp đặt thêm thiết bị cảnh báo chỗ Kết Luận Sau 12 tuần tìm hiểu, đồ án đƣợc xây dựng hồn thiện Trong đồ án giới thiệu tổng quan tảng Arduino Nó đƣợc phát triển nhu cầu xã hội Cùng với xuất shield nhƣ module hỗ trợ, Arduino thực hóa ý tƣởng cách dễ dàng Với tảng phát triển lứa tuổi nhỏ mà cần tƣ logic khơng nặng nề thuật toán Tiếp theo đồ án giải thích hệ thống nhúng Chỉ đƣợc đặc điểm hệ thống nhúng ứng dụng thực tế Từ xậy dựng nên hệ thống điều khiển giám sát nồng độ khí gas tảng Arduino Bên cạnh 52 sử dụng công nghệ truyền thông không dây zigbee qua module xbee s2 Đây công nghệ truyền thông đƣợc đánh giá cao có khả ứng dụng cao thực tế Hệ thống kết nối thành công từ thiết bị cuối qua internet vào arduino chứa websever Nó giúp ngƣời giám sát điều khiển tiết kiệm thời gian nhƣ công sức Đây xu mà xã hội hƣớng tới mà internet phổ cập toàn cầu Tuy nhiên thời gian hồn thành đồ án có hạn nên chƣa thể khai thác tồn tính hệ thống Cụ thể module xbee nhƣ hệ thống shield senor Hệ thống xảy tƣợng nghẽn, hiển thị chậm chƣa áp dụng nhiều kiến thức IT 53 Tài liệu tham khảo 1, Digi International, Inc 2012 XBee®/XBee-PRO ZB RF Modules 2, http://www.arduino.vn đăng vào ngày 22/5/2014 http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi 3, https://en.wikipedia.org 30/4/2016 https://en.wikipedia.org/wiki/Arduino 4, https://vi.wikipedia.org 30/3/2016 https://vi.wikipedia.org/wiki/Hệ_thống_nhúng 5, Bùi Đức Thắng ( Viện NC Điện tử - Tin học – Tự động hóa ) 27/8/2009 “Một số nét khái quát chuẩn Zigbee” http://automation.net.vn/CNTT-voi-TDH/Mot-so-net-khai-quat-ve-chuanZigbee.html 54 ... số yêu cầu : - Độ nhạy cảm biến cao - Giao diện dễ sử dụng - Có hệ thống xử lí chỗ - Tốc độ xử lí module trung tâm nhanh, xảy tình trạng treo, chập chờn tín hiệu, loạn tín hiệu - Vật tƣ dễ tìm,... theo thời gian thực Thông số kỹ thuật : - Giao thiếp với SD card dƣới định dạng FAT 16 FAT 32 - Bộ thời gian thực có kèm pin dự phòng - Tích hợp sẵn thƣ viện - Sử dụng nguồn 3.3V 1.2.4 Motor Shield... đầu cảm biến MQ-2 đƣợc chuyển đổi thành điện áp 27 MQ-2 cho tín hiệu Digital Analog Trên MQ-2 led báo hiệu nồng độ vƣợt ngƣỡng Ngƣỡng điều chỉnh qua biến trở Tín hiệu analog từ MQ-2 đƣợc đƣa vào

Ngày đăng: 02/11/2017, 11:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan