0%

Chua Howe Run's Coding Projects

Hi, I'm Howe Run, and I'm 12 years old. I started learning robotics with Lego Mindstorms and block-based coding in Primary 2, building different robots to automate simple daily tasks. Robotics taught me to think logically and creatively, which sparked my interest in learning Python. With Python, I can solve math problems, write programs, and create projects that make tricky tasks easier. I also learned Pygame to design fun educational games for my friends, turning learning into a fun competition. Coding has helped me improve my problem-solving skills and think creatively about how technology can help others. I’m excited to keep exploring robotics, coding, and STEM, and I hope you enjoy seeing what I’ve built!

Portrait of Chua Howe Run

Project 1: Bumper Car

Lego Bumper Car

I learned how to use LEGO Technic parts to design and build functional mechanical systems. By applying coding concepts such as conditionals (if-else) and integrating various sensors, I programmed my creations to respond dynamically to their environment. One example was a bumper car that automatically reverses when its front touch sensor detects a collision—mimicking real-world applications of obstacle detection used in autonomous vehicles and robotic systems to enhance safety and navigation.

Project 1: Bumper Car
Project 2: Ultrasonic activated Door
Project 2: Ultrasonic activated Door

Ultrasonic activated Door

Using an ultrasonic sensor, I re-created the door of the shopping center that opens automatically when a person is standing within the range.

Project 3: Touch activated gripper

Touch activated gripper

Having played at the arcade frequently, I decided to use the concepts and design skills to create a gripper that is activated to open and close only when touch sensor is activated. I could then recreate the arcade game of picking up and releasing anything at home

Project 3: Touch activated gripper
Project 4: Colour and ultrasonic automated car
Project 4: Colour and ultrasonic automated car

Colour and ultrasonic automated car

I decided to create an automated car using LEGO Technic parts that can return to its original parking position after detecting an obstacle. This project simulates the logic behind autonomous parking systems found in modern vehicles. Using the concept of nested while loops with variables, I programmed the car to activate and begin moving when the colour sensor detects a specific colour. While in motion, the car continuously checks for obstacles using the ultrasonic sensor. Once an obstacle is detected, the car automatically stops and reverses back to its starting point—mimicking a vehicle returning to its parking spot. This entire process repeats endlessly, creating a looped simulation of real-world automated vehicle behavior.

Project 5: Standard robot to follow the line

Standard robot to follow the line

Inspired by a line-following robot observed at the library—used to transport books from the return bin to the sorting section—I decided to design a similar robot for my home. My version is programmed to follow a black line on the floor, guiding it through areas that require cleaning.

Project 5: Standard robot to follow the line
Project 6: Colour and touch speed activated merry go round
Project 6: Colour and touch speed activated merry go round

Colour and touch speed activated merry go round

I love to travel so I decided to build a simple aircraft propeller model using LEGO and block-based coding. It uses two touch sensors to control the speed of the spinning blades: Pressing touch sensor 1 increases the propeller speed and pressing touch sensor 2 decreases the speed. Each press adjusts the motor power step-by-step, letting me simulate how real propeller speed is controlled during flight. It's a fun and hands-on way to explore the basics of motor control and aerodynamics!

Weight Units Converter (weight_units_converter.py)

Description:

In this project, I learned how to convert weight from pounds to kilograms by multiplying by a conversion factor. This is important because it teaches us how to change one unit of measurement to another so we can compare different types of data.

Diagram:

Diagram for Weight Units Converter

Trinket:

Armstrong Checker (armstrong_checker.py)

Description:

I have implemented a Python script named armstrong_no_checker to check if a given number is an Armstrong number. An Armstrong number for a 3-digit number is a number that is equals to the sum of the cubes of its digits. For example, 153 is an Armstrong number because 1^3 + 5^3 + 3^3 = 153. This project demonstrates the use of functions, loops, and conditionals in Python to solve mathematical problems. The script prompts the user to enter a number and checks if it is an Armstrong number by calculating the sum of the cubes of its digits and comparing it to the original number.

Diagram:

Diagram for Armstrong 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:

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:

Number Pyramid (number_pyramid.py)

Description:

In this project, I created a number pyramid using nested for loops. The outer loop controls the number of rows, while the inner loop prints the numbers in each row. This project demonstrates how to use loops to create patterns and shapes in Python.

Diagram:

Diagram for Number Pyramid

Trinket:

Library Inventory (inventory_progression.py)

Description:

In this project, I managed an imaginary library's inventory using a for loop to calculate the number of books on day 20 and the total after 20 days. This project shows how for loops make it easy to perform repetitive tasks.

Diagram:

Diagram for Library Inventory

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:

Number Guessing Game (my_number_guessing_game.py)

Description:

In this project, I built a guessing game using a while loop that keeps asking for a guess until the answer is right. The game tells me if my guess is too high or too low. This is important because while loops let me repeat actions until a condition is met, which is perfect for games.

Diagram:

Diagram for Number Guessing Game

Trinket:

Multiplication Table Generator (multiiplication_table_generator.py)

Description:

I have created a Python program named my_multiplication_table.py that takes an integer input from me. It generates the multiplication table of the entered number using a while loop.

Diagram:

My Multiplication Table Generator

Trinket: