Khóa luận tốt nghiệp Phước Hoài Phát Đạt Hoàng Hiệp Xuân Cường 48 CHƯƠNG 4 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM Đặt vấn đề Ở chương này, chúng ta sẽ thiết kế lưu đồ giải thuật của quá trình giao và nhận hàng Từ đó ta sẽ giải quyết vấn đề truyền nhận dữ liệu giữa các thiết bị với nhau nhằm giúp giải quyết yêu cầu bài toán trên thực tế tốt nhất Mục tiêu đặt ra • Phần mềm phải đáp ứng được những nhu cầu của người sử dụng • Những ứng dụng phải phù hợp với thực tế • Viết ứng dụng giao diện phải hợp lí và d.
Trang 1CHƯƠNG 4 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM
Đặt vấn đề
Ở chương này, chúng ta sẽ thiết kế lưu đồ giải thuật của quá trình giao và nhận hàng
Từ đó ta sẽ giải quyết vấn đề truyền nhận dữ liệu giữa các thiết bị với nhau nhằm giúp
giải quyết yêu cầu bài toán trên thực tế tốt nhất
M ục tiêu đặt ra
• Phần mềm phải đáp ứng được những nhu cầu của người sử dụng
• Những ứng dụng phải phù hợp với thực tế
• Viết ứng dụng giao diện phải hợp lí và dễ dàng thao tác cho người sử dụng
Trang 249
Lưu đồ giải thuật gửi hàng:
Start
USB.INIT() SOFTWARE SERIAL.BEGIN SERIAL.BEGIN
USB.INIT==-1
PRESS KEY==1
GET BARCODE TẠO MÃ SỐ RANDOM
SOFTW ARE SERIAL
SEND SMS RANDOM NUMBER
YES
NO
YES
YES
NO
NO
SOFTWARESERIAL AVAILABLE>0
Trang 3B ắt đầu
Kh ởi tạo USB Khởi tạo UART mềm
Kh ởi tạo UART cứng
Nếu khởi tạo USB xong
Nếu có mã quét
Đọc mã quét
T ạo mã số random
Mở servo
SOFTW ARE SERIAL
Gửi tin nhắn với nội dung là mã random
Đóng servo lại
YES
NO
YES
YES
NO
NO
UART có tín hi ệu ngắt nhận hay không
Trang 451
Quy trình gửi hàng:
Khi khởi động mô hình thì máy quét sẽ hoạt động Chúng ta tiến hành quét mã
vạch, tín hiệu từ máy quét sẽ lưu lại và được xử lý trên module Arduino USB ADK
Được gửi lên Arduino qua chân 12 để module Arduino USB ADK giao tiếp được
với Arduino ta sử dụng chân 11 để đồng bộ tín hiệu giao tiếp Khi Arduino nhận được tín hiệu, ngay lập tức barcode sẽ đưa lên Nextion qua chuẩn giao tiếp UART (sử dụng chân 0 và chân 1)
Khi có tín hiệu HMI, Arduino sẽ tạo ra một mã random và truyền về module Sim dùng chuẩn giao tiếp UART (chân 2 và chân 3) Đồng thời Arduino sẽ truyền tín hiệu
tới module Servo sử dụng chuẩn giao tiếp I2C (chân 5 và chân 6), từ đây nó sẽ kích tín
hiệu cho Servo đóng lại
Trang 5Lưu đồ giải thuật nhận hàng:
GET BARCODE
T ẠO MÃ SỐ RANDOM
x
Start
CONTROL SERVO
NO
NO
SOFTW ARE SERIAL
GET VAR FROM SOFTWARE SERIAL
VAR=RAND
YES
YES
SOFWARESERIAL AVAILABLE>0
VAR=RANDOM NUMBER
Trang 653
SEND
B ắt đầu
Điều khiển Servo
NO
NO
SOFTW ARE SERIAL
Đọc giá trị nhận từ UART
VAR=RAND
YES
YES
Tín hi ệu UART ngắt nhận 0
So sánh mã random với
mã đã lưu
Trang 7Quy trình nhận hàng:
Sau khi người nhận hàng nhận được mã code từ tin nhắn SMS Người nhận tiến hành nhấn vào nút “TRẢ” trên màn hình Nextion thì sẽ hiện ra giao diện “TRẢ” Người
nhận sẽ nhập mã code từ tin nhắn và nhấn nút “OK” thì tín hiệu trên HMI gửi về Arduino
và so sánh với tín hiệu từ tin nhắn nếu đúng thì điều khiển Servo mở cửa để người nhận
lấy hàng Sau đó người nhận đóng cửa lại