Heagan Chen's Coding Projects

My name is Heagan Chen, and I am 12 years old. I started learning robotics with LEGO Mindstorms and block-based coding in Primary 4. I enjoy designing and building robots and structures that automate simple tasks in my daily life. Learning robotics showed me how technology can solve real-world problems and inspired me to go beyond block-based coding. I have documented my journey in robotics, coding, innovation, and STEM.

Portrait of Heagan Chen

Project 1: Ping Pong Racket

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: Ping Pong Racket
Project 2: Ultrasonic Activated Tractor
Project 2: Ultrasonic Activated Tractor

Ultrasonic Activated Tractor

I learned how to use LEGO Technic parts to design and build various mechanical structures. By applying coding concepts such as conditionals (if-else) and incorporating different sensors, I built a tractor. Using the ultrasonic sensor, the tractor moves when it detects the load on it. Such autonomous track-based vehicles are used to transport goods between different stations. Once the sensor detects the object, the vehicle automatically moves to deliver the item to the designated location. This automation reduces the need for human labor, increases efficiency, and ensures precise handling of materials.

Project 3: Color Activated Shooter

Color 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. This project demonstrates how sensor integration and conditional logic can be used to develop automated systems, with potential applications in intelligent defense technologies.

Project 3: Color Activated Shooter
Project 4: Colour and distance sensor activated Windmill
Project 4: Colour and distance sensor activated Windmill

Colour and Ultrasonic Automated Car

I developed a motorized, sensor-activated windmill designed to minimize the need for manual operation. The system automatically activates when a person approaches, ensuring smooth and efficient startup. It features a color-sensing mechanism that halts operation only when two specific colors are detected—an intentional safeguard managed by an authorized operator to prevent unauthorized interference or tampering.

Project 5: Colour and infrared activated spinning top

Colour and infrared activated spinning 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. I could control the direction it spins using an infrared sensor when it detects someone within different range. If the infrared sensor detects someone near it, it will spin clockwise, else, it spins anti-clockwise. This setup mirrors real-life smart devices that respond to environmental cues. The system responds intuitively to human presence, creating an interactive and dynamic user experience.

Project 5: Colour and infrared activated spinning top
Project 6: Touch activated Treadmill
Project 6: Touch activated Treadmill

Touch Activated Treadmill

As someone who enjoys exercising on a treadmill, I decided to recreate an automated treadmill using LEGO Technic parts. This miniature version functions similarly to a real treadmill—its speed is controlled by user input. With the use of a touch sensor, and coding concepts such as variables and if-else statements, the treadmill increases speed with each press—just like speed adjustments on a real gym machine.

Simple Division (simple_division.py)

Description:

This project shows how to calculate the remainder when one number is divided by another. It’s a great way to practice using arithmetic and the modulo operator (%).

Diagram:

simple_division.png

Trinket:

Even/Odd Checker (even_odd_checker.py)

Description:

In this project, I designed a program that checks if a number is even or odd using if-else statements. This project teaches me how to make decisions in code based on conditions.

Diagram:

Diagram for Even/Odd Checker

Trinket:

Even/Odd Checker (even_odd_checker.py)

Description:

In this project, I designed a program that checks if a number is even or odd using if-else statements. This project teaches me how to make decisions in code based on conditions.

Diagram:

Diagram for Even/Odd Checker

Trinket:

Prime Number Guesser Game (prime_number_game.py)

Description:

This game challenges you to decide if a number is prime by using if-else statements. It’s a fun way to reinforce the concept of prime numbers and divisibility in code.

Diagram:

prime_number_game.png

Trinket:

Factorial Calculation(factorial_calculator.py)

Description:

I organized a math competition among my friends, and one of the challenges involved calculating the factorial of a given number. I created a Python script that took a user input and calculated the factorial of the given number.

Diagram:

Diagram for Factorial Calculation

Trinket:

Word Matrix Diagonal (word_matrix.py)

Description:

In this project, I learned how to create a program that takes in a user input for a choice of word and prints the word diagonally in a square matrix using a nested for loop concept.

Diagram:

Diagram for Word Matrix

Trinket:

Pascal Triangle (pascal_triangle.py)

Description:

In this project, I created a program that uses nested loops concept to build a classic math triangle known where each number is the sum of the two numbers above it.

Diagram:

Diagram for Pascal Triangle

Trinket:

Sum of My Even Numbers (sum_of_my_even_numbers.py)

Description:

I have created a Python script named sum_of_my_even_numbers.py. It prompts me for a positive integer, and using a while loop, it calculates and displays the sum of all even numbers from 2 to the entered integer.

Diagram:

Diagram for sum of even numbers

Trinket:

Countdown Timer (my_countdown_timer.py)

Description:

In this project, I built a countdown timer that uses a while loop to count down from a starting number until it reaches 1. This is important because it shows me how to repeat an action until a condition is met.

Diagram:

Diagram for Countdown Timer

Trinket: