Flower Focus Lamp

Made by Anya Singhal

Struggling to focus? Try this beautiful focus lamp! It uses the Pomodoro method by turning on for 25 minutes, encouraging you to work, and then turning off for 5 to give you a break! Try leaving during work time and you’ll face its wrath - obnoxious flickering and ticking. Sure that might creep you out a little...but who cares? We must do whatever it takes to be productive and successful, right?

0

Intention

My intentions with this project were to examine "spooky" technology in a more subtle and/or hidden context. The idea is to give an everyday item (the lamp) agency, but also a pretty exterior (the flower housing) and an innocent front of helping with productivity. My goal was to make it the product a mom would deem innocent and helpful enough to buy for her child struggling to focus. I wanted the product to slowly reveal its hidden blade: that in using this device, the user's location data is being taken and used against them. The lamp, although limited in its wrath, is almost forcing the user to stay in place and work.

To be honest, my personal motivation and the idea itself came from my love of just designing beautiful things, and creating and experience out of having them. But I also loved the idea of the "spookiness" or unsettling feeling coming from using the product over time, and realizing that it has some level of control over the user's actions that the user might never have planned to give.

0

Context

Previous work that influenced my design came from my and my classmates' research as well as concepts covered in class. One of the biggest influences was the concept of machine agency. We give an object "intelligence" and in this case, disguise it under the advertisement of productivity and beauty. Other student's case studies like the roomba that maps out the room or LAUREN, a "human version of Alexa," provided inspiration for this guise since people will really only buy those items and invite them into their life for convenience, not realizing the gradual sacrifices in their privacy and comfort that they have made. When we create products like these, it brings up the question of what is ethical to create. If we make sure that the product is only given a kind agenda, is that enough? Or is it wrong to create products that have a hold over humans in the first place? And if a well-doer agenda is enough, how do we define good from bad? Conversations like these from class are what helped inspire this project.

0

Prototype/Outcome

Describe your experience/working prototype: What did you create, how, etc.? What tools and technologies were involved? Include appropriate content and illustration (e.g. a concept video, a video of the device in operation, diagrams, code, etc.) How does it relate or build on existing work (provide acknowledgements or cite this work). You should report this in sufficient detail that anyone knowledgeable with electronics etc would be able to reconstruct your implementation. Be sure to include a system diagram, annotated images, code, and a bill of materials.

For this project, I created a 3D printed flower case surrounding a lamp controlled by a relay. The proximity sensor on the Nano BLE would take in a number, and if the person was "away" during work time (according to the Pomodoro method), the code would instruct the relay to turn the lamp on and off to flicker rapidly, also creating a ticking noise through the relay. The lamp was then instructed to turn off after 25 minutes (not including "distracted" time) for 5 minutes and then repeat the loop. For the purpose of the demo, I scaled down minutes to seconds, so I could show the loop in under a minute.

I got the proximity sensor working using a simple circuit with the BLE Nano controlled by minimal code (also seen in Attribution and References):


I got the relay working and successfully controlling the lamp using this simple circuit (code also seen in Attribution and References):


I used SolidWorks to design the flower housing, but the final product was too large to print. After cutting up the design, I 3D printed it and ran into a few more challenges (discussed in process documentation) and came out with the following result after spray painting and attaching everything together:


To write the final code that controls the lamp, I combined my code for the proximity sensor and relay and created an algorithm to follow the Pomodoro method. I coded it so that the lamp would be on for 25 minutes to allow the user to work (flickering obnoxiously when the user gets up to leave) and then off for 5 minutes to not only encourage the user to take a break, but actually get up and leave their desk for a little while. Again, I ran into a few issues (discussed in process documentation) however after some debugging, I got it working! The demo is seen below after the final code, where I scaled down from minutes to seconds.

0
#include <Arduino_APDS9960.h>

int relayPin = D2;
int s = 0;

void setup() {
  Serial.begin(9600);
  pinMode(relayPin, OUTPUT);
  while (!Serial);

  if (!APDS.begin()) {
    Serial.println("Error initializing APDS-9960 sensor!");
  }
}

void loop() {
  int proximity = APDS.readProximity();
  while (s <= 1500) {
    //Serial.println("true"); // Switch Relay On (NO)
    digitalWrite( relayPin, LOW );
    if (APDS.proximityAvailable()) {
      proximity = APDS.readProximity();
      //Serial.println(proximity);   // print value to the Serial Monitor
    }
    while (proximity >= 240) {
      //Serial.println("false");// Switch Relay Off (NC)
      
      Serial.println(proximity);
      digitalWrite( relayPin, HIGH );
      delay (250);
      //Serial.println("true"); // Switch Relay On (NO)
      digitalWrite( relayPin, LOW );
      delay (250);
      if (APDS.proximityAvailable()) {
        proximity = APDS.readProximity();
      }
    }
    delay(1000);
    s = s+1;
  }
  Serial.println("false");   // Switch Relay Off (NC)
  digitalWrite( relayPin, HIGH );
  delay (300000);

}
Click to Expand
0
Flower Focus Lamp - IDEATE RME Project 1
Anya Singhal - https://youtu.be/s-EIYA7Qzhc
0

Bill of Materials:

1 lamp

1 light bulb

1 Arduino Nano 33 BLE Sense

1 5V relay

1 flower housing base

5 flower housing petals

3 male-to-male wires

1 USB cable

1 computer (to run code)

1 bottle of gold spray paint

0

Process

  • Since I was given proximity and relay, I initially felt really restricted so I started out getting those components working and coming up with ideas. The proximity sensor was quite easy to wire and read from, but I struggled a little more with the relay, since I accidentally cut the whole code from the lamp. After Cody helped me remember some circuitry basics, I soldered the ground of the cord back together and got the relay working successfully. 

  • I then decided on my "Focus Flower" idea and honed in the concept of the hidden blade. Creating the flower housing was definitely one of the biggest challenges. I designed the flower housing using the dimensions of the lamp and accounting for wiring needing to exit  but because it was too large, I had to break it up into components to print. However, the print was not very good and the supports messed with the attachment surfaces of the different pieces, but after a lot of random drilling and sawing and super glues, I got things to attach pretty securely. Then to cover up the machining marks, I went a little crazy with spray paint and the flower was complete!

  • I finally wrote the code to actually use proximity to control the relay and follow the Pomodoro method, where the lamp would be on for 25 minutes to allow the user to work (flickering obnoxiously when the user gets up to leave) and then off for 5 minutes to not only encourage the user to take a break, but actually get up and leave their desk for a little while. However, the code was not working so I scheduled time with Zhenfang and realized two issues to fix. For some reason, OFF and ON were opposite to the relay and code so I switched every statement to the relay and secondly, I always needed to use an if statement checking if I can access the proximity before getting the proximity. Finally, I assembled the lamp to the flower housing, tested, and it worked!

0

Open Questions and Next Steps

One unresolved part of the implementation is the use of a limited-range proximity sensor. For a future version, I would want a sensor that can actually distinguish a human from other objects and sense its presence in a larger range of positions.

Another unresolved component is the question of whether my product would really spook the user over time. Although the goal is for there to be a hidden blade, I wonder whether it would have become spooky enough to introduce the controversy of machine agency and intelligence. It makes me question what elements would have made it spookier over time without sacrificing the initially innocent and pretty front. Perhaps I could have had the flower slowly unravel as it learned more about the user. I wonder whether making the flower slowly start to react to the user in unexpected ways would make the user realize the control they have given up to a supposedly simple lamp.

0

Reflection

Overall, I think that my technical implementation of this project was quite successful. I also think I created a beautiful exterior as I hoped to. The positive reception to the project was mainly focused in those two areas. 

However, there are still some aspects I would want to improve. As I briefly mentioned in the last section, the proximity sensor demonstrated my point but could not accurately tell whether someone was there. This is not only because of it's extremely limited range to sense something, but also because it would pick up on any object, not just a human. Therefore, to be a fully functional prototype, I'd probably need a camera or another sensor of some sort that could accurately distinguish a human from other objects and be able to tell if that human was in the vicinity of the lamp. I would also want the sensor to be mounted in a ways such that it is indistinguishable from the lamp or from other components of the user's desk.

The demo critique was largely focused on the fact that in the way I presented the product, it did not seem very spooky. This made me realize that although the product was essentially fully functional, the way in which I presented it did not convey the hidden blade. This was mainly an issue with the way I presented the project, but it also brings up the question of whether my product would have really spooked the user. To really get there, I think I'd need to execute what I discussed in the last paragraph. I would have a sensor that collects more than just proximity data, and then use that data to create more uncomfortable interactions with the user, like jolting movements of the flower, or even sounds to communicate with the user.

0

Attribution and References

Thank you so much to Zhenfang, who helped me debug my code to get the flower switching on and off at the correct times. Cody was also a huge help in helping me get my relay working and figuring out circuitry basics.

Here was my final code used to control the lamp using a relay and proximity sensor:

0
#include <Arduino_APDS9960.h>

int relayPin = D2;
int s = 0;

void setup() {
  Serial.begin(9600);
  pinMode(relayPin, OUTPUT);
  while (!Serial);

  if (!APDS.begin()) {
    Serial.println("Error initializing APDS-9960 sensor!");
  }
}

void loop() {
  int proximity = APDS.readProximity();
  while (s <= 1500) {
    //Serial.println("true"); // Switch Relay On (NO)
    digitalWrite( relayPin, LOW );
    if (APDS.proximityAvailable()) {
      proximity = APDS.readProximity();
      //Serial.println(proximity);   // print value to the Serial Monitor
    }
    while (proximity >= 240) {
      //Serial.println("false");// Switch Relay Off (NC)
      
      Serial.println(proximity);
      digitalWrite( relayPin, HIGH );
      delay (250);
      //Serial.println("true"); // Switch Relay On (NO)
      digitalWrite( relayPin, LOW );
      delay (250);
      if (APDS.proximityAvailable()) {
        proximity = APDS.readProximity();
      }
    }
    delay(1000);
    s = s+1;
  }
  Serial.println("false");   // Switch Relay Off (NC)
  digitalWrite( relayPin, HIGH );
  delay (300000);

}
Click to Expand
x
Share this Project


Focused on
About

Struggling to focus? Try this beautiful focus lamp! It uses the Pomodoro method by turning on for 25 minutes, encouraging you to work, and then turning off for 5 to give you a break! Try leaving during work time and you’ll face its wrath - obnoxious flickering and ticking. Sure that might creep you out a little...but who cares? We must do whatever it takes to be productive and successful, right?