49713 Designing for the Internet of Things
· 16 members
A hands-on introductory course exploring the Internet of Things and connected product experiences.
The Christmas tree will lighten up in different styles based on how many family members are gathering around the tree.
Christmas is a time for families to come together and share and enjoy and celebrate the love and appreciation for each other. All of the gifts, the cards, the bows, the special food are, in so many ways, expressions of the love and appreciation that we hold for each other. As one of the most essential elements in Christmas, the Christmas tree can respond to how many members have already gathered around it by lightening up certain amounts of color.
The initial goal is to have the Christmas tree to detect how many people are around it. And I come up with the idea that a force resister sensor can be used to install on the floor to measure the weight and then reflect how many people are there. If only one of them is in the house, the tree only displays yellow lights. If two of them, it displays yellow and orange. When all the three members gather together, the tree displays three different colors.
In the beginning, I considered using the infra proximity sensor or thermal sensor to detect the distance or relation between tree and person to let the tree respond with lightings. However, I finally come up with the force resister sensor to detect the floor pressure to provide more stable interaction between the tree and family members.
Workflow:
List of parts:
Demonstration video, completed code, circuit diagram, photos of the prototype are below.
// Define a pin that we'll place the FSR on
// Remember to add a 10K Ohm pull-down resistor too.
int fsrPin = A0;
// Create a variable to hold the FSR reading
int fsrReading = 0;
// Define a pin we'll place an LED on
int ledPinA = D2;
int ledPinB = D3;
int ledPinC = D4;
void setup()
{
// Set up the LED for output
pinMode(ledPinA, OUTPUT);
pinMode(ledPinB, OUTPUT);
pinMode(ledPinC, OUTPUT);
// Create a cloud variable of type integer
// called 'light' mapped to photoCellReading
Particle.variable("force", &fsrReading, INT);
}
void loop()
{
fsrReading = analogRead(fsrPin);
if (fsrReading>500 && fsrReading<2000)
{
digitalWrite(ledPinA, HIGH);
}
else if (fsrReading>2000 && fsrReading<3000)
{
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
}
else if (fsrReading>3000)
{
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
}
else
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
}
}
Click to Expand
The next step would be iterate on the frequency of the lighting system and the music system of the Christmas tree.
If there's only one member is in the area, the yellow light will be on with low-frequency blinking, and if there are all the three members are in the area, the three colors will blinking at a higher frequency. And also the Christmas music will be played only if all the members are there.
This will be a level up interaction between the tree and family members and will bring more happiness to the them and let them cherish the gathering of the family members.
When I first encountered the topic of this project, I only came up with some obvious properties of the plant, like sunlight need, soil moisture condition, and shape of the branch. However, the creative project is all about ideas and I was trying hard to focus on ideation and then a Christmas tree-related concept emerged.
And I worked on the if statements to develop the code for my design solutions, which is really simple but achieved a relatively good effect.
I will continue to put more time and effort on idea generation itself and then choose suitable technology to solve the problem.
The idea is original.
For code guidance and circuit diagrams: https://diotlabs.daraghbyrne.me
A hands-on introductory course exploring the Internet of Things and connected product experiences.
The Christmas tree will lighten up in different styles based on how many family members are gathering around the tree.
November 6th, 2019