Skip to content

Final Project

My project in one slide :

Explaining My project in a minute :

My project summary :

Everyone knows that plants are a living creature but but why don’t we hear them? My project idea was making a plant react if someone touch it , playing some piano tones . And I called this project ( the singing plant ) I designed this structure in fusion 360 and I used the cnc machine to cut this design For the electronics part I used adafruit circuit playground bluefruit It made many tasks easier for me.

The Bill of Materials for my project:

Qty Description Price Link Notes
1 Circuit Playground Bluefruit - Bluetooth Low Energy $24.95 https://www.adafruit.com/product/4333
1 alligator clips wires $6.49 https://www.amazon.com/dp/B06XX25HFX?ref_=cm_sw_r_cp_ud_dp_NQ48A3SZ1H59MSP7EQ8M
1 Playwood - $ Provided by fab lab

The Steps when working in the final project

My original design & the code:

For my design, I was planning to make a semicircular plant tower, each layer increasing the volume from top to bottom , my design was inspired by Singapore pavilion (expo 2022).

Due to lack of material it made the design smaller but then the plants didn’t fit in the tiers so I kept a plant on top and kept the rest of the wooden part exposed.

Why did I use CNC?

If you are asking why I chose to use CNC in making my project, it is because I need something sturdy to withstand the weight of the plants and I chose play wood because it is the most convenient and effective.

Assembly:

Electronics

Adafruit_CircuitPlayground Bluefruit is the microcontrollerI used in this Project, It has lots of built in sensors , One of the Useful sensors is the capacitive touch sensor which I was depending on in my project. The capacitive touch sensing is the change in capacitance that occurs when an object usually a human finger approaches a capacitor. The presence of a finger increases the capacitance by introducing a substance , (in this case human flesh) with a relatively high dielectric constant and providing a conductive surface that creates additional capacitance in parallel with the existing capacitor.

the capacitive touch sensor feel the human touches through the plant, the output of reaching the capacitance changes value in the code is the speaker which make a sound.

one of the problems I faced was the change in capacitance value which was changing along with the changes in the atmosphere Like if the laptop was on the charger , using different type of power supplier or how hard you touch the plant I solved this problem by noticing the external influences and setting the appropriate measurement accordingly and having a range that suit in most situation .

the code

// SPDX-FileCopyrightText: 2020 Carter Nelson for Adafruit Industries
//
// SPDX-License-Identifier: MIT

#include <Adafruit_CircuitPlayground.h>

#define CAP_THRESHOLD   500
#define DEBOUNCE        250

////////////////////////////////////////////////////////////////////////////
boolean capButton(uint8_t pad) {
  if (CircuitPlayground.readCap(pad) > CAP_THRESHOLD) {
    return true;  
  } else {
    return false;
  }
}

////////////////////////////////////////////////////////////////////////////
void setup() {
  // Initialize serial.
  Serial.begin(9600);

  // Initialize Circuit Playground library.
  CircuitPlayground.begin();
}

////////////////////////////////////////////////////////////////////////////
void loop() {
  // Check if capacitive touch exceeds threshold.
  Serial.println("One");
  Serial.println(CircuitPlayground.readCap(1));
  Serial.println("two");
  Serial.println(CircuitPlayground.readCap(2));
  Serial.println("threre");
  Serial.println(CircuitPlayground.readCap(3));
  Serial.println("six");
  Serial.println(CircuitPlayground.readCap(6));
  Serial.println("zero");
  Serial.println(CircuitPlayground.readCap(0));



  if (capButton(1)) {
      // Print message.
      Serial.println("Touched 1");

      CircuitPlayground.playTone(262, 100, false);
      // But not too often.
      delay(DEBOUNCE);
  }



  if (capButton(2)) {
      // Print message.
      Serial.println("Touched 2");
      CircuitPlayground.playTone(294, 100, false);
      // But not too often.
      delay(DEBOUNCE);
  }
  if (capButton(3)) {
      // Print message.
      Serial.println("Touched 3");
      CircuitPlayground.playTone(330, 100, false);
      // But not too often.
      delay(DEBOUNCE);
  }

  if (capButton(6)) {
      // Print message.
      Serial.println("Touched 6");
      CircuitPlayground.playTone(349, 100, false);
      // But not too often.
      delay(DEBOUNCE);
  }
  if (capButton(0)) {
      // Print message.
      Serial.println("Touched Zero");
      CircuitPlayground.playTone(392, 100, false);
      // But not too often.
      delay(DEBOUNCE);}
}}

Acknowledged work done by others & Included the license if used :

In this project I did not use any license and These are the resources that inspire me - YouTube video - Adafruit website

Download My designs:

Function test

I tried different types of plants and I found out ZZ plant in the best for electricity connection.


Last update: November 7, 2022