Author Archive

Traffic Intersection Simulation

Posted in 8. Finite State Machines on December 17, 2009 by Andrew Ngan

For my Finite State Machine, I made a traffic intersection simulation. Basically it manages traffic flow at the point of intersection. I used green LED as a traffic light to signal “GO” for cars, and pressure sensor to detect traffic flow at the point of intersection.
State 1: Sensor detects cars on a lane
State 2: Other sensor check cars on the crossing lane
State 3: Gives signal
State 4: Back to State 1

*Both sensors check cars simultaneously, lane with green light has priority. Light off represents red light; blinking light represents yellow; solid green represents green. 1 second is allowed before yellow light on the crossing lane to let car pass intersection before light changes entirely.

Arduino Sketch: traffic_sim


Smart Blind

Posted in 11. Project Final Reports on December 15, 2009 by Andrew Ngan


Given I had no prior experience working with electronic development and circuits wiring, the goal for my project was to take advantage of the new learnt knowledge from class and utilize it on daily application. The idea of the Smart Blind project is to implement sensors onto an ordinary window blind, and with that create interactive movements and responses according to the surrounding environment. By having smart blind installed at home, one can secure personal in-room privacy from the outside, and improve energy saving efficiency by using natural sunlights as a source for interior lighting during the day.

How it works

The basic framework and build of the project is simple. With photo-resistors installed on both sides of a window blind, an Arduino senses the amount of light abundant in the exterior environment and the interior environment. By comparing the values returned by the photo-resistors, the processor will decide how much light to let in by controlling the angles of the blinds with a servo-motor. To improve the accuracy of the motors and the capability of the Arduino board, a motor shield was implemented as an upgrade, and is powered by a 12V battery.

Report: Full Report Link


Arduino Sketch: final

Smart Window Blind

Posted in 9. Project Proposals on November 5, 2009 by Andrew Ngan

Idea + Description

There are times when you are changing in your room at night, and you look out the windows and may wonder the same question we all ask ourselves: Can people see me from outside? More often than not, they do, and they do very clearly. But you never want your blinds to be down all the time. On a sunny day like today, it would be nice to be able to wake up in the flood of natural sunlight in your face.

My solution for this is to have smart window blinds. As my final project, I would like to build a Persian window blind, or slats, that can adjust itself according to different settings. The basic idea is to attach a servo motor for pulling up the blind, and another servo motor to rotate the slats. A photosensor will be installed to sense the lighting condition outside, and perhaps another to sense the condition inside the room. An external switch will also be applied if the person wants to adjust the blind manually.

Logical Flowchart



Photosensor X 2

Full rotation servomotor X 2

Digital Switch X 1

Analog Switch X 2

Persian Window Blind X 1

Arduino X 1

Power supply X 1 (Solar Panel + rechargeable battery or external power)

Implementation Plan

Week 1: Gather materials and produce gears and parts

Week 2: Begin building process + coding

Week 3: Produce Working Prototype (more building and coding) + testing

Week 4: Refinement for final presentation

Treasure Hunt

Posted in 5. Treasure Hunt on October 8, 2009 by Andrew Ngan

Flex sensor – $12.30

4″ Flexible stretch sensor – $10.95

Electroluminescent “wire” (EL-wire) – $0.88 per ft (100ft min)EL-wire – $0.99 per ft

Alcohol sensor – $4.95

Solenoid – $1.20

Linear actuator – $39.95

Fiber optic cable – $0.50

Tiny potentiometer – $0.99


Thermochromic paint/dye – $22.99

Nitinol / shape memory alloy wire (50 ft) – $24.99 / Nitinol wire – $17.62

Conductive paint – $12/30g

Neodymium magnets – $1.50

Copper tape / copper foil – $7.49 (15ft)

Tilt sensor – $1.90

Peltier Junction – $39.99 for 4


Arcade Joystick

Buttonless Clock

Posted in 2. Buttonless Clock on October 8, 2009 by Andrew Ngan

The clock i came up with uses 3-axis accelerometer to sense the clocks positioning. The clock is designed to be hung upright on a wall. When the clock is taken down and placed flat, both short and long hands will stay still. To change the hour, rotate the clock while facing UP until the short hand is pointing at the desired hour. To change the minute, do the same while facing DOWN.

buttonless clock

Assignment 4

Posted in 4. Analog Input-Output on September 24, 2009 by Andrew Ngan

Pulse LED

Arduino Sketch: Andrew_Assignment4_part1

Color Mixer

Arduino Sketch: Andrew_Assignment4_part2

Pulse LED + Color Mixer

Arduino Sketch: Andrew_Assignment4_part3

Analog Reader

Arduino Sketch: Andrew_Assignment4_part4

*I will post the videos later

Digital Switch + Assignment 3

Posted in 3. Digital Input-Output on September 23, 2009 by Andrew Ngan

Part 1

Digital Switch: Metal Clip Switch

I decided to make my digital swtich out of a metal clip, two pieces of cardboard, and two jumper wires. It is a normally opened switch. Switch closes when pressing down on it.

Part 2


Arduino Sketch: Andrew_Assignment3_part2

Part 3

Binary + Dual Switches

Arduino Sketch: Andrew_Assignment3_part3

Part 4

Combine Part 2 + 3

Arduino Sketch: Andrew_Assignment3_part4