Donelle Quek's Coding Projects

Hi, I am Donelle Quek, and I love exploring robotics and block‑based coding. I enjoy solving problems by building creative projects that mix hardware and code. My projects range from designing robots using LEGO Technic parts to programming sensors with block‑based code!

Portrait of Donelle Quek

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: Ultrasonic Activated Cuckoo Clock
Project 2: Ultrasonic Activated Cuckoo Clock

Ultrasonic Activated Cuckoo Clock

Using an ultrasonic sensor, I re-created the rack and pinion cuckoo clock that moves in and out when a person is standing within the range.

Project 3: Motor Activated Jack in the Box

Motor Activated Jack in the Box

I love to prank my siblings, so I built a fun and interactive jack in the box using Lego technic parts. The surprise character only jumps out when both motors reach a specific threshold that I have secretly set. The exact condition stays known only to me, giving me full control over when the prank is trigged. My siblings never see it coming, they would think its random but I'm the one behind the surprise every time.

Project 3: Motor Activated Jack in the Box
Project 4: Spinning Rabbit Head
Project 4: Spinning Rabbit Head

Spinning Rabbit Head

My younger siblings loved playing with their toy rabbit head that spins when the wind hits it. They had to spin and stop them manually. I decided to create an automated toy that starts moving when the program starts. It will stop when ultrasonic sensor detects someone and return to the original position.

Project 5: Touch & Ultrasonic Activated Lazy Susan

Touch & Ultrasonic Activated Lazy Susan

My family loves having dinners together, so I decided to recreate an automatic one with lego parts. I built a touch-activated Lazy Susan to make sharing food more fun and convenient. When the touch sensor is pressed, the Lazy Susan begins to spin. The direction of the spin—clockwise or counterclockwise—is determined by the reading from an ultrasonic sensor. Depending on how close our hand is to the sensor, the turntable will rotate in one direction or the other.

Project 5: Touch & Ultrasonic Activated Lazy Susan
Project 6: Double Touch Activated Increasing & Decreasing Aircraft Propellers
Project 6: Double Touch Activated Increasing & Decreasing Aircraft Propellers

Double Touch Activated Increasing & Decreasing Aircraft Propellers

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!

Divisibility Tester (divisibility_tester.py)

Description:

I have built a Python module named **divisibility_tester.py** to check if a user-input number is divisible by both 3 and 5 using floor division and modulo.

Diagram:

Diagram for Divisibility Tester

Trinket:

Currency Breakdown (currency_breakdown.py)

Description:

In this project, I learned to use division and remainders to split a dollar into different bills. I figured out how many twenties, tens, fives, and ones make up the total. This is important because it shows how math helps us handle money and make change easily.

Diagram:

Diagram for Currency Breakdown

Trinket:

Even/Odd Guesser (even_odd_guesser.py)

Description:

In this project, I designed a game where the program 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 Guesser

Trinket:

Simple Temperature Classification System (temperature_classification.py)

Description:

I designed a weather application. I developed a Python program that takes in the user's input for the current temperature in Celsius and classifies it into different categories: "Freezing," "Cold," "Moderate," and "Hot."

Diagram:

Diagram for Simple Temperature Classification System

Trinket:

Store Inventory Management System (inventory_progression.py)

Description:

In this project, I managed a store's inventory that increased daily using a for loop. I calculated the number of units on day 15 and the total after 15 days. This is important because it shows how for loops help us perform repetitive tasks easily.

Diagram:

Diagram for Store Inventory Management System

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: