Finite State Machine Lamp: 

The was my final project for my digital systems electrical engineering class

 

Project outline.


This project is our take on a lamp that is inspired by the concepts we have learned in Digital Systems (ECE350). The idea behind the project was to make a lamp that is able to be customized by the user to have special colors and configurations. There are 32 leds on the lamp with 7 different colors and an “off” state. The user is able to use the buttons on the lamp to change what group of 4 leds are on.


The integrated processor keeps track of how many clicks the user takes to traverse to the bottom of the lamp. The number of clicks then turns on a special configuration of LEDs. The state zero of the lamp acts as a reset for the score of the lamp.  The lamp is meant to feel like a game and make the action of turning on a lamp fun, personalized, and exciting.There is also a party mode on the lamp that the user can switch on.


In this special mode the lights blink on and off rapidly, and the intensity of the light changes based on how far a person’s hand is from the ultrasonic sensor. The user can keep track of the score in the game using the two seven segment displays we had (one was in hex and one was decimal). The structure of the lamp was also designed to be fun and aesthetically interesting, and geometric shapes were painted on the wood of the lamp.   

 

Input/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/OutputInput/Output


The inputs to the lamp are 4 buttons: up, down, left, right. The user is able to use these buttons to pick which group of leds are turned on. The input buttons were debounced. Debouncing was important because a single pressing of a button causes the two metal contacts in the button to create multiple signals. Debouncing ensures that only a single signal is created for the opening or closing of a button. The debouncing algorithm was written in behavioral verilog. 

Another input to the lamp is an ultrasonic sensor, and a switch to turn on “party mode”. The ultrasonic sensor tracked how far someone held their hand from the lamp and worked as a fader for the leds on the lamp. The echo and trigger functionality of the sensor caused the lights on the lamp to blink creating the “party mode” effect.  

The output of the lamp are the leds and the configuration that they are lit up in. The leds are in groupings of four, and each grouping has a unique color. There is also an off state.

 Another output that was in our project was a seven segment display that shows the points the user has. This was extremely helpful when debugging and also gave the user an idea of how many clicks/points the user has gathered.  We also showed the score on the seven segment displays on the FPGA and which counted to 99.

 

Selected Works

Gistyengineering tutorial platform and subscription service to teach engineering to teenage girls and artists

Augwea company that blends augmented reality with fashion to help share interests

AR Gardening Aid (MIT Media Lab)augmented reality app to assist people in indoor gardening

Hoodiemade and sold a hoodie to support healthcare management and education for underprivileged girls and women

Paintings/Drawingssome of the art I have made over the years

Sewing Projectsthings I have sewn over the years

Finite State Machine Lampdesigned a processor, instruction code, and a lamp

Triangle Paintingan exploration of the role of furniture and art in our living spaces

Smart Greenhousesensor system to remotely monitor plant health

Quarantine Walla collage installation

The Butterfly tech based sculpture presented at an art exhibition

Let's talk!