Back to Parent

Outcome


Intention

The main idea behind my project is to turn the fan (object) on when certain colors (input) are detected by controlling the power supplied through a relay (output). My goals are to set up a system that correctly detects a color and changes the relay mode accordingly. When the system detects a red based color (a color where the red value is higher than the blue and green. ie. red, orange, pink), the fan will turn on. When the system detects a blue based color (a color where the blue value is higher than the red and green. ie. blue, violet), the fan will remain off. The reason I decided on this system is because I wanted to be able to map different colors to different states. I also wanted to be able to experiment with the different states of a relay and prompt certain states based on other factors.

Context

My primary inspiration behind my idea was the connotation of colors in relation to temperature. Typically when temperature is described, red correlates with heat and blue correlates with cold. When it is hot we typically try to cool down and when it is cold we try to warm up. Since I was focusing on the on/off modes of a fan, I mapped heat to a fan being on (trying to cool down) and cold to a fan being off (trying to warm up). Thus, I came to my final idea of mapping red colors to a fan being turned on and blue colors to a fan being turned off.

In the bigger picture, a color identifying your current state and acting upon it has some spooky properties. Imagine if a user could input how warm they were feeling at a given moment and the fan could determine the right speed to set to by mapping the user input to a color. Being able to curate the perfect cooling speed is indeed a spooky concept.

Color scale.thumb
Show Advanced Options
Temperature scale.thumb
Show Advanced Options

Prototype/Outcome

My system consists of an Arduino board with an in-built color sensor, a bread board, a relay, a fan, and a program of code. The system starts off by using the color sensor to detect a color. Next, my code extracts the rgb values of the input color and determines whether it’s r or b value is higher (determine if it is red or blue based color). If it is a reddish color my program will trigger the relay to turn on. If it is a bluish color my program will trigger the relay to remain off.

The relay is connected to the main power source of the fan through two connections: NO and COM. Thus, the initial state of the fan is on but due to my code turning the relay off, the fan appears off initially. If the relay is on, then power will travel to the fan, turning it on. If the relay is off, then power won’t be supplied to the fan, keeping it turned off.

Image 67188481.jpg.thumb
Show Advanced Options
Image 67183361.jpg.thumb
Show Advanced Options
Image 67182593.jpg.thumb
Show Advanced Options
Image 67155713.jpg.thumb
Show Advanced Options

Process

To start, I focused on exploring the Arduino and how to power it using code. I then began exploring the color sensor and its capabilities. I first wrote a program that detected and printed out colors’ rgb values. Some of the problems I ran into during this step was the sensor printing rgb values out of range (>255) and improperly detecting low saturation colors. I moved on to writing conditionals within my code that created different cases based on the color detected.

Next, I set up and connected the relay to my system. I experimented with switching between the different modes of a relay to practice powering it on and off. I then incorporated the relay into my color cases so that the relay would turn on if reddish colors were detected and stay off if bluish colors were detected.

Finally, I worked on connecting the relay to my fan. I first took apart the fan to understand how it operated. Since I only wanted to work with one fan speed, I modified the internal part of the fan by removing the push button it came with. I then connected the fan to the relay to complete the system.

Image 67219201.jpg.thumb
Show Advanced Options
Img 9885.thumb
Show Advanced Options

Open Questions and Next Steps

Initially my idea was to change the speed of the fan based on the color detected. If the color detected was reddish then the fan would increase in speed but if the color was bluish then the fan would decrease in speed. However, due to the way the fan worked it was not possible to decrease the speed, speed could only be increased. After figuring this out, I modified my approach to make it simpler. Exploring my initial concept remains unresolved.

For future explorations I would like to explore how a relay can be used to modulate different speeds of the fan and explore more properties of colors to decipher them more.

Reflection

My final idea was to turn the fan on or off depending on the properties of the color. In terms of my final idea, I was able to successfully execute it. However, in order to deliver a successful project, I had to modify my original idea which was out of scope. In order to execute my original idea, I would have had to figure out a way to connect my relay to the push button system of the fan and write code that would change the speed of the fan.

Drop files here or click to select

You can upload files of up to 20MB using this form.