0%

Caden Tan's Coding Projects

Hi, I'm Caden! I enjoy building robots and using coding to solve real-world problems. Starting with block-based coding helped me understand how to control my robots and test new ideas. Later, I wanted to learn something more advanced, so I began using Python. Python showed me how to write my own programs and think in new ways. Combining robotics and Python makes me excited to create projects that can help others and make learning fun. I hope you enjoy seeing what I have built!

Portrait of Caden Tan

Project 1: Touch Activated Ping Pong Racket

Touch Activated Ping Pong Racket

I learnt how to use the LEGO technic parts to create different designs. Using the coding concept of conditionals (if-else), together with different sensors, I coded my designs to do certain actions only if a specific condition is met. Among many other projects, I created a ping pong racket that hits the ball if the touch sensor is activated.

Project 1: Touch Activated Ping Pong Racket
Project 2: Colour Activated Sushi Belt
Project 2: Colour Activated Sushi Belt

Colour Activated Sushi Belt

I enjoy going to the restaurant for sushi and decided to recreate an automated one. Using the lego technic parts and a colour sensor, I created a sushi belt that is activated to move only when it detects the colour green. This reduces unnecessary motion and saves energy.

Project 3: Colour Activated Shooter

Colour Activated Shooter

Having played at the arcade frequently, I decided to use the concepts of conditional statements, colour detection and output controls to create a secure and precise shooter that fires a shot when the colour sensor detects 2 specific colours in the coded order.

Project 3: Colour Activated Shooter
Project 4: Automated Rabbit Head
Project 4: Automated Rabbit Head

Automated Rabbit Head

My younger siblings loved playing with rabbits and spinning them around. I decided to create an automated rabbit head that starts moving when the program starts. It will stop when the ultrasonic sensor detects someone near it and returns to the original position. This device will be able to run independently without the need for their manual control.

Project 5: Colour and Ultrasonic Sensor Activated Top

Colour and Ultrasonic Sensor Activated Top

Playing the top is my childhood game and I decided to recreate a sensor-controlled spinning top using LEGO technic parts and coded it to move when it is activated by a colour sensor. The direction it moves is controlled by the reading of the ultrasonic sensor. It is designed to enhance user engagement and ensures consistent gameplay with minimal effort needed for monitoring or control.

Project 5: Colour and Ultrasonic Sensor Activated Top
Project 6: Colour Activated Speed Increasing and Touch Activated Speed Decreasing Merry Go Round
Project 6: Colour Activated Speed Increasing and Touch Activated Speed Decreasing Merry Go Round

Colour Activated Speed Increasing and Touch Activated Speed Decreasing Merry Go Round

I built a lego model of a merry go round that is fully automated to replicate how a real amusement ride would respond to inputs from sensors. The colour sensor is used to increase the rotation speed while the touch sensor slows it down to enhance user experience and safety.

Time Breakdown (time_breakdown.py)

Description:

In this project, I used math to change a huge number of minutes into days, hours, and minutes. I used division and remainders to see how many full days there were and what was left over. This is important because it shows how math can help us understand time by breaking it down into parts we can read.

Diagram:

Diagram for Time Breakdown

Trinket:

Sentence Reverser (sentence_reverser.py)

Description:

This project takes a sentence as input and reverses the order of the words, demonstrating string manipulation and basic list operations in Python. It's a simple yet effective way to understand how to break down and rebuild text data.

Diagram:

Diagram for Sentence Reverser

Trinket:

Right Triangle Checker (right_triangle_checker.py)

Description:

In this project, I used if-else statements to check if a triangle is right-angled. I asked for three sides, sorted them, and used the Pythagorean theorem to decide if the triangle was right. This is important because if-else lets the program choose different actions based on the input.

Diagram:

Diagram for Right Triangle Checker

Trinket:

Simple Login System (login_system.py)

Description:

This project is a simple login system that checks if the entered username and password match preset values. If they do, the user is logged in; otherwise, they must try again. It demonstrates how if-else statements handle multiple outcomes based on user input.

Diagram:

login_system.png

Trinket:

Initials Generator (initials_generator.py)

Description:

This project extracts the initials from a given full name, showcasing string splitting, iteration, and character manipulation. It's a practical example of processing user input to extract specific information.

Diagram:

Diagram for Initials Generator

Trinket:

Shopping Cart (shopping_cart.py)

Description:

This project simulates a basic shopping cart experience, allowing users to add items, view their cart, and calculate the total. It demonstrates the use of data structures (like dictionaries or lists) to manage inventory and user selections, along with fundamental arithmetic operations.

Diagram:

Diagram for Shopping Cart

Trinket:

ATM Simulation (atm_simulation.py)

Description:

This project simulates a simplified Automated Teller Machine (ATM) with functionalities like checking balance, depositing, and withdrawing money. It highlights conditional logic, user input handling, and managing a virtual account balance.

Diagram:

Diagram for ATM Simulation

Trinket:

Password Strength Checker (password_strength.py)

Description:

This project assesses the strength of a user-provided password based on criteria like length, presence of uppercase/lowercase letters, numbers, and symbols. It's a practical application of string methods and conditional statements to implement security principles.

Diagram:

Diagram for Password Strength Checker

Trinket: