Thiết kế giao diện điều khiển

Một phần của tài liệu Robot lau nhà điều khiển từ xa (Trang 30)

3.2.1 Giao diện web

Ngôn ngữ lập trình html và css

● Giới thiệu về html và css

Được sử dụng trong việc tao ra giao diện điều khiển trên web của đồ án. 1.Giới thiệu về HTML

HTML là chữ viết tắt của cụm từ HyperText Markup Language(dịch là Ngôn ngữ đánh dấu siêu văn bản) được sử dụng để tạo một trang web, trên một website có thể sẽ chứa nhiều trang và mỗi trang được quy ra là một tài liệu HTML

Một tài liệu HTML được hình thành bởi các phần tử HTML (HTML Elements) được quy định bằng các cặp thẻ (tag), các cặp thẻ này được bao bọc bởi một dấu ngoặc ngọn (ví dụ <html>) và thường là sẽ được khai báo thành một cặp, bao gồm thẻ mở và thẻ đóng (ví <strong> dụ </strong> và ). Các văn bản muốn được đánh dấu bằng HTML sẽ được khai báo bên trong cặp thẻ (ví dụ <strong>Đây là chữ in đậm</strong>). Nhưng một số thẻ đặc biệt lại không có thẻ đóng và dữ liệu được khai báo sẽ nằm trong các thuộc tính (ví dụ như thẻ <img>).

30

Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở rộng là .html hoặc .htm.

2. Giới thiệu về Css

CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML). Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm một chút “phong cách” vào các phần tử HTML đó như đổi màu sắc trang, đổi màu chữ, thay đổi cấu trúc,…rất nhiều.

Giao diện web

Giao diện điều khiển web của đồ án được chia làm 2 phần:Giao diện đăng nhập và giao diện điều khiển.

3.2.2 Thiết kế giao diện điện thoại

Phần mềm lập trình Android Studio

Android Studio là môi trường phát triển tích hợp (IDE) chính thức dành cho phát triển nền tảng Android.Android Studio cũng cho phép lập trình viên tạo ứng dụng, dễ dàng thực hiện các thay đổi và xem trước trong thời gian thực.

Android Studio hỗ trợ một loạt các giả lập để xem trước ứng dụng, vì vậy ngay cả khi không có thiết bị thử nghiệm, vẫn có thể chắc chắn rằng mọi thứ đều hoạt động trơn tru.

31

Hình 3.2.2.1 Giao diện lập trình điện thoại Nguyên lý hoạt động :

Sau khi khởi động chương trình điện thoại sẽ xuất hiện giao diện đăng nhập

32

Sau khi đăng nhập thành công giao diện điều khiển xuất hiện giao diện điều khiển.

Lúc này nhập ip mặc định của robot để kết nối điều khiển khi kết nối thành công các nút điều khiển có thể hoạt động.

Sử dụng joystick để điều khiển robot ở chế độ điều khiển. Có 2 chế độ điều khiển tự đông và điều khiển

● Khi chọn chế độ “tự động” điện thoại sẽ gửi 1 chuỗi mã đến NODEMCU, lúc này thông qua giao tiếp UART với PIC16F887, NODEMCU sẽ gủi cho PIC 1 chuổi ký tự để PIC nhận biết được là đang ở chế độ chạy tự động.

● Khi chọn chế độ “điều khiển” điện thoại sẻ gủi liên tục các chuỗi đến NODEMCU, lúc này thông qua giao tiếp UART với PIC16F887, NODEMCU sẽ gủi cho PIC16F887 các chuỗi này để robot có thể đi đúng huống mong muốn.

Khi điện thoại không kết nối đến NODEMCU thì robot mặc định chạy ở chế độ tự động.

33

Chương 4: XÂY DỰNG HỆ THỐNG

4.1 Sơ đồ khối hệ thống 4.1.1 Yêu cầu của hệ thống:

Hệ thống có khả năng tạo ra giao diện để giao tiếp trực quan với người dùng, có thể thay đổi qua lại 2 chế độ: Tự vận hành và điều khiển bằng tay.

Robot giao tiếp với điện thoại và web server qua wifi để thực thi các yêu cầu của người sử dụng.

4.1.2 Sơ đồ khối:

34

4.1.3 Sơ đồ nguyên lý

Hình 4.1.2 Sơ đồ nguyên lý

4.1.4 Chức năng từng khối:

● Điều khiển thông qua di động hoặc web: Điều khiển robot theo ý muốn của người sử dụng thông qua giao diện được thiết kế sẵn.Chọn lựa giữa 2 chế độ điều khiển hoặc tự động.

● Khối giao tiếp wifi:Kết nối robot với hệ thống mạng

● Khối xử lý trung tâm:Nhận tính hiệu từ khối điều cũng như cập nhật dữ liệu từ camera đến giao diện của khối điều khiển.Khi có tín hiệu từ khối điều khiển khối xử lý trung tâm sẽ thực hiện chế độ điều khiển hoặc tự động.

● Khối camera:Cập nhật vi trí của robot hổ trợ chế độ điều khiển

● Khối cảm biến:Đươc đặt xung quanh thân và ở đáy robot có chức năng xác định vật cản cũng như những vùng đia hình lõm.

35

4.1.5 Hoat động của hệ thống: 4.1.5.1 Hoạt động giao diện

 Giao diên web:

● Bao gồm một giao diện đăng nhập, bao gồm hai ô password, cùng với một nút nhấn xác nhập.

● Sau khi đăng nhập thành công người dùng sẽ được liên kết đến giao diện điều khiển.

 Giao diện điều khiển của chương trình, bao gồm:

● Nếu chọn chế độ tự vận hành, các cảm biến siêu âm và hồng ngoại sẽ hoạt động để giúp robot tránh vật cản và địa hình xấu

● Nếu chọn chế độ điều khiển bằng tay, người dùng sẽ sử dụng những phím điều hướng để điều khiển xe theo ý mình.

 Giao diện điện thoại:

● Chỉ gồm giao diện điều khiển có chức năng tương tự như giao diện web.

4.1.5.2 Hoạt động robot

● Robot sẽ luôn trong trạng thái chớ lệnh từ điện thoại hoặc web server. Khi nhận được lệnh, robot sẽ thực thi theo yêu cầu.

4.2 Thiết kế tính toán hệ thống. 4.2.1Khối cảm biến: 4.2.1Khối cảm biến:

 Yêu cầu:

Để phát hiện được vật cản và xe có phản xạ kịp thời, cảm biến cần phải phát hiện chính xác trong tầm khoảng cách 20cm.

Các loại thường gặp:

STT Tên Khoảng cách phát hiện Giá 1 Cảm biến hồng ngoại Analog

SHARP

20 – 150 cm 230.000 VND

2 Cảm biến hồng ngoại V1 2 -5 cm 20.000 VND

3 Cảm biến siêu âm SRF 04 2 - 300 cm 30.000 VND

36

 Giải pháp:

● Trong các loại cảm biến thường gặp thì cảm biến IR có giá thành thấp nhất nhưng khi lau nhà trong môi trường có ánh sáng mặt trời các cảm biến hồng ngoại lại không đảm bảo về độ chính xác.

● Do đó cảm biến siêu âm sẽ là sự lựa chọn tốt để thực hiện chức năng tránh vật cản của robot.So với srf04 thì srf05 có khoảng cách phát hiện xa hơn,giá thành không chênh lệch nhiều.

● Xác định địa hình xấu: Ngược lại so với chức năng tránh vật cản các cảm biến dò địa hình được đặt ở gầm robot, nơi ánh sáng hạn chế rất thích hợp sử dụng cảm biến hồng ngoại,tối ưu về giá thành.

Giải pháp được chọn: Dùng cảm biến siêu âm SRF-05 vì có khoảng cách phát hiện xa và giá thành rẻ.

4.2.2 Khối điều khiển động cơ

 Yêu cầu:

● Điều khiển được motor 12V.

● Có thể nhận điện áp điều khiển mức logic từ 3.3V -5V cho phù hợp với các vi điều khiển hiện nay.

ST T

Tên Giá Điện áp đầu vào Dòng cực đại mỗi ngõ vào

1 L298 55.000 VND 5 – 30V 2A

2 L9110 45.000 VND 2.5 - 12V 0.8A

3 Mini H1 45.000 VND 2 -10V 1.5A

4 TB6612 70.000 VND < 15V 1.2A

 Giải pháp: Chọn module L298 do:

● Có mạch bảo vệ chống quá dòng bên trong, dễ sử dụng.

● Dù có giá tiền rẻ hơn nhưng Mini H1 và L9110 không có được mạch bảo vệ quá dòng, để gây hư hỏng các linh kiện khác trong hệ thống.

37

4.2.3Khối giao tiếp wifi

 Yêu cầu:

● Phù hợp với chuẩn Wifi hiện nay (802.11).

● Hoạt động ổn định.

● Có thể ưu tiên chọn các board mạch nhúng tích hợp sẵn module wifi.

 Giải pháp: Chọn NodeMCU ESP8266 là do:

● Dễ dàng trong việc lập trình giao diện.

● Nhìu chân gpio hỗ trợ giao tiếp camera.

4.2.4 Khối xử lý trung tâm

Khối xử lý trung tâm chọn dòng vi điều khiển PIC vì đây là loại vi điều khiển phổ biến giá thành rẻ dễ dàng gia công.

Tính toán số lượng chân cần thiết :

STT Tên linh kiện Số chân kết nối Số lượng

1 Cảm biến hồng

ngoại

1 6

2 Esp8266 2 1

3 Cảm biến góc 6 1

4 Cảm biến siêu âm 4 1

5 Cảm biến điện áp 2 1

6 Động cơ encoder 1 2

Sau khi tính toán thì cần ít nhất 24 chân I/O. Tốc độ xử lý dữ liệu từ 16bit đến 32bit.

Tên Giá

Pic16F887 45.000đ

Bộ Raspberry pi zero 500.000đ

38

● Trong những cái tên được nêu ở trên thì Pic 16F887 có giá thành thấp nhất nhưng vẫn có thể đảm bảo được số chân I/O cần thiết cũng như tốc độ xử lý.Ngoài ra robot lau nhà cần nhỏ gọn để có thể lau dọn trong những không gian hẹp nên Pic 16F887 là sự lựa chọn để tối ưu diện tích phần cứng.

● Chức năng ngõ vào ra, kết nối.

● Port B kết nối với các cảm biến hồng ngoại vì trên PIC có cho phép ngắt ngoài bằng port B.

● Port C kết nối với module ESP8266 và đọng cơ encoder.

● Port A kết nối với cảm biến điện áp để đo dung lượng pin.

● Port D, B,E kết nối với các module còn lại.

Các chương trình con được lập trình sẵn trên pic khi người dùng chọn chế độ thực hiện thì dữ liệu được truyền qua module esp8266 giao tiếp với pic bằng chân usart để thực hiện chế độ.

Các trương trình con bao gồm các nhiệm vụ sau :

● Cài đặt các thông số ban đầu cho pic và module esp8266.

● Thực hiện các lênh kiểm tra tín hiệu đầu vào.

● Điều khiển động cơ hoạt động theo mong muốn và thuật toán đã được lập trình.

4.2.5 Khối nguồn:

● Cho Motor : Dùng 2 pin 4.2V và 1 viên 3.7V loại sạc lại để tạo điện áp 12.1V cho Motor.

Tên Giá Điện áp ra Dòng xả

Pin sạc Panasonic 1100mAh 30.000 VND 3.7V 2A

Pin sạc Panasonic 1100mAh 30.000 VND 4.2V 2A

39

4.3 Lưu đồ giải thuật 4.3.1 Lưu đồ giao diện 4.3.1 Lưu đồ giao diện

4.3.1.1 Lưu đồ đăng nhập web

 Khi truy cập đến web, hiển thị ô đăng nhập các chức năng điều khiển bị vô hiệu.

 Sau khi nhập đúng password, có thể sử dụng các chức năng điều khiển.

 Ưu điểm

 Đáp ứng đầy đủ những chức năng cần thiết.

 Camera hỗ trợ quá trình điều khiển.

 Khuyết điểm

 Giao diện còn đơn giản.

40

4.3.1.2 Lưu đồ giao diện điều khiển web và android

Gồm 2 chế độ điều khiển:

 Chế độ tự động:

Phát tín hiệu “auto” đến robot để robot chạy theo thuật toán được lập trình sẵn.

 Chế độ điều khiển:

Phát tín hiệu từ các phím điều khiển, robot sẽ di chuyển theo yêu cầu của người sử dụng dưới sử hỗ trợ của camera quan sát.

 Ưu điểm:

 Hai chế độ hoạt động giúp người dùng có thể don dep phòng ở bất kì nơi nào trong nhà.

 Khuyết điểm:

41

4.3.2 Lưu đồ hoạt động robot 4.3.2.1 Lưu đồ chính 4.3.2.1 Lưu đồ chính

Khi nhận được tín hiệu điều khiển:

 Chế độ tự động: Khi nhận được lệnh tự vận hành robot sẽ chạy theo thuật toán zic zag được lập trình sẵn.

 Chế độ điều khiển: Khi nhận lệnh từ các nút nhấn điều khiển, robot sẽ di chuyển theo hướng mà người dùng mong muốn.

 Ưu điểm:

 Thời gian trễ giữa quá điều khiển và quá trình robot thực thi khá thấp khoảng 0.5s

 Khuyết điểm:

42

4.3.2.2 Lưu đồ tự vận hành

Trong chế độ tự vận hành:

 Ban đầu robot sẽ chạy thẳng, lúc đó các cảm biến ở phía đầu robot sẽ liên tục dò tìm vật cản ở phía trước sau đó truyền dữ liệu về khối xử lý trung tâm.

 Nếu trong khi đang chạy thẳng robot gặp vật cản , robot sẽ chạy theo thuật toán zic zag.

 Nếu không có vật cản robot sẽ tiếp tục chạy thẳng.

 Giới thiệu thuật toán zic zag:

Khi gặp vật cản đầu tiên, robot sẽ lần lượt lùi lại, quẹo phải, quẹo phải rồi đi thẳng đến khi gặp vật cản tiếp theo.

Khi gặp vật cản thứ 2, robot sẽ lần lượt lùi lại, quẹo trái, quẹo trái rồi đi thẳng đến khi găp vật cản tiếp theo thì quay về giống lần gặp vật cản đầu tiên.

 Ưu điểm:

 Thuật toán zic zag được sử dụng giúp đạt được diện tích dọn dẹp là tối đa.

 Khuyết điểm:

43

4.3.2.3 Hoạt động theo yêu cầu

 Trong chế độ này robot nhận lệnh từ các nút điều khiển hướng.

 Khi nhận lệnh robot sẽ kiểm tra xem có đang ở chế độ tự động không, nếu có sẽ thoát chế độ tự động và di chuyển theo ý người sử dụng.

44

Chương 5: KẾT QUẢ, SO SÁNH, THỰC NGHIỆM, PHÂN TÍCH, TỔNG HỢP

5.1 Phần cứng

Hình 5.1.1 Phần cứng robot

Hình 5.1.2 Phần cứng robot sau khi hoàn thiện

Nhận xét:Phần cứng hoạt động ổn, khá nhỏ gọn nên có thể lau chùi ở những nơi con người khó tiếp xúc.

45

5.2 Giao diện điều khiển

Hình 5.2.1 Giao diện đăng nhập web trước khi nhập pass

Nhận xét: Robot hoạt động theo yêu cầu nhưng có độ trễ 1.5s khi điều khiển

Hình 5.2.3 Giao diện điều khiển trên di động

Nhận xét: Robot chạy theo yêu cầu thông qua giao diện điều khiển bằng điện thoại với độ trễ thấp.

46

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận

Sản phẩm lần này đã đáp ứng được một số yêu cầu đã đề ra:

● Robot có thể lau dọn nhà cửa theo thuật toán zic zag.

● Có thể điều khiển qua điện thoại, web.

● Có thể truyền hình ảnh từ camera về.

Một số những hạn chế của đề tài:

● Chưa thể điều khiển thông qua nền tảng IOS.

● Chưa thể thiết kế được đế xác thông minh.

● Chưa thể tự xạc pin khi hết pin

● Chức năng hoạt động chưa tốt

6.2 Hướng phát triển

Nghiên cứu và phát thêm trên nền tảng IOS cũng như phát triển thêm về mảng xạc thông minh.

47

TÀI LIỆU THAM KHẢO

Microchip, PIC16f887, www.microchip.com/wwwproducts/en/PIC16F887,

18/1/2018

Android studio, Android,

www.androidauthority.com/android-studio-tutorial-beginners-637572/, 18/1/2018 Arduino, nodeMCU, www.arduino.cc/en/Tutorial/HomePage, 18/1/2018,

www.internetofthinking.blogspot.com, 18/1/2018

Một phần của tài liệu Robot lau nhà điều khiển từ xa (Trang 30)

Tải bản đầy đủ (PDF)

(49 trang)