KIẾN THỨC TỔNG QUAN
Giới thiệu hệ thống điều khiển từ xa
Hệ thống điều khiển từ xa là một hệ thống cho phép ta điều khiển các thiết bị từ một khoảng cách xa Ví dụ hệ thống điều khiển bằng vô tuyến, hệ thống điều khiển bằng tia hồng ngoại, hệ thống điều khiển từ xa bằng Bluetooth, hệ thống điều khiển từ xa bằng cáp quang, dây dẫn.
Sơ đồ kết cấu hệ thống điều khiển từ xa nói chung bao gồm:
Thiết bị phát: biến đổi lệnh điều khiển thành tin tức và phát đi, ở trongthiết kế này nhóm em sử dụng thiết bị phát là Remote hồng ngoại đối với phương pháp điều khiển qua sóng hồng ngoại và thiết bị phát là điện thoại Android với phương pháp điều khiển qua sóng bluetooth.
Đường truyền: đưa tín hiệu điều khiển từ thiết bị phát đến thiết bị thu.Trong thiết kế nhóm em sử dụng 2 đường truyền là sóng hồng ngoại và sóng bluetooth.
Thiết bị thu: nhận tín hiệu điều khiển từ đường truyền, qua quá trình biếnđồi, biến dịch để tái hiện lại lệnh điều khiển rồi đưa đến các thiết bị thi hành.
Trongthiết kế của nhóm em thì thiết bị thu là mắt thu hồng ngoại 1838 và module Bluetooth HC05.
Hình 1.1: Sơ đồ kết cấu hệ thống điều khiển từ xa
Phương pháo mã hóa trong điều khiển từ xa
Trong hệ thống truyền thông tin rời rạc hoặc truyền thông tin liên tục nhưng đã được rời rạc hóa tin tức thường phải được biến đổi thông qua một phép biến đổi thành số(thường là nhị phân) rồi mã hóa và được phát đi từ thiết bị phát Ở thiết bị thu,các tín hiệu phải thông qua các phép biến đổi ngược lại với các phép biến đổi trê: giải mã, liên tục hóa,
1.2.1 Điều khiển từ xa bằng tia hồng ngoại 1.2.1.1 Khái niệm Ánh sáng hồng ngại (tia hồng ngoại) là ánh sáng không thể nhìn thấy được bằng mứt thường có bước sóng khoảng 0.8 m đến 0.9 m, tia hồng ngoại có vận tốc truyền bằngm đến 0.9m, tia hồng ngoại có vận tốc truyền bằng m đến 0.9m, tia hồng ngoại có vận tốc truyền bằng vận tốc ánh sáng.
Tia hồng ngoại có thể truyền đi được nhiều kênh tín hiệu Nó ứng dụng rộngrãi trong công nghiệp Lượng thông tin có thể đạt được tới 3Mbit/s … Trong kỹthuật truyền tin bằng sợi quang dẫn không cần các trạm khuếch đại giữa chừng,người ta có thể truyền một lúc 15000 điện thoại hay 15 kênh truyền hình qua mộtsợi tơ quang với đường kính 0.13mm với khoảng cách 10Km đến 20Km Lượngthông tin được truyền đi với ánh sáng hồng ngoại lớn gấp nhiều lần.
Tia hồng ngoại dễ hấp thụ, khả năng xuyên thấu kém Trong điều khiển từxa, tia hồng ngoại phát đi hẹp, có hướng do đó phải thu đúng hướng.
1.2.1.2 Nguồn phát sáng hồng ngoại và phổ của nó
Các nguồn sóng nhân tạo thường có nhiều sóng hồng ngoại Hình dưới cho taquang phổ của các nguồn phát sáng này.
Hình 1.1: Quang phổ của các nguồn sóng hồng ngoại
Trong đó: IRED: Diode hồng ngoại LA: laser bán dẫn
LR: đèn huỳnh quang Q: bóng đèn thủy tinh W: bóng đèn ddienj với dây tiêm volfram PT: phototransitor
1.2.1.3 Ưu và nhược điểm của phương pháp điều khiển từ xa bằng tia hồng ngoại a Ưu điểm
Led phát và thu nhỏ, gọn dễ thiết kế lắp đặt và có độ tin cậy cao.
Áp cung cấp thấp, công suất tiêu tán nhỏ
Điều khiển được nhiều thiết bị.
Tính khả thi cao, linh kiện dễ tìm thấy và dễ thi công b Nhược điểm
Tầm xa bị hạn chế
Dòng điện cao tức thời
Nhiều hồng ngoại do các nguồn nhiệt xung quanh ta ohats ra, nên nó ảnh hưởng và hạn chế tầm phát Do đó chỉ dùng trong phòng , kho va fnowis ít bị ảnh hưởng của nhiệt độ môi trường
Hạn chế khi bị vật cản nên không thể truyền được xa.
1.2.1.4.Sơ đồ khối hệ thống điều khiển từ xa bằng tia hồng ngoại nói chung a,Máy phát
Hình 1.2: Sơ đồ máy phát
Giải thích sơ đồ máy phát:
Máy phát có nhiệm vụ tạo ra lệnh điều khiển, mã hóa và phát tín hiệu đếnmáy thu lệnh truyền đi đã được điều chế.
Khối phát lệnh điều khiển: khối này có nhiệm vụ tạo ra lệnh điều khiểntừ nút nhấn (phím điều khiển) Một khi phím nhấn được ấn tức là một lệnh đã đượcphát ra Các nút nhấn có thể là một nút, hay ma trận nút Ma trận phím được bố trítheo cột và hàng.
Lệnh điều khiển được đưa đến bộ mã hóa dưới dạng các bit nhịphân tương ứng với từng phím điều khiển.
Khối mã hóa: để truyền các tín hiệu khác nhau đến máy thu mà chúngkhông lẫn lộn nhau, ta phải tiến hành mã hóa các tín hiệu (lệnh điều khiển) Khốimã hóa này có nhiệm vụ biến đổi các lệnh điều khiển thành các bit nhị phân, hiệntượng biến đổi này gọi là mã hóa Có nhiều phương pháp mã hóa khác nhau:
Điều chế biên độ xung
Điều chế vị trí xung
Điều chế độ rộng xung
Trong kỹ thuật điều khiển từ xa dùng tia hồng ngoại, phương pháp điều chế mã xung thường được sử ụng nhiều hơn cả, vì phương pháp này tương đối đơn giản, dễ thực hiện.
Khối dao động tạo sóng mang: khối này có nhiệm vụ tao ra sóng mangcó tần số ổn định, sóng mang này sẽ mang tín hiệu điều khiển khi truyền ra môitrường.
Khối điều chế: khối này có nhiệm vụ kết hợp với tín hiệu điều khiển đãmã hóa sóng mang để đưa đến khối khuếch đại.
Khối khuếch đại: khuếch đại tín hiệu đủ lớn để led phát hồng ngoại phátra môi trường.
Led phát: biến đổi tín hiệu điện thành tín hiệu hồng ngoại phát ra ngoài môi trường. b, Máy thu
Hìn 1.3: Sơ đồ khối máy thu Giải thích sơ đồ khối máy thu:
Chức năng của máy thu là thu được tín hiệu điều khiển từ máy phát , loại bỏ sóng mang, giải mã tín hiệu điều khiển thành các lệnh riêng biệt, từ đó mỗi lệnh sẽ đưa đến khôi chấp hành cụ thể
Led thu: thu tns hiệu hồng ngoại do máy phát truyền tới và biến đổi thành tín hiệu điều khiển
Khối khuếch đại L có nhiệm vụ khuếch địa tín hiệu điều khiển lớn lên từ Led thu hồng ngoại để quá trình xử lý tín hiệu được dễ dàng
Khối tách sóng mang: khối này có chức năng triệt tiêu sóng mang, chỉ giữ lại tín hiệu điều khiển như tín hiệu gửi đi từ máy phát.
Khối giải mã : giải mã tín hiệu điều khiển thành các lệnh điều khiển dưới dạng các bit nhị phân hay các dạng khác để đưa đến khối chấp hàng cụ thể Do đó nhiệm vụ của khối này là rất quan trọng
Khối chốt: có nhiệm vụ giữ nguyên trạng thái tác động khi tín hiệu điều khiển không còn, điều này có nghĩa là khi phát lệnh điều khiển ta chỉ tác động vào phím ấn 1 lần, trạng thía chỉ thay đổi khi ta ác động vào nút khác thực hiện lệnh điều khiển khác
Khối khuếch đại: Khuếch đại tín hiệu điều khiển đủ lớn để tác động vào mạch chấp hành
Khối chấp hành: có thể là role một linh kiện điều khiển nào đó, đây là khâu cuối cùng tác động trực tiếp vào thiết bị thực hiện nhiệm vụ điều khiển mong muốn
1.2.2 Điều khiển từ xa bằng Bluetooth 1.2.2.1.Lịch sử phát triển của Bluetooth
Bluetooth đã được phát triển bởi công ty di động Thụy Điển Ericsson vào những năm 1990 Tên Bluetooth xuất phát từ cái tên của vị viking huyền thoại người Thụy Điển, Harald “Bluetooth” Gormsson, người đã thống nhất các vương quốc Scandinavia Bletooth cũng được thiết kế để thống nhất việc kết nối các thiết bị không dây.
Blutooth 1.0 (7/1999): phiên bản đầu tiên được đưa ra thị trường với tốc độ kết nối ban đầu là 1Mbps Tuy nhiên, trên thực tế tốc độ kết nối của thế hệ này chưa bao giờ đạt quá mức 700Kbps.
Bluetooth 1.1 (2001): Đánh dấu bước phát triển mới của công nghệ Bluetooth trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới.
Bluetooth 1.2 (11/2003): Bắt đầu có nhiều tiến bộ đáng kể Chuẩn này hoạt động dựa trên băng tần 2.4GHz và tăng cường kết nối thoại.
Bluetooth 2.0+ERD (2004): Bắt đầu nâng cao tốc độ và giảm thiểu một nửa năng lượng tiêu thụ so với trước đây Tốc độ của chuẩn Bluetooth lên đến 2.1Mbps với chế độ cải thiện kết nối truyền tải–ERD (Enhanced data rate).
Bluetooth 2.1+ERD (2004): đây chính là thế hệ nâng cấp củaBluetooth 2.0 có hiệu năng cao hơn và tiết kiệm năng lượng hơn.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Kiến trúc hệ thống
Kiến trúc của Mô hình xe hút bụi điều khiển bằng hồng ngoại được chia làm hai thành phần chính:
Thiết bị điều khiển: chúng ta có thể sử dụng các thiết bị như điện thoại di động, máy tính bảng chạy hệ điều hành Android có kết nối Bluetooth để làm thiết bị điều khiển.
Mô hình xe hút bụi tự vận hành tránh vật cản: mô hình xe điều khiển sẽ được chia nhỏ thành 3 phần bao gồm khối nhận lệnh, khối điều khiển và khối thực thi.
Hình 2.1 Kiến trúc của hệ thống mô hình xe điều khiển o Khối nhận lệnh: sẽ sử dụng module thu phát IR và Bluetooth để nhận tín hiệu điều khiển và giao tiếp với khối điều khiển. o Khối điều khiển: sử dụng để xử lý lệnh nhận được từ khối nhận lệnh, qua đó điều khiển các module khác theo yêu cầu. o Khối vận hành: khối này sẽ bao gồm module điều khiển, các motor giúp xe có thể chuyển động.
Linh kiện phần cứng
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới chính là dòng Arduino UNO Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3) Đây là một board điều khiển nhỏ gọn, được thiết kế để giúp người dùng thực thi các dự án điện tử và lập trình nhúng một cách dễ dàng.
2.2.1.1 Một vài thông số của Arduino UNO R3
Vi điều khiển: ATmega328 họ 8bit.
Điện áp hoạt động: 5V DC (chỉ được cấp qua cổng USB).
Tần số hoạt động: 16 MHz.
Dòng tiêu thụ khoảng: 30mA.
Điện áp vào khuyên dùng: 7-12V DC.
Điện áp vào giới hạn: 6-20V DC.
Số chân Digital I/O: 14 (6 chân hardware PWM).
Số chân Analog: 6 (độ phân giải 10bit).
Dòng tối đa trên mỗi chân I/O: 30 mA.
Dòng ra tối đa (5V): 500 mA.
Dòng ra tối đa (3.3V): 50 mA.
Bộ nhớ flash: 32 KB (ATmega328) với 0.5KB dùng bởi bootloader.
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
Hình 2.3 Vi điều khiển ATmega328
Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328 Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi tiền không cho phép, bạn có thể sử dụng các loại vi điều khiển khác có chức năng tương đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB) hoặc ATmega168 (bộ nhớ flash 16KB).
Ngoài việc dùng cho board Arduino UNO, bạn có thể sử dụng những IC điều khiển này cho các mạch tự chế Vì sao ? Vì bạn chỉ cần board Arduino UNO để lập trình cho vi điều khiển Trên thực tế, bạn không cần phải dụng Arduino UNO trên các sản phẩm của mình, thay vào đó là các mạch tự chế để giảm chi phí.
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB.
Nếu cấp nguồn vượt quá ngưỡng giới hạn trên sẽ làm hỏng Arduino UNO.
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND.
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO.
Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy
Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích.
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328.
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển.
Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớFlash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).
Hình 2.4 Các cổng vào/ra trên Arduino UNO R3
Một số chân digital có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây.
Phân tích và xác định yêu cầu
2.3.1 Mục đích của đề tài
Là thực hiện điều khiển xe bằng 2 phương pháp:
Điều khiển xe bằng remote IR qua sonhs hồng ngoại
Điều khiển xe bằng thiết bị Mobile android qua sóng Bluetooth
2.3.2 Xây dựng biểu đồ use case tổng quát
Hình 2.17 Sơ đồ use case tổng quát
2.3.3 Đặc tả ca sử dụng điều khiển bàng hồng ngoại
Description Xe hút bụi tiến lên
Trigger Khi có thông tin truyền về cảm biến hồng ngoại
Pre-condition Cảm biến hồng ngoại nhận được tín hiệu từ remote
Basic flow 1) Cảm tiến hồng ngoại thu được tín hiệu từ remote 2) Arduino nhận tín hiệu từ cảm biến và xuất tín hiệu tiến lên cho Module L293D
3) Module L293D điều khiển các động tiến lên
4) Động cơ hai bên xe tiến lên và xe tiến lên
Exception flow 1) Cảm biến hồng ngoại nhận được tín hiệu từ remote 2) Arduino nhận tín hiệu từ cảm biến và xuất tín hiệu tiến lên cho Module L293D
3) Module L293D điều khiển 2 động cơ để xe san trái hay phải
Bảng 2.2 Ca sử dụng tiến lên
Description Xe hút bụi rẽ sang bến trái
Trigger Khi có thông tin truyền về cảm biến hồng ngoại Pre-Condition
Basic flow 1) Cảm tiến hồng ngoại thu được tín hiệu từ remote 2) Arduino nhận tín hiệu từ cảm biến và xuất tín hiệu tiến lên cho Module L293D
3) Module L293D điều khiển động cơ rẽ trái
4) Động cơ bánh xe khởi động rẽ trái và xe chạy sang trái
Bảng 2.3 Ca sử dụng rẽ trái
Description Xe hút bụi rẽ sang bên phải
Trigger Khi có thông tin truyền về cảm biến hồng ngoại Pre-Condition
Basic flow 1) Cảm tiến hồng ngoại thu được tín hiệu từ remote 2) Arduino nhận tín hiệu từ cảm biến và xuất tín hiệu tiến lên cho Module L293D
3) Module L293D điều khiển động cơ rẽ phải
4) Động cơ bánh xe khởi động rẽ trái và xe chạy sang phải
Bảng 2.4 Ca sử dụng rẽ phải
Description Điều khiển cho xe lùi lại
Basic Flows 1) Cảm tiến hồng ngoại thu được tín hiệu từ remote
2) Arduino xử lý tín hiệu nhận được, xuất tín hiệu điều khiển 4 motor lùi lại phía sau thông qua module L293D
3) Motor nhận được tín hiệu lùi lại từ module L293D bắt đầu xoay ngược chiều đưa xe lùi lại phía sau.
Bảng 2.5 Ca sử dụng lùi lại
2.3.4 Đặc tả ca sử dụng điều khiển bằng Bluetooth
Brief Description Điều khiển cho xe tiến lên Pre-condition Thiết bị đã được kết nối Bluetooth Basic Flows 1 Người điều khiển ra tín hiệu tiến lên ở trên thiết bị điều khiển.
2 Module HC-05 nhận tín hiệu điều khiển và chuyển tín hiệu điều khiển cho Arduino.
3 Arduino xử lý tín hiệu nhận được, xuất tín hiệu điều khiển 4 motor tiến về phía trước thông qua module L293D
4 Motor nhận được tín hiệu tiến lên từ module L293D bắt đầu xoay đưa xe tiến về phía trước.
Bảng 2.6 Bảng mô tả ca sử dụng Tiến lên
Brief Description Điều khiển cho xe lùi lại
Pre-condition Thiết bị đã được kết nối Bluetooth
Basic Flows 1 Người điều khiển ra tín hiệu tiến lên ở trên thiết bị điều khiển.
2 Module HC-05 nhận tín hiệu điều khiển và chuyển tín hiệu điều khiển cho Arduino.
3 Arduino xử lý tín hiệu nhận được, xuất tín hiệu điều khiển 4 motor lùi lại phía sau thông qua module L293D.
4 Motor nhận được tín hiệu lùi lại từ module L293D bắt đầu xoay ngược chiều đưa xe lùi lại phía sau.
Bảng 2.7 Bảng mô tả ca sử dụng Lùi lại
Use Case Xoay sang trái
Brief Description Điều khiển cho xe xoay sang trái
Pre-condition Thiết bị đã được kết nối Bluetooth
Basic Flows 1 Người điều khiển ra tín hiệu xoay sang trái ở trên thiết bị điều khiển.
2 Module HC-05 nhận tín hiệu điều khiển và chuyển tín hiệu điều khiển cho Arduino.
3 Arduino xử lý tín hiệu nhận được, xuất tín hiệu điều khiển tới module L293D.
4 Module L293 nhận được tín hiệu, điều khiển 2 motor bên phải xoay về phía trước, 2 motor bên trái đứng yên đưa xe xoay sang bên trái.
Bảng 2.8 Bảng mô tả ca sử dụng Xoay sang trái
Use Case Xoay sang phải
Brief Description Điều khiển cho xe xoay sang phải
Pre-condition Thiết bị đã được kết nối Bluetooth
Basic Flows 1 Người điều khiển ra tín hiệu tiến lên ở trên thiết bị điều khiển.
2 Module HC-05 nhận tín hiệu điều khiển và chuyển tín hiệu điều khiển cho Arduino.
3 Arduino xử lý tín hiệu nhận được, xuất tín hiệu điều khiển tới module L293D.
4 Module L293D nhận được tín hiệu, điều khiển 2 motor bên trái xoay về phía trước, 2 motor bên phải đứng yên đưa xe xoay sang bên phải.
Bảng 2.9 Bảng mô tả ca sử dụng Xoay sang phải
Brief Description Điều khiển cho xe dừng lại
Pre-condition Thiết bị đã được kết nối Bluetooth
Basic Flows 1 Người điều khiển ngừng phát tín hiệu ở trên thiết bị điều khiển hoặc sau khoảng thời gian nhất định module HC-05 không nhận được tín hiệu.
2 Arduino không nhận được tín hiệu điều khiển từ module HC-05, xuất tín hiệu dừng lại tới module L293D.
3 Module L293D nhận được tín hiệu, điều khiển 4 motor ngừng xoay làm cho xe dừng lại.
Bảng 2.10 Bảng mô tả ca sử dụng Dừng lại
2.3.5 Ca sử dụng tự hành tránh vật cản
Use Case Tự hành tránh vật cản
Description Điều khiển cho xe tự di chuyển và tự tránh vật cản
Pre-condition Cảm biến siêu âm HC-SR04 phát hiện có vật cản phía trước cách xe 26cm
Basic Flows 1) CẢm biến siêu âm HC-SR04 thu được tín hiệu phát hiện có vật cản phía trước 2) Arduino nhận tín hiệu và xuất tín hiệu dừng cho Arduino Motor Shield L293D.
3) Arduino Motor Shield L293D điều khiển động cơ DC lùi lại
4) Động cơ bánh xe khởi động lùi và chạy lùi 5) Cảm biến siêu âm tiếp tục quay trái, quay phải để đo khoảng cách 6) Nếu khoảng cách từ vật cản trái < vật cản phải
Arduino Motor Shield L293D điều khiển động cơ rẽ phải và ngược lại 7) Arduino Motor Shield L293D điều khiển động cơ DC đi thẳng
Bảng 2.11 Bảng mô tả ca sử dụng Tự hành tránh vật cản
2.3.6 Ca sử dụng tự hành tránh vật cản
Description Điều khiển cho xe tự di chuyển và hút bụi
Pre-condition Xe đi qua vị trí có bụi hoặc vụn giấy
Basic Flows 1)Arduino nhận tín hiệu và xuất tín hiệu di chuyển cho Arduino Motor Shield L293D.
2) Động cơ hút bui được bật và hút bụi
Bảng 2.12 Bảng mô tả ca sử dụng hút bụi
2.3.7 Biểu đồ tuần tự 2.3.7.1 Biểu đồ tuần tự ca sử dụng tiến lên
Hình 2.8 Biểu đồ tuần tự ca sử dụng tiến lên
2.3.7.2 Biểu đồ tuần tự ca sử dụng lùi lại
Hình 2.9 Biểu đồ tuần tự ca sử dụng lùi lại
2.3.7.3 Biểu đồ tuần tự ca sử dụng xoay sang trái
Hình 2.10 Biểu đồ tuần tự ca sử dụng xoay sang trái
2.3.7.4.Biểu đồ tuần tự ca sử dụng xoay sang phải
Hình 2.11 Biểu đồ tuần tự ca sử dụng xoay sang phải
2.3.7.5 Biểu đồ tuần tự ca sử dụng tự hành tránh vật cản
Hình 2.22 Biểu đồ tuần tự ca sử dụng tự hành tránh vật cản
Thiết kế hệ thống
Hình 2.23 Sơ đồ khối tổng quát
Arduino R3: xử lý mọi tín hiệu từ module bluetooth hoặc modul hồng gnoaij gửi về để phát tín hiệu điều khiển cho modul điều khiển đọng cơ để điều khiển động cơ hoạt động theo chương trình.
Modul thu hồng ngoại: cảm biến nhận tín hiệu từ remote gửi tín hiệu về cho vi điều khiển
Modul Bluetooth: Nhận tín hiệ gửi từ app điều khiển rồi gửi tín hiệu về cho vi điều khiển
Cảm biến siêu âm HC-SR04: cảm biến nhận tín hiệu phản xạ từ vật chắn phía truowcs về cho vi điều khiển
Arduino Motor shield L293D: Nhận tín hiệu từ vi điều khiển để điều khiển động cơ hoạt động chính xác.
Động cơ bánh xe: Nhận tín hiệu từ Arduino Motor shield L293D và hoạt động điều khiển xe theo chương trình.
Động cơ hút bụi: Nhận tín hiệu khởi động và tiến hành quay để hút bụi
2.4.2 Sơ đồ thuật toán 2.4.2.1 Sơ đồ thuật toán điều khiển bằng bluetooth
Hình 2.24 : Sơ đồ thuật toán điều khiển bằng bluetooth
2.4.2.2 sơ đồ thuật toán điều khiển bằng hồng ngoại
Hình 2.25 Sơ đồ thuật toán điều khiển bằng hồng ngoại
2.4.2.3 Sơ đồ thuật toán tránh vật cản
Hình 2.26 Sơ đồ thuật toán tránh vật cản
Thiết kế hệ thống
2.5.1 Sơ đồ kết nói động cơ với shield L293D
Hình 2.12 kết nối động cơ với shield L293d