Arduino with mini-robot car

In this project, we used Arduino to control a mini-robot car following the tracks below.

Diagram

Description automatically generated

 

Case 

Left sensor 

Right sensor 

Bumper sensor 

Left motor rotation  

Right motor rotation 

PWM 

Car movement 

1 

1V 

1V 

1V 

forward 

forward 

140 

forward 

2 

0V 

1V 

1V 

backward 

forward 

100 

Turn left 

3 

1V 

0V 

1V 

forward 

backward 

100 

Turn right 

4 

0V 

0V 

0V 

Backward 

Backward 

140 

backward 

 

 

 

Smart Door Locking System

 

In this project, we used Keil and CubeMx to implement a smart door locking system using STM32. The motor represented the door. If user typed in correct password through the keypad, the door opens and the green lights on, else, the door remained close and red light on. If 3 consecutive wrong inputs were detected, the buzzer produced noise for warning and sent alert message to the phone of owner through bluetooth.

A picture containing text, indoor

Description automatically generated

Graphical user interface

Description automatically generated

 

CubeMx Configuration

      GPIO

      PB0, PB1, PB5 -> RGB LED

      PC0, PC1, PE5, PE6, PA4, PA5, PA6 -> keypad

      RXD(PA9), TXD(PA10) -> Bluetooth module HC-05

      PB6 -> motor

      [reserve PC8 to PC12 for SDIO]

      Enable Real Time Clock (RTC) -> get the time

      Enable FSMC -> LCD

      Enable TIMER-> rotation of the motor

      Use TIM3 and TIM4 to generate PWM

       Pulse = 900__close the door, Pulse = 300__open the door

      Enable USART1 -> make use of the HC-05

      Enable SDIO -> make use of the Micro SD card

 

 

Monster Matrix Game

In this project, we used the concept of linked list from C++ to implement a monster killing game.

Text

Description automatically generated

 

Upper case characters represent different type of monsters

Lower case characters represent different type of  weapons

Integer number represents the number of things(monster / weapon)

Different monster can only be killed by specific weapon

Kill all the monster to win the game

 

Chatroom implementation

In this project, we used C language to perform a socket programming to implement a chatroom, a communication plateform for multiple users.

Support multiple clients chat at the same time

Support broadcast message and private message

Each user has a unique name, Same name error checking

 

Final Year Project

 

    use python to build the GAN algorithm model for image deblurring on Jupyter Notebook

    train and test our model with GOPRO dataset

    convert kernel functions, zero padding & 2D Convolutional layer, from python codes into C codes

    pipelined them in Vitis HLS for simulation

    achieved an acceleration of the performance by more than 10 times.

 

A picture containing text, screenshot, website, web page

Description automatically generated

 

OTHERS