Project

# Title Team Members TA Documents Sponsor
37 Automatic Card Deck Sorter
Alfred Hofmann
Kyle Mahler
Rocky Daehler
Sanjana Pingali design_document1.pdf
final_paper1.pdf
grading_sheet1.pdf
photo1.jpg
presentation1.pdf
proposal1.pdf
video1.mp4
# Automatic Card Deck Sorter
Kyle Mahler (kmahler3)
Alfred Hofmann (alfredh2)
Rocky Daehler (walterd2)

# Problem
Lots of different card games require different setups of the deck before you can start playing, Euchre, for example, requires only cards 9's and above to be played. Short deck poker requires only 6 cards and above to be played.
# Solution
Myself and my teammates to this problem posit an automatic card deck sorter. This device would use a camera, a raspberry pi, sorting departments, and a mechanical arm of sorts in order to automatically sort the deck of cards based on a given input. The device could be used to separate the deck for a specific game, or even to sort the cards in a specific order (AKA, to rig the deck). Possible extension of this idea could additionally be a mobile app for user input, or also an automatic shuffling featuring when the whole deck is wanted for gameplay.

As for the design of this device, we are imagining three different bins for our sorting system. Imagine three bins from left to right. The middle bin is where the cards would originally go, as well as where the camera and mechanical arm are. The left is where we would put our ‘don’t care’ cards, and on the right, we would put all our do care cards. At each card, the camera would scan the corner of the card and identify it using the ML software, then the arm would push it in the appropriate direction.

# Subsystem 1 : User Interface
Function: Input given by the user to pick what range of card values to accept.
Components: Buttons or touchscreen

# Subsystem 2 : Camera and Card Recognition
Function: Captures images of the corner of the cards and recognizes suit and rank.
Components: LED’s inside of the device in order to keep the cards well lit. We have a few options for cameras; Raspberry Pi camera, Arducam mini… etc.
# Subsystem 3 : Sorting Arm/System
Function: Sorts the cards into one of two bins to start: cards we care about, and cards we do not care about.
Components: Rubber tip on metal arm, motor
# Subsystem 4 : Control System
Function: Manages all logic and communication for the different subsystems to work together. Defines card sorting process and forces action on it by sorting system. Error handling will also be a big part for this.
Components: ESP32, STM32, Arduino, etc. These are all options.


Remotely Controlled Self-balancing Mini Bike

Will Chen, Eric Tang, Jiaming Xu

Featured Project

# Remotely Controlled Self-balancing Mini Bike

Team Members:

- Will Chen hongyuc5

- Jiaming Xu jx30

- Eric Tang leweit2

# Problem

Bike Share and scooter share have become more popular all over the world these years. This mode of travel is gradually gaining recognition and support. Champaign also has a company that provides this service called Veo. Short-distance traveling with shared bikes between school buildings and bus stops is convenient. However, since they will be randomly parked around the entire city when we need to use them, we often need to look for where the bike is parked and walk to the bike's location. Some of the potential solutions are not ideal, for example: collecting and redistributing all of the bikes once in a while is going to be costly and inefficient; using enough bikes to saturate the region is also very cost inefficient.

# Solution

We think the best way to solve the above problem is to create a self-balancing and moving bike, which users can call bikes to self-drive to their location. To make this solution possible we first need to design a bike that can self-balance. After that, we will add a remote control feature to control the bike movement. Considering the possibilities for demonstration are complicated for a real bike, we will design a scaled-down mini bicycle to apply our self-balancing and remote control functions.

# Solution Components

## Subsystem 1: Self-balancing part

The self-balancing subsystem is the most important component of this project: it will use one reaction wheel with a Brushless DC motor to balance the bike based on reading from the accelerometer.

MPU-6050 Accelerometer gyroscope sensor: it will measure the velocity, acceleration, orientation, and displacement of the object it attaches to, and, with this information, we could implement the corresponding control algorithm on the reaction wheel to balance the bike.

Brushless DC motor: it will be used to rotate the reaction wheel. BLDC motors tend to have better efficiency and speed control than other motors.

Reaction wheel: we will design the reaction wheel by ourselves in Solidworks, and ask the ECE machine shop to help us machine the metal part.

Battery: it will be used to power the BLDC motor for the reaction wheel, the stepper motor for steering, and another BLDC motor for movement. We are considering using an 11.1 Volt LiPo battery.

Processor: we will use STM32F103C8T6 as the brain for this project to complete the application of control algorithms and the coordination between various subsystems.

## Subsystem 2: Bike movement, steering, and remote control

This subsystem will accomplish bike movement and steering with remote control.

Servo motor for movement: it will be used to rotate one of the wheels to achieve bike movement. Servo motors tend to have better efficiency and speed control than other motors.

Stepper motor for steering: in general, stepper motors have better precision and provide higher torque at low speeds than other motors, which makes them perfect for steering the handlebar.

ESP32 2.4GHz Dual-Core WiFi Bluetooth Processor: it has both WiFi and Bluetooth connectivity so it could be used for receiving messages from remote controllers such as Xbox controllers or mobile phones.

## Subsystem 3: Bike structure design

We plan to design the bike frame structure with Solidworks and have it printed out with a 3D printer. At least one of our team members has previous experience in Solidworks and 3D printing, and we have access to a 3D printer.

3D Printed parts: we plan to use PETG material to print all the bike structure parts. PETG is known to be stronger, more durable, and more heat resistant than PLA.

PCB: The PCB will contain several parts mentioned above such as ESP32, MPU6050, STM32, motor driver chips, and other electronic components

## Bonus Subsystem4: Collision check and obstacle avoidance

To detect the obstacles, we are considering using ultrasonic sensors HC-SR04

or cameras such as the OV7725 Camera function with stm32 with an obstacle detection algorithm. Based on the messages received from these sensors, the bicycle could turn left or right to avoid.

# Criterion For Success

The bike could be self-balanced.

The bike could recover from small external disturbances and maintain self-balancing.

The bike movement and steering could be remotely controlled by the user.

Project Videos