0%

Adam Ong's Coding Projects

My name is Adam, and I am 12 years old. I started learning robotics with LEGO Mindstorms and block-based coding in Primary 2, and I enjoy designing robots to automate daily tasks. Robotics sparked my interest in Python, where I began writing code to solve math problems and explore text-based programming. I also learned Pygame and created fun, educational games for my friends to play and challenge each other. I have documented my journey in robotics, coding, innovation, and STEM.

Portrait of Adam Ong

Project 1: Touch activated Ferris Wheel

Touch activated Ferris Wheel

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 ferris wheel that spins only if the touch sensor is activated

Project 1: Touch activated Ferris Wheel
Project 2: Rack and Pinion cuckoo clock
Project 2: Rack and Pinion cuckoo clock

Rack and Pinion cuckoo clock

Using an ultrasonic sensor, I created a rack and pinion cuckoo clock that moves if it detects someone in front of it. I determined the threshold value that corresponds to detecting a person.

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: Touch activated globe on turret
Project 4: Touch activated globe on turret

Touch activated globe on turret

My younger siblings loved spinning our world globe. They had to spin and stop them manually. I decided to create an automated pinwheel that starts moving when the program starts. It will stop when the touch sensor detects my hand and return to the original position.

Project 5: Touch and ultrasonic activated Lazy Susan

Touch and ultrasonic activated Lazy Susan

My family and I love hosting dinners with our extended family, and I decided to recreate an automated lazy susan used at our dining table with the LEGO technic parts. In my project, using the concept of nested if else, the lazy susan starts and moves in one direction when a button is activated. It will switch directions if the ultrasonic sensor detects the person’s hand.

Project 5: Touch and ultrasonic activated Lazy Susan
Project 6: Touch speed activated treadmill
Project 6: Touch speed activated treadmill

Touch speed activated treadmill

I love to exercise on a treadmill. I decided to do a re-create an automated one whose speed could be controlled using the touch sensor. Using the Lego technic parts, I created a treadmill. With the coding concepts of variables and if else, the treadmill increases speed each time the touch sensor is activated, just like a treadmill in real life.

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:

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:

Count Vowels and Consonants in a String (count_vowels_consonants.py)

Description:

In this project, I used a for loop to count the number of vowels and consonants in a given string. The loop iterates through each character in the string, checking if it is a vowel or consonant, and updates the counts accordingly.

Diagram:

Diagram for Count Vowels and Consonants

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: