Skip to content

Commit e6a1941

Browse files
authored
Merge pull request #54 from YuaniLee/master
XDU iWheelchair
2 parents 65498ec + c32e5f3 commit e6a1941

File tree

23 files changed

+1139
-0
lines changed

23 files changed

+1139
-0
lines changed
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
# Intelligent-Wheelchair
2+
3+
This application is designed to apply to the person who can’t use arms or legs well but
4+
without language barriers. The intelligent wheelchair is based on voice control
5+
and can be operated independently through voice commands. Moreover,
6+
the application has a collision- avoidance and warning system. Wheelchair also can be control by smartphone APP through
7+
Bluetooth. The feature of this application is front-end processing rather than
8+
cloud computing.
9+
10+
- [Introduction](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#introduction)
11+
- [Function](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#function)
12+
- [System Architecture](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#system-architecture)
13+
- [APP UI](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#app-ui)
14+
- [HW/SW Setup](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#hwsw-setup)
15+
- [Required Hardware](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#required-hardware)
16+
- [Required Software](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#required-software)
17+
- [Hardware Connection](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#hardware-connection)
18+
- [User manual](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#user-manual)
19+
- [Before Running This Application](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#before-running-this-application)
20+
- [Run This Application](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/README.md#run-this-application)
21+
22+
## Introduction
23+
24+
![wheelchair.jpg](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/doc/picture/wheelchair.jpg)
25+
26+
### Function
27+
28+
- Voice control through front-end processing
29+
- Communicate with APP
30+
- Collision auto-avoidance and warning system
31+
32+
### System Architecture
33+
34+
![frame.png](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/doc/picture/frame.png)
35+
36+
### APP UI
37+
38+
![HMSoft.png](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/doc/picture/HMSoft.png)
39+
40+
## HW/SW Setup
41+
42+
### Required Hardware
43+
44+
- 1 DesignWare ARC EM Starter Kit(EMSK)
45+
- 1 WEGASUN-M6(Speech recognition)
46+
- 1 HM-10 Bluetooth
47+
- 1 Pmod AD2: 4-channel 12-bit A/D Converter(AD7991)
48+
- 2 Infrared range sensor
49+
- 1 L298N Two lines of motor driver
50+
- 2 Dc Motor
51+
- 1 Speaker
52+
- 1 Inclination Sensor
53+
- 1 MIC
54+
- 1 SD Card
55+
- 1 LED Light
56+
- 1 buzzer
57+
- 1 5V Booster module
58+
59+
### Required Software
60+
61+
- embARC Open Software Platform(OSP)
62+
- ARC GNU Tool Chain
63+
- Serial port terminal, such as putty
64+
- [HMSoft](https://github.com/YuaniLee/embarc_applications/blob/master/arc_design_contest/2019/XDU_iWheelchair/app/app-release.apk)
65+
- [M6SE-IDE](https://github.com/YuaniLee/embarc_applications/blob/master/arc_design_contest/2019/XDU_iWheelchair/app/M6SE-IDE.exe)
66+
67+
### Hardware Connection
68+
69+
- Connect Bluetooth to J1
70+
- Connect Pmod AD2 to J2
71+
- Connect Infrared range sensor and Inclination Sensor to Pmod AD2
72+
- Connect buzzer and LED Light to J3
73+
- Connect WEGASUN-M6 to J5
74+
- Connect L298N motor driver to J6
75+
- Connect Speaker and MIC to WEGASUN-M6
76+
77+
![hardware.png](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/doc/picture/hardware.png)
78+
79+
## User Manual
80+
81+
### Before Running This Application
82+
83+
In order to open **UART2** we need to modify following files
84+
85+
- Modify mux.c (/board/emsk/common/emsk_init.c)
86+
87+
```
88+
set_pmod_mux(PM1_UR_UART_0 | PM1_LR_SPI_S \
89+
| PM2_I2C_HRI \
90+
| PM3_GPIO_AC \
91+
| PM4_I2C_GPIO_D \
92+
| PM5_UR_SPI_M1 | PM5_LR_SPI_M2 \
93+
| PM6_UR_GPIO_C | PM6_LR_GPIO_A );
94+
```
95+
96+
- Replace following files:
97+
98+
[dw_uart_obj.h(board\emsk\drivers)](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/dw_uart_obj.h )
99+
100+
[dw_uart_obj.c(board\emsk\drivers)](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/dw_uart_obj.c)
101+
102+
#### Speech recognition config
103+
104+
Connect WEGASUN-M6 to PC by USB to serial port
105+
106+
![M6.jpg](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/doc/picture/M6.jpg)
107+
108+
Open [M6SE-IDE](https://github.com/YuaniLee/embarc_applications/blob/master/arc_design_contest/2019/XDU_iWheelchair/app/M6SE-IDE.exe) with the following settings:
109+
110+
![M6SE-IDE](https://github.com/YuaniLee/Intelligent-Wheelchair/blob/master/doc/picture/M6SE-IDE.JPG)
111+
112+
| Settings | Specification |
113+
| ------------------------ | ------------------------------------------------------------ |
114+
| @Baud#9600$ | Baud rate |
115+
| @AsrSET#1,4,06000,6000,$ | data1: recognized distance(20 cm);data2: match degree; data3: waiting time; data4: recording time |
116+
117+
#### Build and run
118+
119+
| file | function |
120+
| :--------------- | ------------------------------------ |
121+
| ble.c | Bluetooth initialization and control |
122+
| M6.c | Voice initialization and control |
123+
| buzzer.c | Warning system |
124+
| driver_control.c | Control L298N drive motor |
125+
| main.c | Main entry of embARC Application |
126+
| makefile | Makefile of embARC Application |
127+
128+
129+
130+
##### Makefile
131+
132+
- Target options about EMSK and toolchain:
133+
134+
```
135+
BOARD ?= emsk
136+
TOOLCHAIN ?= gnu
137+
OLEVEL ?= 02
138+
BD_VER ?= 22
139+
CUR_CORE ?= arcem7d
140+
```
141+
142+
- DEV config
143+
144+
```
145+
EXT_DEV_LIST += ble/hm1x
146+
DEV_CSRCDIR += $(EMBARC_ROOT)/device/peripheral/adc/ad7991
147+
DEV_INCDIR += $(EMBARC_ROOT)/device/peripheral/adc/ad7991
148+
```
149+
150+
- The middleware used in your application:
151+
152+
```
153+
MID_SEL = common
154+
```
155+
156+
- Directories of source files and header files:
157+
158+
```
159+
# application source dirs
160+
APPL_CSRC_DIR = .
161+
APPL_ASMSRC_DIR = .
162+
163+
# application include dirs
164+
APPL_INC_DIR = .
165+
166+
# include current project makefile
167+
COMMON_COMPILE_PREREQUISITES += makefile
168+
169+
### Options above must be added before include options.mk ###
170+
# include key embARC build system makefile
171+
override EMBARC_ROOT := $(strip $(subst \,/,$(EMBARC_ROOT)))
172+
include $(EMBARC_ROOT)/options/options.mk
173+
```
174+
175+
Then`make run`
176+
177+
## Video
178+
179+
[Show video](https://v.youku.com/v_show/id_XNDI5MjAyNzUwOA==.html?spm=a2h0k.11417342.soresults.dtitle
180+
)
1.55 MB
Binary file not shown.
163 KB
Binary file not shown.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.app-release.apk(BLESoft) 1.M6SE-IDE.exe

0 commit comments

Comments
 (0)