Difference between revisions of "Team:Newcastle/Developments"

 
(26 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Newcastle/navbar}}
+
{{Newcastle/navbar2}}
 
<html>
 
<html>
  
Line 32: Line 32:
  
 
                 <h1>
 
                 <h1>
                    Developments
+
                  Future Developments
 
                     <br><br>
 
                     <br><br>
 
                 </h1>
 
                 </h1>
  
 +
                <div class="home-content__buttons">
  
            <div class="home-content__scroll">
+
                    <a href="#Sensors" class="smoothscroll btn btn--stroke">Sensors</a>
                <a href="#design" class="scroll-link smoothscroll">
+
                    <a href="#Storage" class="smoothscroll btn btn--stroke">Data Storage</a>
                    <span>Scroll Down</span>
+
                </div>
                </a>
+
            </div>
+
  
            <div class="home-content__line"></div>
 
  
 
         </div> <!-- end home-content -->
 
         </div> <!-- end home-content -->
  
 
     </section> <!-- end s-home -->
 
     </section> <!-- end s-home -->
  <!-- about
+
<!-- about
 
================================================== -->
 
================================================== -->
  
    <section id='Powering' class="s-about">
+
<section id='Sensors' class="s-services">
 +
 
  
        <div class="row section-header has-bottom-sep" data-aos="fade-up">
+
<div class="row section-header has-bottom-sep" data-aos="fade-up">
 
             <div class="col-full">
 
             <div class="col-full">
                 <h1 class="display-1 display-1--light">Sensors</h1>
+
                 <h2 class="display-1 display-1">Sensors</h2>
 
             </div>
 
             </div>
 
         </div> <!-- end section-header -->
 
         </div> <!-- end section-header -->
Line 61: Line 60:
 
         <div class="row about-desc" data-aos="fade-up">
 
         <div class="row about-desc" data-aos="fade-up">
 
             <div class="col-full">
 
             <div class="col-full">
                 <p class="about-para">There is two options for powering this device via the mains or from a battery source. I have designed it so both can be used if the other isn’t available. However I would recommend using the mains as batteries need to be replaced regularly. Since the Arduino and LED lights need a constant 5V supply once the batteries have drained to roughly 3.5V the lights start to fade and do not operate as designed. Also we used 4 cheap AA 1.5V which totals to 6V, meaning a voltage regulator is needed to protect the circuit. This regulator can get hot after sustained use, I believe this is due to the lights drawing 1.5 Amps. However for a small demonstration this is sufficient.</p>
+
                 <p class="about-para">Adding multiple sensors is a good way to collect a range of data for analytical purposes, such as; humidity, temperature, CO<sub>2</sub>, PH level sensors. This also allows for greater control over the subject plant, in our case <i>Arabidopsis</i>. However, this would lead into a problem with memory. Currently the system is run by an Arduino Uno which has Flash Memory 32 KB of which 0.5 KB is used by; bootloader, SRAM 2 KB, EEPROM 1 KB. With the Lux sensor, 80 % of the flash memory is already taken. </p>
<p class="about-para">Therefor a more permanent and reliable source would be the mains. Taking a regular phone charger which safely steps the voltage down to 5V we have a power source for the Arduino to use. I would not recommend building your own. Usually there is live (Vdd), ground (GND), and two data lines (-D, +D) the latter two are not necessary for our application. Due to there voltage rating shown in Figure 1.0 (2.76V, 2.06V). Therefor these wires can be either trimmed shorter than Vdd and GND or taped up, to avoid a short circuit. For the example shown; red is power, black is ground, and the white and green wires are the data lines, however I would recommend confirming this is correct by checking the voltage from Vdd, D+ or D- to ground. </p>
+
  
      <div class="row services-list block-1-3 block-tab-full">
+
   
 
+
            <div class="col-block service-item" data-aos="fade-up">
+
                <div class="service-icon">
+
                    <i class="icon-paint-brush"></i>
+
                </div>
+
                <div class="service-text">
+
                    <img src="https://static.igem.org/mediawiki/2018/a/a5/T--Newcastle--usb_schematic2.png" style="width:100%">
+
                    <p style="text-align:center"><br>Figure 1.0; Schematic of a standard USB cable.</p>
+
 
                 </div>
 
                 </div>
 
             </div>
 
             </div>
 
            <div class="col-block service-item" data-aos="fade-up">
 
                <div class="service-icon">
 
                    <i class="icon-paint-brush"></i>
 
                </div>
 
                <div class="service-text">
 
                    <img src="https://static.igem.org/mediawiki/2018/8/8e/T--Newcastle--wire.png" style="width:100%">
 
                    <p style="text-align:center"><br>Figure 1.1: Above is 4 exposed wires. Red is power, black is ground, and the white and green wires are the data lines. </p> 
 
                   
 
                </div>
 
            </div>
 
            <div class="col-block service-item" data-aos="fade-up">
 
                <div class="service-icon">
 
                    <i class="icon-paint-brush"></i>
 
                </div>
 
                <div class="service-text">
 
                    <img src="https://static.igem.org/mediawiki/2018/1/1d/T--Newcastle--arduino.png" style="width:100%">
 
                    <p style="text-align:center"><br>Figure 1.2: Schematic demonstrating how to power the Arduino and the LED's</p>
 
                   
 
                </div>
 
  
 
         </div>        <!-- end services-list -->
 
         </div>        <!-- end services-list -->
  
 +
    </section> <!-- end s-services -->
  
  
 
+
  <!-- about
+
      </div>
+
        </div> <!-- end project-desc -->
+
 
+
        <div class="row about-stats stats block-1-4 block-m-1-2 block-mob-full" data-aos="fade-up">
+
               
+
            <div class="col-block stats__col ">
+
                <h5>ROUGHLY</h5>
+
                <div class="stats__count">2</div>
+
                <h5>AMPS ARE PULLED</h5>
+
                <h5>FOR THE WHOLE SYSTEM</h5>
+
            </div>
+
            <div class="col-block stats__col">
+
                <h5>APPROXIMATELY</h5>
+
                <div class="stats__count">70</div>
+
                <h5>KWH OF POWER ANNUALLY</h5>
+
                <h5>USED TO POWER SYSTEM</h5>
+
               
+
            </div>
+
            <div class="col-block stats__col">
+
                <h5>PROVIDES UP TO</h5>
+
                <div class="stats__count">1700</div>
+
                <h5>LUX OF LIGHT</h5>
+
                <h5>TO GROW SEEDS</h5>
+
            </div>
+
            <div class="col-block stats__col">
+
                <h5>CONTAINS</h5>
+
                <div class="stats__count">120</div>
+
                <h5>INDIVIDUALLY ADDRESSABLE</h5>
+
                <h5>LOW-POWER LED'S</h5>
+
            </div>
+
 
+
        </div> <!-- end about-stats -->
+
 
+
   
+
 
+
    </section> <!-- end s-about -->
+
 
+
 
+
 
================================================== -->
 
================================================== -->
  
 
+
  <section id='Storage' class="s-services">
  <section id='Control' class="s-services">
+
 
  
 
         <div class="row section-header has-bottom-sep" data-aos="fade-up">
 
         <div class="row section-header has-bottom-sep" data-aos="fade-up">
 
                 <div class="col-full">
 
                 <div class="col-full">
 
                             <h3 class="subhead"></h3>
 
                             <h3 class="subhead"></h3>
                 <h1 class="display-1">Data Storage</h1>
+
                 <h2 class="display-1">Data Storage</h2>
 
             </div>
 
             </div>
 
         </div> <!-- end section-header -->
 
         </div> <!-- end section-header -->
Line 155: Line 87:
 
                 <div class="col-full">
 
                 <div class="col-full">
  
                   
+
  <p class="about-para">In order to store data from the system the Arduino needs a host shield. The ‘Mini Micro 3.3V’ would be suitable and there are plenty of forums online detailing the application of this device. [1] </p>
                    <p style="font-size:100%">There was a number of ideas on how to control the day and night cycle (16-8 hours), one method would break the circuit from the ‘Vdd’ line (power line). We decided to pursue this method as we were under the impression this would reduce the power consumption when the night cycle was in effect.  </p>
+
                    <p style="font-size:100%">In order to break the power line needs to be two pin outs, pin 11 for the data line and 12 for the switching circuit. 11 determines the light intensity and function of the lights. After a 16 hour cycle pin 12 is written to ‘LOW’ (logic zero), which turns the N channel power MOSFET off for 6 hours. This sequence repeats every day. The code can be seen in <body link="vlue"><a href="https://2018.igem.org/Team:Newcastle/Code">here.</a></p></body>
+
                    <p style="font-size:100%">There was some issues when implementing this design. Which appeared to be caused by the Arduinos pin out voltage, 3.3V. Going of the MOSFET’s data sheet the threshold is between 1-2V [1]. Therefor for our purpose it should be adequate however the voltage at the source (MOSFET) was measured to be 3V, the LED’s need at least 4.2V.</p>
+
                  <p style="font-size:100%">Meaning we had to go back to the drawing board secondly, we looked at using a NAND gate. There is a truth table included to describe the function.</p>
+
  
                <p style="font-size:100%">Highlighted in red is the two functions we are interested in. Since ‘Vdd’ will always be read as ‘high’, 5V. We can eliminate the first two states and ‘Vdd’ making the logic straightforward. The basic operation is inverting P12 logic. This method worked in theory however in practice the LED’s demanded too much current up to 2A, leading the gate to heat up to an unsustainable level. Thirdly we attempted to implement a relay switch however this was also limited on current.
 
Finally, we discovered we can achieve the desired result through the code. Changing the brightness from a defined integer, to an 8 bit integer allowing a range between 0-255. Setting the brightness to ‘0’ would turn the LED’s off.</p>
 
  
                </div>
+
              <p class="about-para">With a memory stick attached, the system can record the data every hour. Later this can be downloaded onto a laptop and plotted to show if there are any fluctuations. Unfortunately, this means we have to upgrade the Arduino model, so we have enough memory to store the code for the extra sensors and the USB stick. There are a number of models that have more storage, Arduino Due has 512 KB flash memory and 96 KB SRAM. This is more than enough for our project.</p>
            </div>
+
  
        <div class="row services-list block-1-2 block-tab-full">
 
  
            <div class="col-block service-item" data-aos="fade-up">
 
                <div class="service-icon">
 
                    <i class="icon-paint-brush"></i>
 
                </div>
 
                <div class="service-text">
 
                    <img src="https://static.igem.org/mediawiki/2018/b/ba/T--Newcastle--WC230718.png">
 
                    <p style="text-align:center"><br>The engineers, hard at work trying to troubleshoot issues with the system.</p>
 
                   
 
 
                      
 
                      
 
                 </div>
 
                 </div>
 
             </div>
 
             </div>
  
            <div class="col-block service-item" data-aos="fade-up">
+
        </div>        <!-- end services-list -->
                 <div class="service-icon">
+
 
                    <i class="icon-paint-brush"></i>
+
    </section> <!-- end s-services -->
                </div>
+
 
                <div class="service-text">
+
 
                    <img src="https://static.igem.org/mediawiki/2018/thumb/e/e5/T--Newcastle--Hydroponicssystem.jpeg/800px-T--Newcastle--Hydroponicssystem.jpeg">
+
<!-- PI's
                    <p style="text-align:center"><br>The finished product, set to a rainbow function that cycles through various wavelengths of light</p>
+
    ================================================== -->   
                   
+
    <section id='team' class="s-services">
                   
+
 
                </div>
+
 
 +
        <div class="row section-header has-bottom-sep" data-aos="fade-up">
 +
                 <div class="col-full">
 +
                            <br>
 +
<br>
 +
<br>
 +
<br>
 +
<h3 class="subhead"></h3>
 +
                <h1 class="display-2">References & Attributions</h1>
 
             </div>
 
             </div>
  
         </div>       <!-- end services-list -->
+
         </div>
 +
       
  
    </section> <!-- end s-services -->
+
<button class="collapsible">Click for References & Attributions</button>
<!-- Java Script
+
<div class="content">
 +
              <div class="row about-desc" data-aos="fade-up">
 +
                <div class="col-full">
 +
<p class="about-para"><font size="3"><b>Attributions: Luke Waller, Umar Farooq</b></p>
 +
 
 +
<p class="about-para"><font size="3"><b>1.</b> Ardiuno, 23 Aug 2008; 'https://store.arduino.cc/arduino-pro-mini'</font></p>
 +
 
 +
                   
 +
 
 +
</div>
 +
</section>
 +
 
 +
 
 +
    <!-- Java Script
 
     ================================================== -->
 
     ================================================== -->
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSjquery?
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSjquery?
Line 203: Line 141:
 
     action=raw&ctype=text/javascript"></script>     
 
     action=raw&ctype=text/javascript"></script>     
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSmain?
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSmain?
     action=raw&ctype=text/javascript"></script>   
+
     action=raw&ctype=text/javascript"></script>  
 +
    <script>
 +
var coll = document.getElementsByClassName("collapsible");
 +
var i;
 +
 
 +
for (i = 0; i < coll.length; i++) {
 +
  coll[i].addEventListener("click", function() {
 +
    this.classList.toggle("active");
 +
    var content = this.nextElementSibling;
 +
    if (content.style.maxHeight){
 +
      content.style.maxHeight = null;
 +
    } else {
 +
      content.style.maxHeight = content.scrollHeight + "px";
 +
    }
 +
  });
 +
}
 +
</script>
 +
 
 +
<script>
 +
var slideIndex = 1;
 +
showSlides(slideIndex);
 +
 
 +
function plusSlides(n) {
 +
  showSlides(slideIndex += n);
 +
}
 +
 
 +
function currentSlide(n) {
 +
  showSlides(slideIndex = n);
 +
}
 +
 
 +
function showSlides(n) {
 +
  var i;
 +
  var slides = document.getElementsByClassName("mySlides");
 +
  var dots = document.getElementsByClassName("dot");
 +
  if (n > slides.length) {slideIndex = 1;}   
 +
  if (n < 1) {slideIndex = slides.length;}
 +
  for (i = 0; i < slides.length; i++) {
 +
      slides[i].style.display = "none";  
 +
  }
 +
  for (i = 0; i < dots.length; i++) {
 +
      dots[i].className = dots[i].className.replace(" active", "");
 +
  }
 +
  slides[slideIndex-1].style.display = "block"; 
 +
  dots[slideIndex-1].className += " active";
 +
}
 +
</script>
  
 +
</body>
  
 
</html>
 
</html>
 
{{Newcastle/footer}}
 
{{Newcastle/footer}}

Latest revision as of 22:52, 17 October 2018

Alternative Roots/Developments

Alternative Roots

Future Developments

Sensors

Adding multiple sensors is a good way to collect a range of data for analytical purposes, such as; humidity, temperature, CO2, PH level sensors. This also allows for greater control over the subject plant, in our case Arabidopsis. However, this would lead into a problem with memory. Currently the system is run by an Arduino Uno which has Flash Memory 32 KB of which 0.5 KB is used by; bootloader, SRAM 2 KB, EEPROM 1 KB. With the Lux sensor, 80 % of the flash memory is already taken.

Data Storage

In order to store data from the system the Arduino needs a host shield. The ‘Mini Micro 3.3V’ would be suitable and there are plenty of forums online detailing the application of this device. [1]

With a memory stick attached, the system can record the data every hour. Later this can be downloaded onto a laptop and plotted to show if there are any fluctuations. Unfortunately, this means we have to upgrade the Arduino model, so we have enough memory to store the code for the extra sensors and the USB stick. There are a number of models that have more storage, Arduino Due has 512 KB flash memory and 96 KB SRAM. This is more than enough for our project.





References & Attributions

Attributions: Luke Waller, Umar Farooq

1. Ardiuno, 23 Aug 2008; 'https://store.arduino.cc/arduino-pro-mini'