🛡️📡🚀 The Flying Bear Defense System (FBDS) consists of a fully controllable turret made of a TI MSP432P401R Launchpad, a TI Booster Pack MK II, 3 servos, a pan-and-tilt turret and a Nerf blaster. It also features an automatic mode via a webcam mounted on it, powered by OpenCV. Said program tracks an ArUco marker and tells an ESP32 which direction to move to, which in turn forwards said direction to the MSP432P401R.
This was a group project for the Embedded Software for the Internet of Things course at University of Trento by Simone De Carli, Mattia Maci, Davide José Paci, Marco Toniolo.
- MSP432P401R (TI)
- Booster Pack MK II (TI)
- Nerf Elite 2.0 Ace SD-1 blaster
- Servos: 1x DGSERVO S05NF STD, 2x SM-S4303R
- Pan and Tilt Turret
- Breadboard
- ESP32
- 3D-printed Nerf Jolt tilt-pan turret
- Webcam for target detection
- C program utilizing DriverLib and graphics library for MSP432
- C++ program for communication between PC and MSP432 via ESP32
- Python script with OpenCV for target detection through webcam
Connect the following pins in the breadboard:
- Pin 2.5 -> Servo 1 (X axis)
- Pin 2.4 -> Servo 2 (Y axis)
- Pin 2.6 -> Servo 3 (Trigger)
- Pin 3.2 (UART RX) -> ESP32 Pin 16 (TX)
- Pin 3.3 (UART TX) -> ESP32 Pin 17 (RX)
Connect the webcam, the ESP32, and the MSP432 to the PC.
Load the Nerf gun with the dart and pull back the spring.
Run thing3.py
(requires pyserial
and opencv-python
)
Then run the following commands:
> git clone https://github.com/free-embedded/fbds.git
> cd fbds
> make
> openocd -f board/ti_msp432_launchpad.cfg
In another terminal (preferably in the project folder, so the paths are shorter):
> arm-none-eabi-gdb
> (gdb) target remote :3333
> (gdb) load ./out/fbds.out
> (gdb) continue
The system will start in automatic mode. Press the top button to switch to manual mode. In manual mode, use the joystick to control the turret on both axes and press the bottom button to shoot the dart.
Task | Contributors |
---|---|
Servo movement | Simone De Carli, Davide José Paci |
PWM | Simone De Carli |
Git Maintenance | Simone De Carli, Marco Toniolo |
Code Structure | Simone De Carli |
Hardware Setup | Mattia Maci |
Project Video | Mattia Maci |
Automatic Mode | Davide José Paci |
Project Outline | Davide José Paci |
Project Presentation | Davide José Paci |
Project README | Davide José Paci |
UART | Davide José Paci |
Buzzer Music | Marco Toniolo |
LCD Display | Marco Toniolo |
Makefile | Marco Toniolo |
- University of Trento's FabLab for providing most hardware and materials required for the project
- Contradius on Thingiverse for the Nerf turret model
- Walter Newsome for image to
.c
file converter