Future Bioluminescent Plants

Made by Ipsita Mallick

Found in DioT 2019: Internet of Plants

This project attempts to create a simulation of future bioluminescent plants that can provides an ambient atmospheric light after sunset and responds to humans by communicating in subtle ways.

0

Problem

It is predicted that by 2050, nearly 70% of the world's population will live in urban areas.* Thus, we can easily imagine a dystopia where there will be a constant struggle for resources, overpopulation, growth of urban sprawl and the concrete jungle overtaking the natural ones.

Another problem is that the electrical energy we consume today is still heavily dependent on non-renewable sources of electricity. 

0

Ongoing Research & Imagining Luminous Futures

Imagine that instead of switching on a lamp when it gets dark, you could read by the light of a glowing plant on your desk. A team of scientists at MIT has found a way to give plants the ability to produce light. Current research is progressing along these lines to make bioluminescent and non-electric lighting possible. This could potentially lend a whole new meaning to the term “green energy.”

Though the research is preliminary, the researchers believe that bioluminescent plants may someday light our streets, parks, and even our homes. MIT engineers have taken a critical first step toward making that vision a reality. By embedding specialized nanoparticles into the leaves of a watercress plant, they induced the plants to give off dim light for nearly four hours. They believe that, with further optimization, such plants will one day be bright enough to illuminate a workspace.

(See References below)

0
Glowing plants
Massachusetts Institute of Technology (MIT) - https://youtu.be/hp-vqd8zJM4
0

Project Goal

This project is an attempt to simulate the revolutionary technology of non-electric bioluminescent plants that can be connected, controlled, responsive and alive, acting as the harbinger of change into a more enchanted, energy-optimised and brighter future (pun-intended)! Though it currently uses an electric circuit to simulate the future experience of bioluminescent plants and even trees, this step is crucial in triggering the imagination and sharing the vision of this research.

0

Approach

Looking for inspiration along the lines of glowing plants, I came across the above article where I found a project led by MIT engineers who by embedding specialized nanoparticles into the leaves of a watercress plant, induced the plants to give off dim light for nearly four hours. They believe that, with further optimization, such plants will one day be bright enough to illuminate a workspace. This technology is  currently progressing as a crowd-funded kickstarter project.

If trees form an element of our urban spaces in the future that can be responsive to our interactions with them, glow and provide light, respond and connect with other trees, plants and humans through the internet, it would indeed create an amazing experience to be in natural urban environments, being under the trees at night time! 

From this point, I imagined an interconnected network of plants and trees that communicate with humans in natural, subtle and elegant ways. The idea is to simulate the experience of interacting with bioluminescent plants as a supplement to the ongoing research. I also wanted to incorporate a sense of live connection, taking inspiration from the movie Avatar. The way the plant acts as a source of light for us could be ambient and yet the control of that ambience would also be an important component of the design

1

Process


Ideation

0

Trying the touch sensitivity code

0
int TOUCH_PIN_IN = A1;   // Pin connected to SIG at Touch-Sensor
int LED_PIN = D3;        // LED pin

int TOUCH_PIN_INReading = 0;
int potPin = A5;

// Create a variable to hold the pot reading
int potReading = 0;

// Create a variable to store the LED brightness.
int ledBrightness = 125;

//Declare Button pin
int buttonPin=D3;


unsigned long lastmillis = 0;  // time for interation the loop


void setup() 
{
  pinMode(TOUCH_PIN_IN, INPUT);
  pinMode(LED_PIN, OUTPUT);
     
     Particle.variable("intensity", ledBrightness);
     Particle.variable("pressure", TOUCH_PIN_INReading);
}


void loop() 
{
    if ((millis() - lastmillis) > 10) { // play with the millis
        lastmillis = millis();
        readData();
        
    }
}

void readData() {

    int proximity = digitalRead(TOUCH_PIN_IN); // Read the state of the sensor
    
        if (proximity == HIGH) 
        {
        analogWrite(LED_PIN, 255); // Turn the LED on
        }
        else
        {
        analogWrite(LED_PIN, 5); // Turn the LED off
        }    
}
Click to Expand
0

Applying the Soil Moisture Sensor

0

Making and trying out the Interface Glow/Fade on a Leaf

0
//FAILURE:
// THE CODE TO CONTROL BRIGHTNESS THAT DID NOT WORK

// Definitions
int TOUCH_PIN_IN = A1;   // Pin connected to SIG at Touch-Sensor
int LED_PIN = D2;        // LED pin GREEN
int LED_PIN2 = D5;       // LED pin BLUE

int photoCellPin = A0;
int photoCellReading = 0;
int TOUCH_PIN_INReading = 0;


// Create variable to store the LED brightness
int ledBrightness = 25;

int moistPin = A2;
int moistVal = 0; // Create variable to read soil moisture

unsigned long lastmillis = 0;  // time for interation the loop

void setup() 
{
  pinMode(TOUCH_PIN_IN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  pinMode(LED_PIN2, OUTPUT);
  Serial.begin(9600);
  
  // take readings of variables
     Particle.variable("pressure", &TOUCH_PIN_INReading, INT);
     Particle.variable("daylight", &photoCellReading, INT);
     Particle.variable("waterlevel", &moistVal, INT);
     Particle.function("LED Brightness",brightnessControl);
}
int brightnessControl(String command)
{
    ledBrightness=command.toInt();  // convert toiint val
     if( bright > 255 ) return -1; // take values only from 25-255
     if( bright < 25 ) return -1;
    return 1;
}
void readData() {
    int proximity = digitalRead(TOUCH_PIN_IN); // Read the state of the sensor
    
        if (proximity == HIGH)  // when leaf is touched
        {
            for (int i=25 ; i<255 ; i=i+20) // glow or increase in brightness should be gradual
            {
                if(i<200){
        analogWrite(LED_PIN, i); // Turn the leaf on full glow
        delay(100);}
        else{
            analogWrite(LED_PIN, i);
            delay(2500); // stay on glow for some time
        }
Click to Expand
0

Final Implementation

0

Circuit Diagram

0

Components Used


AmountPart TypeProperties
1Particle Argonvariant variant 3
1Basic Force Sensing Resistor (FSR)package THT; sensing area diameter .5 "
1Blue smd LEDpackage 1206 [SMD]; color Green (565nm)
1Blue LED - 5mmpackage 5 mm [THT]; leg yes; color Blue (430nm)
1FC-28 Soil Hygrometer Modulechip LM393; variant variant 3
1FC-28 Soil Hygrometer Module - Probevariant variant 1
21k Ω Resistorpackage 0603 [SMD]; tolerance ±5%; resistance 1kΩ
1PHOTOCELLpackage photocell; variant pth
11k Ω Resistorpackage THT; tolerance ±5%; bands 4; resistance 1kΩ; pin spacing 400 mil
110k Ω Resistorpackage THT; tolerance ±5%; bands 4; resistance 10kΩ; pin spacing 400 mil


0

Code

0
// Definitions
int TOUCH_PIN_IN = A1;   // Pin connected to SIG at Touch-Sensor
int LED_PIN = D2;        // LED pin GREEN
int LED_PIN2 = D5;       // LED pin BLUE

int photoCellPin = A0;
int photoCellReading = 0;
int TOUCH_PIN_INReading = 0;


// Create variable to store the LED brightness
int ledBrightness = 25;

int moistPin = A2;
int moistVal = 0; // Create variable to read soil moisture

unsigned long lastmillis = 0;  // time for interation the loop

void setup() 
{
  pinMode(TOUCH_PIN_IN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  pinMode(LED_PIN2, OUTPUT);
  Serial.begin(9600);
  
  // take readings of variables
     Particle.variable("pressure", &TOUCH_PIN_INReading, INT);
     Particle.variable("daylight", &photoCellReading, INT);
     Particle.variable("waterlevel", &moistVal, INT);
     Particle.function("LED Brightness",brightnessControl);
}
int brightnessControl(String command)
{
    ledBrightness=command.toInt();  // convert toiint val
     //  if( bright > 255 ) return -1; // take values only from 25-255
   //if( bright < 25 ) return -1;
    return 1;
}
void readData() {
    int proximity = digitalRead(TOUCH_PIN_IN); // Read the state of the sensor
    
        if (proximity == HIGH)  // when leaf is touched
        {
            for (int i=25 ; i<255 ; i=i+20) // glow or increase in brightness should be gradual
            {
                if(i<200){
        analogWrite(LED_PIN, i); // Turn the leaf on full glow
        delay(100);}
        else{
            analogWrite(LED_PIN, i);
            delay(2500); // stay on glow for some time
        }
            }
        }
        else if (photoCellReading<1500 && proximity == LOW)     // in absence of daylight, plant should start glowing dim
        {
        analogWrite(LED_PIN, ledBrightness); // Make leaf glow dim
        }
        else 
        {
        analogWrite(LED_PIN, 0); // Leaf does not need to glow during daytime
        }
}


void blinkLED2()    // function to blink leaf Blue 

{  digitalWrite(LED_PIN2, HIGH);
   delay(200);
  digitalWrite(LED_PIN2, LOW);
  delay(200);
}



void loop() 
{
    //Particle.function("LED Brightness",brightnessControl);
    if ((millis() - lastmillis) > 10) { // play with the millis
        lastmillis = millis();
        readData();
    }
    
     photoCellReading = analogRead(photoCellPin);
     TOUCH_PIN_INReading = analogRead(TOUCH_PIN_IN);
     
     //ledBrightness = analogRead(LED_PIN); // reading glow brightness
     moistVal = analogRead(moistPin);   // reading water requirements
     Serial.println(moistVal);

  delay(100);
  
  if (moistVal<2000) {
        digitalWrite(LED_PIN2, LOW);
  }else{
        blinkLED2(); 
  }
}
Click to Expand
0

Video Demo

0
Bioluminiscent Plant - Iot Project (Part 1)
Ipsita Mallick - https://youtu.be/AbxG3w62cnw
0
Bioluminiscent Plant - Iot Project (Part 2)
Ipsita Mallick - https://youtu.be/F6rC1V9Wv8Q
0

Next Steps

To take this project further, the next steps would involve developing interconnected networks of plants that can 

  • sense human presence in a more interactive way (as if they can feel the connection with humans and their movements in space)
  • Humans should be able to control the luminosity exuded by the plants according to the needs and context
  • communicate with each other to share data on availability of life resources across vast distances (something which is naturally possible now but limited by physical proximity)
  • Scale the project to accomodate a larger plant

The most important and challenging aspect of this project, which is currently only a simulation, would be to integrate the embedded nanoparticles that make the bioluminescence possible  connect to the internet the same way as an LED (or further exploration and research would be required to make this technology a reality).

0

Reflection

Looking back, this project has taught me that implementing an idea from it's conception to the first prototype is a struggle that is worth undergoing. As a beginner to coding, I took a lot of time to understand how I could code and what activities, outputs and responses I could get to manifest my thinking. I also realise that throughout the process, my focus was more on simulating the experience and feel of the intended idea than including more complex methods of interactions with the plant. Demonstrating the purpose of the research and making the idea happen as the first experiential prototype was important to me.

While application of my learnings from class was an important hands-on step to improve what I had absorbed during skills development classes, taking the liberty to experiment, try different methods to communicate the idea, fail, re-try and fail again was excruciating. However, the final manifestation the circuit and code to documenting the process was great experience to finally make my imagination come to life. I believe there's a lot more to do from this point on and I'm excited to work on this idea further to explore more possibilities!

0

References

  • Glow-in-the-dark plants put green energy in a whole new light

Light-up foliage provides illumination without electricity.

https://www.nbcnews.com/mach/science/glow-dark-plants-put-green-energy-whole-new-light-ncna830791

  • Glowing Plants: Natural Lighting with no Electricity

http://news.mit.edu/2017/engineers-create-nanobionic-plants-that-glow-1213

x
Share this Project

Courses

49713 Designing for the Internet of Things

· 16 members

A hands-on introductory course exploring the Internet of Things and connected product experiences.


Focused on
Skills
Tools
About

This project attempts to create a simulation of future bioluminescent plants that can provides an ambient atmospheric light after sunset and responds to humans by communicating in subtle ways.

Created

November 7th, 2019