Tải bản đầy đủ (.pdf) (25 trang)

BÁO CÁO ĐỒ ÁN TÊN ĐỀ TÀI: Thiết kế xe điều khiển bằng sóng RF sử dụng mạch STM32

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.5 MB, 25 trang )

TRƯỜNG ĐẠI HỌC LẠC HỒNG
KHOA CƠ ĐIỆN - ĐIỆN TỬ
--- --BỘ MÔN: VI ĐIỀU KHIỂN

BÁO CÁO ĐỒ ÁN
TÊN ĐỀ TÀI:
Thiết kế xe điều khiển bằng sóng RF
sử dụng mạch STM32

GVHD : NGƠ KIM LONG
Lớp: 19CD111
SVTH : Vũ Đình Tảo
Hồng Kim Qúy
Phạm Quốc Tân

Biên Hòa, tháng 11 năm 2021


TRƯỜNG ĐẠI HỌC HỌC LẠC HỒNG
KHOA CƠ ĐIỆN - ĐIỆN TỬ
BỘ MÔN: VI ĐIỀU KHIỂN

BÁO CÁO ĐỒ ÁN
TÊN ĐỀ TÀI:
Thiết kế xe điều khiển bằng sóng RF
sử dụng mạch STM32

Giảng viên hướng dẫn : NGÔ KIM LONG
Sinh viên thực hiện : Vũ Đình Tảo
Hồng Kim Qúy
Phạm Quốc Tân


Lớp: 19CD111

Biên Hịa, tháng 11 năm 2021


MỤC LỤC
CHƯƠNG 1. MỞ ĐẦU......................................................................................... 4
1.1 Lý do chọn đề tài. ......................................................................................... 4
1.2 Mục tiêu nghiên cứu đề tài. ......................................................................... 4
1.3. Phạm vi nghiên cứu. ..................................................................................... 4
1.4. Kết quả đạt được .......................................................................................... 4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT .................................................................... 5
2.1 Phân tích để tài. ............................................................................................ 5
2.2. Lựa chọn thiết bị Phần cứng. ...................................................................... 6
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5

Vi sử lí: Kit STM32f407 -DISCOVERY ............................................................................................ 6
Bộ khung xe robot 3 bánh ( tấm mica, Motor giảm tốc DC, ba bánh xe) ...................................... 7
Mạch điều khiển RF 315mhz 6 kênh ............................................................................................ 8
. Mạch điều khiển motor DC L298n. ............................................................................................ 9
bóng đèn led. .............................................................................................................................. 9

2.3
2.4

Giới thiệu phần mềm.................................................................................. 10

Sơ đồ nguyên lý hoạt động......................................................................... 11

2.4.1
2.4.2
2.4.3
2.4.4
2.4.5

.Tổng quan sơ đồ. ..................................................................................................................... 11
. Khối motor kết nối mạch L298n. ............................................................................................. 11
. Khối đèn trước và đèn sau. ..................................................................................................... 12
Khối điều khiển ......................................................................................................................... 12
. Khối vi xử lý. ........................................................................................................................... 13

CHƯƠNG 3. THIẾT KẾ .................................................................................... 14
3.1 Kết nối phần cứng. ..................................................................................... 14
3.1.1

Thống kê I/O ............................................................................................................................. 14

3.2
3.3
3.4
3.5

Sơ đồ giải thật. ............................................................................................ 16
Viết code cho hệ thống. .............................................................................. 16
Thử nghiệm trên mơ hình. ......................................................................... 22
Kết quả thử nghiệm.................................................................................... 22


CHƯƠNG 4. KẾT LUẬN .................................................................................. 24
4.1 Kết quả đạt được. ....................................................................................... 24
4.2 Hạn chế. ....................................................................................................... 24
4.3 Hướng phát triển. ....................................................................................... 24
TÀI LIỆU THAM KHẢO .................................................................................... 25


Chương 1. MỞ ĐẦU
1.1 Lý do chọn đề tài.
Ngày nay trong tời đại tiên tiến về công nghệ khoa học kỹ thuật, và những
thành tựu của cánh mạng 4.0 làm cho cuộc sống ngày càng phát triển.
Với những phát triển đó khơng ngừng phát triển hơn về nhiều đồ chơi công
nghệ và tiên tiến bằng nhiều dạng khác nhau trong đó sóng RF được sử dụng đa
dạng hơn và phong phú hơn .

1.2 Mục tiêu nghiên cứu đề tài.
Là mục tiêu nghiên cứu sử dụng sóng RF để điều khiển xe mơ hình với các
tính năng quẹo trái, quẹo phải, tiến tới, lùi về, đèn trước, đền sau.
Người sử dụng có thể điều khiển xe mơ hình hoạt động theo ý muốn của
người điều khiển bằng remotr.

1.3.Phạm vi nghiên cứu.
Phần cứng:
- Đấu nối các thiết bị ngoại vi, với vi xử lý trung tâm.
- Xử lý các vấn đề do phần cứng phát sinh gây nhiễu.
Phần mềm:
- Nghiên cứu và đưa ra giải pháp lập trình

1.4.Kết quả đạt được
-


-

Thay thế đồ chơi truyền thống chỉ chạy bằng motor ko có điều khiển được
và thay thế thành đồ chơi công nghệ 4.0 điểu khiển theo các chức năng
của nút nhấn .
Có thể ứng dụng vào phát triển điều khiển robot xếp kho trong các kho
phân loại.
Có thể ứng dụng điều khiển cửa tự động bằng nút nhấn.


Chương 2.CƠ SỞ LÝ THUYẾT
2.1 Phân tích để tài.
Trong đề tài của nhóm, nhóm chúng em sử dụng mạch kit STM32F407DISCOVERY để kết nối với bộ thu sóng RF,điều khiển cho động DC và đèn trước
và đèn sau.với bộ bộ phát sóng RF gồm có 6 nút nhất để xuất tín hiệu cho bộ thu
sóng với từng nút nhấn tương ứng cho từng chức năng nút nhấn số 1 điều khiển hai
động tiến tới ,nút nhấn số 2 hai động cơ lùi về,nhấn nút 3 động phải quay ngược lại
động cơ trái tiến tới (rẽ phải), nhấn nút 4động cơ trái quay ngược lại động cơ phải
tiến tới (rẽ trái), nhấn nút 5lần 1 đèn trước sáng, nhấn nút 5 lần hai đèn tắt, nhấn nút
6 lần một đèn sau sáng, nhấn nút 6 lần hai đèn sau tắt.
Tổng quan về sóng vơ tuyến (RF).
Trong một phiên truyền thơng, vì tận cùng bản chất của dữ liệu là bao gồm
các bit 0 và 1, bên phát dữ liệu cần có một cách thức để gửi các bit 0 và 1 để gửi cho
bên nhận. Một tín hiệu xoay chiều hay một chiều tự nó sẽ khơng thực hiện tác vụ
này. Tuy nhiên, nếu một tín hiệu có thay đổi và dao động, dù chỉ một ít, sự thay đổi
này sẽ giúp phân biệt bit 0 và bit 1. Lúc đó, dữ liệu cần truyền sẽ có thể gửi và nhận
thành cơng dựa vào chính sự thay đổi của tín hiệu. Có ba thành phần của dạng sóng
có thể thay đổi để tạo ra sóng mang, đó là biên độ, tần số và pha. Tất cả các dạng
truyền thơng dùng sóng vô tuyến đều dùng vài dạng điều chế để truyền dữ liệu. Để
mã hóa dữ liệu vào trong một tín hiệu gửi qua sóng AM/FM, điện thoại di động,

truyền hình vệ tinh, ta phải thực hiện một vài kiểu điều chế trong sóng vơ tuyến đang
truyền.

Hình 2.1:sơ đồ khối


2.2. Lựa chọn thiết bị Phần cứng.
Với đề tài xe điều bằng sóng RF, phần cứng nhóm em sử dụng bao gồm:
- Modul Kit STM32f407 -DISCOVERY.
- Bộ khung xe robot 3 bánh ( tấm mica, hai động cơ DC, ba bánh xe).
- Mạch điều khiển RF 315mhz 6 kênh 12V.
- Mạch điều khiển động cơ DC L298n 5~12V.
- Đèn led ( 2 led đỏ, 2 led trắng).
2.2.1 Vi sử lí: Kit STM32f407 -DISCOVERY
Kit STM32F407 Discovery là loại kit được sử dụng đã số trong trường đại học
hiện nay trong giảng dạy vi điều khiển ARM, so sánh về ngoại vi và sức mạnh của
STM32 so với dòng ARM của hãng khác thì ở cùng một tầm giá , ARM và STM 32
vượt trội về cấu hình và ngoại vi hơn rất nhiều.
Vi điều khiển chính Kit STM32f407 microcontroller featuring 32-bit ARM
contex-M4F core,1MB flash, 192 KB RAM in an LQFP 100 package
Tích hợp sẵn mạch nạp và debug STINK/V2
Nguồn cấp từ cổng usb mini qua các ic nguồn chuyển thành 3.3v
Có sẵn các chân nguồn 3V và 5V
Có các cảm biến gia tốc : LIS302DL, ST MEMS MOTION SENSER, 3-AXITS
Có 8 led
Có led thơng báo trạng thái nguồn
Tích hợp nút nhấn cho người sử dụng và nút reset
Có cổng Micro USB OTG

Hình 2.2: Kit STM32F407 Discovery



2.2.2 Bộ khung xe robot 3 bánh ( tấm mica, Motor giảm tốc DC, ba bánh xe)
Dùng để gắn những thiết bị lên tấm mica .
Thông tin của Tấm mica khung xe.
- Kích thước: 220 x 150mm.
- Chất liệu: nhựa.

Hình 2.3: Mica khung xe.
Motor để cho xe hoạt động tiến. lùi, quẹo, trái, quẹo phải.
Một số thông tin Motor giảm tốc DC .
- Kích thước động cơ : 70x22x18mm.
- Tỷ số bánh răng: 1:48.
- Điện áp định mức: 3 ~ 6V.
- Mơ-men xoắn: 0,15Nm ~ 0,60Nm.

Hình 2.4: Motor giảm tốc DC.


Động cơ phải kèm theo Bánh xe mới có thể cho mơ hình chạy được.
Một số thơng tin của bánh xe.
- Đường kính bánh xe: 65mm
- Độ dày bánh xe: 28mm

Hình 2.5: Bánh xe
2.2.3 Mạch điều khiển RF 315mhz 6 kênh
Với đề tài của nhóm điều khiển xe bằng 6 tín hiệu xuất ngõ ra 0 và 1 nên nhóm
chúng em chọn bộ điều khiển sóng RF 6 kênh tích hợp với xe.
- Nguồn nuôi: 12VDC
- Relay điều khiển: 10A 120VAC/ 20A14DC

- Phương pháp học lệnh: nút nhấn + remote
- Tần số 315MHZ
- Khoảng cách điểu khiển: 1000m

Hình 2.6: Mạch điều khiển RF 315mhz 6 kênh


2.2.4 . Mạch điều khiển motor DC L298n.
Để điều khiển motor nhóm em lựa chọn mạch L298n để điều khiển motor theo lệnh
của mình đưa ra.
Ic chính: L298-Dual Full Bridge Driver
Điện áp đầu vào: 5~30VDC
Công suất tối đa: 25w 1 cầu
Dòng tối đa cho mỗi cầu H là: 2A
Mức điện áp logic: low- 0.3V~1.5V, high:2.3V~Vss
Kích thước:43x43x27mm

Hình 2.7: Mạch điều khiển động cơ DC L298n
2.2.5 bóng đèn led.
Để làm đèn trước và đèn sau nhóm chúng em chọn đèn led vì dễ lắp đặt, dòng điện
tiêu thụ thấp phù hợp với mạch.
Cường độ dịng điện:15000-18000mcd
Dịng điện:2~2.5V | 20mA

Hình 2.8: Đèn led


2.3 Giới thiệu phần mềm.
STM32cubeMX:
STM32CubeMX là một công cụ hỗ trợ cấu hình và tạo code cho MCU

STM32.Tất cả các cơng việc cấu hình, nâng cấp đều được thực hiện qua giao diện
đồ họa. Việc này giúp cho việc lập trình trên STM32 dễ dàng hơn, rút ngắn được
thời gian nghiên cứu và phát triển.

Hình 2.9: Phần mềm stm32cubeMx
KeilC v5
Hiện nay có khá nhiều trình biên dịch ngơn ngữ C cho 8051 như Mikro C,
IAR,SDCC, Reads 51 … µVision là mơi trường phát triển tích hợp (IDE:
Integrated Development Environment, trình soạn thảo ngơn ngữ C, trình biên dịch
và debug) của công ty Keil Software, và thường được gọi là Keil C.
Keil C là môi trường phát triển khá mạnh và được sử dụng rộng rãi hiện
nay. Nó hỗ trợ ta viết chương trình cho các chip vi điều khiển lõi 8051 và ARM
của tất cả các hãng trên thế giới.

Hình 2.10: Phần mềm keilc version


2.4 Sơ đồ nguyên lý hoạt động.
2.4.1 .Tổng quan sơ đồ.

Hình 2.11: Tổng quan về sơ đồ
2.4.2 . Khối motor kết nối mạch L298n.
- Motor em kết nối OUT4, OUT3,OUT2,OUT1 của mạch L298n. IN4, IN3, IN2,
IN1 em kết nối với mạch STM ở chân PB2, PB3,PB4,PB5

Hình 2.12: Sơ đồ kết nối chân motor với mạch L298n.


2.4.3 . Khối đèn trước và đèn sau.
- Kết nối của đèn trước gồm có bóng đèn led và điện trở 100Ω kết nối với mạch

STM ở chân PB6.
- Kết nối của đèn sau gồm có bóng đèn led và điện trở 100Ω kết nối với mạch
STM ở chân PB7

Hình 2.13 khối đèn trước và đèn sau.
2.4.4 Khối điều khiển
- Nút nhấn số 1, số 2, số 3, số 4, số 5, số 6được kết nối với mạch STM ở dạng
INPUT.Chân PE0,PE1,PE2,PA0,PE4,PE5.


Hình 2.14. Khối điều khiển.
2.4.5 . Khối vi xử lý.
- PB2,PB3,PB4,PB5,PB6,PB7 ngõ ra để điều khiển từng thiết.
- PE0, PE1,PE2,PA0,PE4,PE5 ngõ vào để cấp tín hiệu cho ngõ ra .

Hình 2.15. Khối vi xửa lý.


Chương 3. THIẾT KẾ
3.1 Kết nối phần cứng.
3.1.1 Thống kê I/O
Dựa vào sơ đồ nhóm em thống kê về các I/O ngõ vào và ngõ ra của vi sử lý:
- Ngõ vào:
PE0, PE1,PE2,PA0,PE4,PE5 kết nối với 6 nút nhấn của sóng RF.

Hình 3.1: Sơ đồ kết nối dây với mạch thu sóng RF.
- Ngõ ra:
PB2,PB3,PB4,PB5: kết nối với mạch L298n.
+ cấp nguồn cho module L298: 12v.
+c ác chân số PB2,PB3,PB4,PB5 của mạch STM sẽ nối tương ứng với

IN1,IN2,IN3 và IN4 của L298
+ Chiều quay của động cơ được điều khiển bằng cách xuất các đầu ra
HIGH hoặc LOW tại chân IN
+VD: chân IN1 là chân OUTA.1, chân IN2 là chân OUTA.2.
Cấp nguồn dương vào IN1, cực âm IN2 => motor quay một
chiều(chiều 1)
Cấp nguồn âm vào IN1, cực dương vào IN2 => motor quay chiều
còn lại(chiều 2)
Cực dương ở đây là 12v cực âm là 0v.
Giả sử hiệu điện thế 12v mạnh nhất trong việc điều khiển động cơ.
Như vậy, chỉ cần hạ điện xuống là động cơ sẽ bị yếu đi.
Và nếu hiệu điện thế < 0 = > động cơ sẽ đào chiều.


Hình 3.2: Sơ đồ kết nối dây với mạch l298.
PB6,PB7:và đèn trước và đèn sau.

Hình 3.2: Sơ đồ kết nối dây đèn trước

Hình 3.3: Sơ đồ kết nối dây đèn sau


3.2 Sơ đồ giải thật.

Hình 3.4: Sơ đồ giải thuật

3.3 Viết code cho hệ thống.
#include "main.h"
void SystemClock_Config(void);
static void MX_GPIO_Init(void);

int main(void)
{
HAL_Init();
SystemClock_Config();


MX_GPIO_Init();
while (1)
{
// NUT SO 4 DEN TRUOC
if(HAL_GPIO_ReadPin (GPIOE, GPIO_PIN_4)==1)
{
HAL_Delay(100);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_6);
}
//NUT SO 6 DEN SAU
if(HAL_GPIO_ReadPin (GPIOE, GPIO_PIN_5)==1)
{
HAL_Delay(100);
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_7);
}
// NUT SO 1 CHAY TOI
else if(HAL_GPIO_ReadPin (GPIOE, GPIO_PIN_0)==1)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3,
GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,
GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5,
GPIO_PIN_RESET);
}
//NUT SO 2 CHAY LUI
else if(HAL_GPIO_ReadPin (GPIOE, GPIO_PIN_1)==1)
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,
GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5,
GPIO_PIN_SET);
}


//NUT SO 3 TRAI
else if(HAL_GPIO_ReadPin (GPIOE, GPIO_PIN_2)==1) // quay
trai
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3,
GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5,
GPIO_PIN_SET);
}

//NUT SO 4 PHAI
else if(HAL_GPIO_ReadPin (GPIOA, GPIO_PIN_0)==1) // quay
trai
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,
GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,
GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5,
GPIO_PIN_RESET);
}
else // dung
{
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4,
GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5,
GPIO_PIN_RESET);
}
}
}
void SystemClock_Config(void)


{

RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLT
AGE_SCALE2);
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 8;
RCC_OscInitStruct.PLL.PLLN = 168;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 4;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
RCC_ClkInitStruct.ClockType =
RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)
!= HAL_OK)
{
Error_Handler();
}
}

/**
* @brief GPIO Initialization Function
* @param None
* @retval None
*/


static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE,
GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_P
IN_5, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB,
GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_P
IN_7, GPIO_PIN_RESET);
/*Configure GPIO pins : PE2 PE3 PE4 PE5 */
GPIO_InitStruct.Pin =
GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_P
IN_5;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pin : PA0 */
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : PB2 PB4 */
GPIO_InitStruct.Pin =
GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_P
IN_7;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;


GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state
*/
/* USER CODE END Error_Handler_Debug */
}

#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
*
where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line
number,
tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */


3.4 Thử nghiệm trên mơ hình.
Em đã thử nghiệm trên phần mềm và đã chạy đúng yêu cầu.

Hình 3.5: thử nghiệm trên phần mềm.

Hình 3.6: thử nghiệm trên mơ hình.

3.5 Kết quả thử nghiệm.
Phần cứng:
Đã hoàn thành và đạt được kết quả mong muốn.

Phần mềm:
Đã hoàn thành và đạt được kết quả mong muốn.


Hình 3.7: Bảng kết quả thí nghiệm.


Chương 4.KẾT LUẬN
4.1 Kết quả đạt được.

Hình 4.1:kết quả đạt được
Đã mô phỏng đề tài theo đúng những yêu cầu đặt ra.
- Nhấn nút số 1 xe điều khiển đi tới.
- Nhấn nút số 2 xe điều khiển lùi lại.
- Nhấn nút số 3 xe điều khiển quay trái.
- Nhấn nút số 4 xe điều khiển quay phải.
- Nhấn nút số 5 lần 1 đèn trước sáng nhấn lần 2 đèn tắt.
- Nhấn nút số 6 lần 1 đèn sau sáng nhấn lần 2 đèn tắt.

4.2 Hạn chế.
-

Dây vẫn còn dùng nguồn pin ngoài.
Dây dợ chưa lung tung.
Bánh xe đa hướng quẹo ko chuẩn.

4.3 Hướng phát triển.
-

Cần cải tiến có thể lắp pin trên xe (nguồn nuôi 12v cho mạch thu sóng

RF và mạch L298n.)
Cần phát triển thêm các tính năng khác như cảm biên va chạm ,còi.
Dậy gọn gàng hơn.
Thay thế xe ba bánh thành 4 bánh.


TÀI LIỆU THAM KHẢO
-

TÀI LIỆU 1: Đề tài: Điều khiển từ xa bằng sóng RF - TaiLieu.VN
TÀI LIỆU 2: Cách dùng Module điều khiển động cơ L298N - cầu H để
điều khiển động cơ DC | Cộng đồng Arduino Việt Nam
TÀI LIỆU 3:Làm xe Robot điều khiển bằng RF sử dụng Arduino. YouTube


×