Difference between revisions of "Team:Newcastle/Circuitry"

 
(64 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Newcastle/navbar}}
+
{{Newcastle/navbar2}}
 
<html>
 
<html>
  
Line 20: Line 20:
 
     <!-- home
 
     <!-- home
 
     ================================================== -->
 
     ================================================== -->
     <section id="home" class="s-home target-section" data-parallax="scroll" data-image-src="https://static.igem.org/mediawiki/2018/thumb/0/06/T--Newcastle--Hardware11.jpg/800px-T--Newcastle--Hardware11.jpg" data-natural-width=3000 data-natural-height=2000 data-position-y=center>
+
     <section id="home" class="s-home target-section" data-parallax="scroll" data-image-src="https://static.igem.org/mediawiki/2018/b/ba/T--Newcastle--WC230718.png">
  
 
         <div class="overlay"></div>
 
         <div class="overlay"></div>
Line 37: Line 37:
  
 
                 <div class="home-content__buttons">
 
                 <div class="home-content__buttons">
                     <a href="#design" class="smoothscroll btn btn--stroke">
+
                     <a href="#powering" class="smoothscroll btn btn--stroke">
                         Guide
+
                         Power
 
                     </a>
 
                     </a>
                     <a href="#gallery" class="smoothscroll btn btn--stroke">
+
                     <a href="#control" class="smoothscroll btn btn--stroke">
                         Gallery
+
                         Control
 +
                    </a>
 +
                    <a href="#LED_wiring" class="smoothscroll btn btn--stroke">
 +
                        LED wiring
 
                     </a>
 
                     </a>
 
                 </div>
 
                 </div>
Line 47: Line 50:
 
             </div>
 
             </div>
  
            <div class="home-content__scroll">
 
                <a href="#design" class="scroll-link smoothscroll">
 
                    <span>Scroll Down</span>
 
                </a>
 
            </div>
 
 
            <div class="home-content__line"></div>
 
  
 
         </div> <!-- end home-content -->
 
         </div> <!-- end home-content -->
Line 61: Line 57:
 
================================================== -->
 
================================================== -->
  
     <section id='Powering' class="s-about">
+
     <section id='powering' class="s-about">
  
 
         <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 subhead--dark">Stage One</h3>
 
                 <h3 class="subhead subhead--dark">Stage One</h3>
                 <h1 class="display-1 display-1--light">Powering</h1>
+
                 <h1 class="display-1 display-1--light"><font color="Black">Powering</font></h1>
 
             </div>
 
             </div>
 
         </div> <!-- end section-header -->
 
         </div> <!-- end section-header -->
Line 72: Line 68:
 
         <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">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. </p>
 
  
 +
 +
                <p class="about-para">When creating an electrical circuit there needs to be a decision made for as to how this system is powered. There are two options available: mains (AC), or battery (DC). To increase the flexibility of the system it was designed to be able to use both power sources; however, we recommend the use of mains power due to the limited capacity of batteries. The Arduino and LED lights draw a constant 5 V, therefore the system requires at least four 1.5 V AA batteries, giving a nominal 6 V. To protect the circuit this would require a voltage regulator, which can overheat with a sustained 1.5 A current drawn for the LEDs.  Given the constant drain on the batteries, the system does not perform well when the supply voltage drops below 3.5 V. To address this problem, we adapted a regular USB phone charger, which safely steps down mains to 5 V. We do not recommend building your own version of this!<p>
 +
 +
<p class="about-para">In a phone charger cable there are usually four wires; live (Vdd), ground (GND), and two data lines (-D, +D). The latter two are not necessary for our application due to their voltage rating, shown in Figure 1A (2.76V, 2.06V). Therefore, these wires can be either trimmed shorter than Vdd and GND or taped up, to avoid a short circuit in the system. For the example shown in Figure 1B; red is power, black is ground, white and green wires are the data lines, however it is good practice to confirm this is by checking the voltage from Vdd, D+ or D- to ground with a multi-meter.</p>
 +
 +
                <p class="about-para">When powering the Arduino, a capacitor is needed in parallel to protect it from surges in voltage, which could otherwise damage it. In order to protect the LED lights, there needs to be small 330 Ω resistor on the data line. A circuit diagram can be found in Figure 1C, which details the correct set up.</p>
 +
 +
                    <p class="about-para">The LEDs used also took a 5V DC power supply, which was one of the justifications for using this particular product, as it means that they can be powered from the same source as the Arduino.</p>
 +
</div>
 +
</div>
  
                <p class="about-para">When powering the Arduino a capacitor is needed in parallel, this protects it from surges in voltage which could otherwise damage it. In order to protect the LED lights there needs to be small 330Ω on the data line. A circuit diagram can be found in Figure 1.2, which details the correct set up.</p>
 
 
       <div class="row services-list block-1-3 block-tab-full">
 
       <div class="row services-list block-1-3 block-tab-full">
  
Line 85: Line 88:
 
                 <div class="service-text">
 
                 <div class="service-text">
 
                     <img src="https://static.igem.org/mediawiki/2018/a/a5/T--Newcastle--usb_schematic2.png" style="width:100%">
 
                     <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>
+
                     <p style="text-align:center"><br>Figure 1A. Schematic of a standard USB cable [1].</p>
 
                 </div>
 
                 </div>
 
             </div>
 
             </div>
Line 95: Line 98:
 
                 <div class="service-text">
 
                 <div class="service-text">
 
                     <img src="https://static.igem.org/mediawiki/2018/8/8e/T--Newcastle--wire.png" style="width:100%">
 
                     <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>   
+
                     <p style="text-align:center"><br>Figure 1B. Above is 4 exposed wires. Red is power, black is ground,white and green are the data lines [1].</p>   
 
                      
 
                      
 
                 </div>
 
                 </div>
Line 105: Line 108:
 
                 <div class="service-text">
 
                 <div class="service-text">
 
                     <img src="https://static.igem.org/mediawiki/2018/1/1d/T--Newcastle--arduino.png" style="width:100%">
 
                     <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>
+
                     <p style="text-align:center"><br>Figure 1C. Schematic demonstrating how to power the Arduino and the LED's, made on fritzing [2].</p>
 
                      
 
                      
 
                 </div>
 
                 </div>
 
+
            </div>
 
         </div>        <!-- end services-list -->
 
         </div>        <!-- end services-list -->
 
 
 
 
 
      </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="row about-stats stats block-1-4 block-m-1-2 block-mob-full" data-aos="fade-up">
Line 137: Line 133:
 
                 <div class="stats__count">1700</div>
 
                 <div class="stats__count">1700</div>
 
                 <h5>LUX OF LIGHT</h5>
 
                 <h5>LUX OF LIGHT</h5>
                 <h5>TO GROW SEEDS</h5>
+
                 <h5>TO GROW SEEDLINGS</h5>
 
             </div>
 
             </div>
 
             <div class="col-block stats__col">
 
             <div class="col-block stats__col">
Line 143: Line 139:
 
                 <div class="stats__count">120</div>
 
                 <div class="stats__count">120</div>
 
                 <h5>INDIVIDUALLY ADDRESSABLE</h5>
 
                 <h5>INDIVIDUALLY ADDRESSABLE</h5>
                 <h5>LOW-POWER LED'S</h5>
+
                 <h5>LOW-POWER LEDS</h5>
 
             </div>
 
             </div>
  
 
         </div> <!-- end about-stats -->
 
         </div> <!-- end about-stats -->
  
        <div class="about__line"></div>
+
   
  
 
     </section> <!-- end s-about -->
 
     </section> <!-- end s-about -->
Line 156: Line 152:
  
  
  <section id='Control' 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">
Line 169: Line 165:
  
 
                      
 
                      
                    <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%">Stage two of the build was to be able to control the day and night cycle (16-8 hours) to allow proper plant growth. One method to implement this would be to break the circuit from the ‘Vdd’ line (power line). We decided to pursue this method as it 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 <a href="https://2018.igem.org/Team:Newcastle/Code">here.</a></p>
+
                     <p style="font-size:100%">In order to break the power line there 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 a N channel power MOSFET off for 6 hours. This sequence would repeat every day.
                     <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%">We encountered  some issues when implementing this design, which appeared to be caused by the Arduino’s pin out voltage of 3.3V. Despite the MOSFET’s threshold voltage being between 1-2V [3], it should be adequate. However, the voltage at the source (MOSFET output) was measured to be 3V, and the LEDs 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%">This meant that we had to go back to the drawing board. Our second iteration was based on a NAND gate; the truth table shown below illustrates the function of the gate.</p>
  
 
<head>
 
<head>
Line 215: Line 211:
 
   </tr>
 
   </tr>
 
</table>
 
</table>
                 <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.  
+
                 <p style="font-size:100%">Highlighted in red are the two functions we are interested in. Since ‘Vdd’ will always be read as ‘high’, 5V, we can eliminate the first two states. The basic operation is inverting P12 logic. When implemented in our device, the logic worked as predicted; however, the 2A current demand of the LEDs caused the gate to heat up and become unstable in its operation. Iteration three involved the implementation of a relay switch; however, this was also limited in terms of the current drawn and overheated. In our final iteration we discovered we could 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 LEDs off. The code can be seen<body link="blue"><a href="https://2018.igem.org/Team:Newcastle/Software/NH1" class="black"> here.</a></p></body>
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>
 
                 </div>
Line 229: Line 225:
 
                 <div class="service-text">
 
                 <div class="service-text">
 
                     <img src="https://static.igem.org/mediawiki/2018/b/ba/T--Newcastle--WC230718.png">
 
                     <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>
+
                     <p style="text-align:center"><br>Figure 2A. The engineers, hard at work trying to troubleshoot issues with the system.</p>
 
                      
 
                      
 
                      
 
                      
Line 241: Line 237:
 
                 <div class="service-text">
 
                 <div class="service-text">
 
                     <img src="https://static.igem.org/mediawiki/2018/thumb/e/e5/T--Newcastle--Hydroponicssystem.jpeg/800px-T--Newcastle--Hydroponicssystem.jpeg">
 
                     <img src="https://static.igem.org/mediawiki/2018/thumb/e/e5/T--Newcastle--Hydroponicssystem.jpeg/800px-T--Newcastle--Hydroponicssystem.jpeg">
                     <p style="text-align:center"><br>The finished product, set to a rainbow function that cycles through various wavelengths of light</p>
+
                     <p style="text-align:center"><br>Figure 2B. The finished product, set to a rainbow function that cycles through various wavelengths of light</p>
 
                      
 
                      
 
                      
 
                      
Line 253: Line 249:
 
================================================== -->
 
================================================== -->
  
     <section id='LED Wiring' class="s-works">
+
     <section id='LED_wiring' class="s-works">
  
 
         <div class="intro-wrap">
 
         <div class="intro-wrap">
Line 261: Line 257:
 
                     <h3 class="subhead">Stage Three</h3>
 
                     <h3 class="subhead">Stage Three</h3>
 
                     <h1 class="display-2 display-2--light">LED Wiring</h1>
 
                     <h1 class="display-2 display-2--light">LED Wiring</h1>
                    <font size="4" font face="verdana" font color="green">There is 5 LED strips spaced equally across the lid to give a constant light level for the seeds. These strips are electrically connected in parallel to one another, which means they all cycle through the same colours at the same time. In order to allow the lid to be removable I have included a crimp connector housing.
+
 
</font><br><br>
+
                  <p><font size="4" font face="verdana" font color="green">The final device has 5 LED strips spaced equally across the lid to give a constant light level for the seeds. These strips are connected in parallel to one another, which means they are in sync with one another. From the point of view of the LEDs the data line (pin 11) appears the same. In order to allow the lid to be removable we fed the wires through a hole on the side of the lid, which was soldered onto a vero-board where a crimp housing was connected. Allowing us to unplug the lid and remove it when the hydroponic solution was added. This reduces the potential for water damage to the lid. As an extra precaution, we insulated the exposed metal contacts on the LEDs and vero-boards, with a hot glue gun which also adds structural security.</font></p>
                    <font size="4" font face="verdana" font color="green">The LED’s used took a 5V DC power supply, meaning they can be powered from the same source as the Arduino’s.
+
 
<br><br>
+
</font>
+
 
<img src="https://static.igem.org/mediawiki/2018/thumb/4/4f/T--Newcastle--Hardware14.jpg/450px-T--Newcastle--Hardware14.jpg">
 
<img src="https://static.igem.org/mediawiki/2018/thumb/4/4f/T--Newcastle--Hardware14.jpg/450px-T--Newcastle--Hardware14.jpg">
 +
          <p style="text-align:center"><font color="green"><br>Figure 3.0; Image of parallel wiring layout and insulated contacts</p>
 
                 </div>
 
                 </div>
 
             </div> <!-- end section-header -->
 
             </div> <!-- end section-header -->
  
        </div> <!-- end intro-wrap -->
 
    </section> <!-- end s-works -->
 
  
 +
      <!-- PI's
 +
    ================================================== -->   
 +
    <section id='team' class="s-services">
  
  
<!-- Java Script
+
        <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>
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
             
 +
       
 +
 
 +
<button class="collapsible">Click for References & Attributions</button>
 +
<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><font size="3"><b>1.</b> Ada Fruit, "icharging", 5 Aug 2010; 'https://learn.adafruit.com/minty-boost/icharging', 5 Aug 2010.</p>
 +
 
 +
<p><font size="3"><b>2.</b> Arduino Basics; 2 Jul 2015, https://arduinobasics.blogspot.com/2015/07/neopixel-playground.html </p>
 +
 
 +
 
 +
<p><font size="3"><b>3.</b> Rapid; 'https://www.rapidonline.com/pdf/162663_da_en_01.pdf' </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 282: Line 329:
 
     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 00:15, 18 October 2018

Alternative Roots/Circuitry

Alternative Roots

Circuitry

Stage One

Powering

When creating an electrical circuit there needs to be a decision made for as to how this system is powered. There are two options available: mains (AC), or battery (DC). To increase the flexibility of the system it was designed to be able to use both power sources; however, we recommend the use of mains power due to the limited capacity of batteries. The Arduino and LED lights draw a constant 5 V, therefore the system requires at least four 1.5 V AA batteries, giving a nominal 6 V. To protect the circuit this would require a voltage regulator, which can overheat with a sustained 1.5 A current drawn for the LEDs. Given the constant drain on the batteries, the system does not perform well when the supply voltage drops below 3.5 V. To address this problem, we adapted a regular USB phone charger, which safely steps down mains to 5 V. We do not recommend building your own version of this!

In a phone charger cable there are usually four wires; live (Vdd), ground (GND), and two data lines (-D, +D). The latter two are not necessary for our application due to their voltage rating, shown in Figure 1A (2.76V, 2.06V). Therefore, these wires can be either trimmed shorter than Vdd and GND or taped up, to avoid a short circuit in the system. For the example shown in Figure 1B; red is power, black is ground, white and green wires are the data lines, however it is good practice to confirm this is by checking the voltage from Vdd, D+ or D- to ground with a multi-meter.

When powering the Arduino, a capacitor is needed in parallel to protect it from surges in voltage, which could otherwise damage it. In order to protect the LED lights, there needs to be small 330 Ω resistor on the data line. A circuit diagram can be found in Figure 1C, which details the correct set up.

The LEDs used also took a 5V DC power supply, which was one of the justifications for using this particular product, as it means that they can be powered from the same source as the Arduino.


Figure 1A. Schematic of a standard USB cable [1].


Figure 1B. Above is 4 exposed wires. Red is power, black is ground,white and green are the data lines [1].


Figure 1C. Schematic demonstrating how to power the Arduino and the LED's, made on fritzing [2].

ROUGHLY
2
AMPS ARE PULLED
FOR THE WHOLE SYSTEM
APPROXIMATELY
70
KWH OF POWER ANNUALLY
USED TO POWER SYSTEM
PROVIDES UP TO
1700
LUX OF LIGHT
TO GROW SEEDLINGS
CONTAINS
120
INDIVIDUALLY ADDRESSABLE
LOW-POWER LEDS
================================================== -->

Stage Two

Control

Stage two of the build was to be able to control the day and night cycle (16-8 hours) to allow proper plant growth. One method to implement this would be to break the circuit from the ‘Vdd’ line (power line). We decided to pursue this method as it would reduce the power consumption when the night cycle was in effect.

In order to break the power line there 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 a N channel power MOSFET off for 6 hours. This sequence would repeat every day.

We encountered some issues when implementing this design, which appeared to be caused by the Arduino’s pin out voltage of 3.3V. Despite the MOSFET’s threshold voltage being between 1-2V [3], it should be adequate. However, the voltage at the source (MOSFET output) was measured to be 3V, and the LEDs need at least 4.2V.

This meant that we had to go back to the drawing board. Our second iteration was based on a NAND gate; the truth table shown below illustrates the function of the gate.

Vdd Pin 12 Output
0 0 1
0 1 1
1 0 1
1 1 1

Highlighted in red are the two functions we are interested in. Since ‘Vdd’ will always be read as ‘high’, 5V, we can eliminate the first two states. The basic operation is inverting P12 logic. When implemented in our device, the logic worked as predicted; however, the 2A current demand of the LEDs caused the gate to heat up and become unstable in its operation. Iteration three involved the implementation of a relay switch; however, this was also limited in terms of the current drawn and overheated. In our final iteration we discovered we could 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 LEDs off. The code can be seen here.


Figure 2A. The engineers, hard at work trying to troubleshoot issues with the system.


Figure 2B. The finished product, set to a rainbow function that cycles through various wavelengths of light

================================================== -->

Stage Three

LED Wiring

The final device has 5 LED strips spaced equally across the lid to give a constant light level for the seeds. These strips are connected in parallel to one another, which means they are in sync with one another. From the point of view of the LEDs the data line (pin 11) appears the same. In order to allow the lid to be removable we fed the wires through a hole on the side of the lid, which was soldered onto a vero-board where a crimp housing was connected. Allowing us to unplug the lid and remove it when the hydroponic solution was added. This reduces the potential for water damage to the lid. As an extra precaution, we insulated the exposed metal contacts on the LEDs and vero-boards, with a hot glue gun which also adds structural security.


Figure 3.0; Image of parallel wiring layout and insulated contacts





References & Attributions

Attributions: Luke Waller, Umar Farooq

1. Ada Fruit, "icharging", 5 Aug 2010; 'https://learn.adafruit.com/minty-boost/icharging', 5 Aug 2010.

2. Arduino Basics; 2 Jul 2015, https://arduinobasics.blogspot.com/2015/07/neopixel-playground.html

3. Rapid; 'https://www.rapidonline.com/pdf/162663_da_en_01.pdf'