Auto-following Suitcase Application
This application is designed to show how to develop an Auto-following Suitcase using embARC.A person holding a tag in hand,three ultra-wideband anchors should be installed inside the suitcase in an equilateral triangular shape with a side length of 20cm. The distance information measured by the UWB module is transmitted to EMSK through UART.Based on the principle of three-point positioning,the azimuth between the person and the suitcase can be obtained to achieve following.This suitcase can also monitor ambient temperature and air conditions.When the distance between the trunk and the owner exceed the preset ,the trunk will stop automatically,and then sound the alarm or call the mobile phone, so you don't have to worry about losing the trunk.This design is mainly suitable for flat and open indoor applications such as airport waiting halls.
- Hardware and Software Setup
- User Manual
Smart Auto-following Suitcase
- Ambient temperature and air condition monitoring
- obstacle avoiding
- Auto-alarm (The device will sound the alarm when the distance between one and suitcase is longer than 4 meters, and call the mobile phone when it is longer than 5.5 meters)
Hardware and Software Setup
- 1 DesignWare ARC EM Starter Kit(EMSK)
- 1 Digilent PMOD TMP2
- 1 Dust Sensor(ZPH01)
- 1 Display Screen(OLED)
- 1 Buzzer
- 1 GPRS Module(SIM900A)
- 2 Motor Driver Module(TB6612FNG)
- 4 Positioning Module(DWM1000)
- 4 Wheel
- 4 Motor
- 1 SD Card
- 3 Ultrasonic Sensor(HCSR04)
The list of hardware is shown in the picture following.
- Metaware or ARC GNU Toolset
- Serial port terminal, such as putty, tera-term or minicom
- The EMSK implement Auto-folowing smart device, it will process the data returned by positioning module and ultrasonic sensor,and send instructions to motor driver module.It can also monitor temperature and dust concentration of air,we can view these data on OLED.
- Connect Positioning module to J1(Using UART interface), connect Motor driver module to J3 and J6,connect Ultrasonic sensor to J1 and J3.
- Connect PMOD TMP2 to J4(Using IIC interface), connect ZPH01 to J5(Using uart interface),connect OLED and GPRS to J2(Using IIC interface),connect Buzzer to J6.
- Configure your EMSKs with proper core configuration.
Before Running This Application
Download source code of Auto-following Suitcase from github.
The hardware resources are allocated as following table.
|PMOD TMP2||Temperature sensor|
|SIM900A||Send messages or call|
|TB6612FNG||Motor driver module|
- Modify mux.c (/board/emsk/common/emsk_init.c)
line 107: change set_pmod_mux(PM1_UR_UART_0 | PM1_LR_SPI_S \ | PM2_I2C_HRI \ | PM3_GPIO_AC \ | PM4_I2C_GPIO_D \ | PM5_UR_SPI_M1 | PM5_LR_GPIO_A \ | PM6_UR_SPI_M0 | PM6_LR_GPIO_A ); to set_pmod_mux(mux_regs, PM1_UR_UART_0 | PM1_LR_GPIO_A \ | PM2_I2C_HRI \ | PM3_GPIO_AC \ | PM4_I2C_GPIO_D \ | PM5_UR_GPIO_C | PM5_LR_SPI_M2 \ | PM6_UR_GPIO_C | PM6_LR_GPIO_A );
Run This Application
Here take EMSK2.2 - ARC EM7D with GNU Toolset for example to show how to run this application.
Target options about EMSK and toolchain:
BOARD ?= emsk BD_VER ?= 22 CUR_CORE ?= arcem7d TOOLCHAIN ?= gnu
The relative series of the root directory, here the path of the Makefile is
# # root dir of embARC # EMBARC_ROOT = ../../.. MID_SEL = common u8glib
See embARC Example User Guide, "Options to Hard-Code in the Application Makefile" for more detailed information about Makefile Options.
Placing the drivers' source code in
driver folder, you can see there are subfolders for ultasonic,GPRS,ZPH01,buzzer and temperature drivers.
Placing the C source file and header file in the corresponding subfolder.