(75 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Newcastle/ | + | {{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/ | + | <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="# | + | <a href="#powering" class="smoothscroll btn btn--stroke"> |
− | + | Power | |
</a> | </a> | ||
− | <a href="# | + | <a href="#control" class="smoothscroll btn btn--stroke"> |
− | + | Control | |
+ | </a> | ||
+ | <a href="#LED_wiring" class="smoothscroll btn btn--stroke"> | ||
+ | LED wiring | ||
</a> | </a> | ||
</div> | </div> | ||
Line 47: | Line 50: | ||
</div> | </div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</div> <!-- end home-content --> | </div> <!-- end home-content --> | ||
Line 61: | Line 57: | ||
================================================== --> | ================================================== --> | ||
− | <section id=' | + | <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"> | ||
− | |||
− | |||
− | |||
− | |||
− | <div class="row services-list block block-tab-full"> | + | |
+ | <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> | ||
+ | |||
+ | <div class="row services-list block-1-3 block-tab-full"> | ||
<div class="col-block service-item" data-aos="fade-up"> | <div class="col-block service-item" data-aos="fade-up"> | ||
Line 84: | Line 87: | ||
</div> | </div> | ||
<div class="service-text"> | <div class="service-text"> | ||
− | <img src="https://static.igem.org/mediawiki/2018/a/a5/T--Newcastle--usb_schematic2.png"> | + | <img src="https://static.igem.org/mediawiki/2018/a/a5/T--Newcastle--usb_schematic2.png" style="width:100%"> |
− | <p style="text-align:center"><br> | + | <p style="text-align:center"><br>Figure 1A. Schematic of a standard USB cable [1].</p> |
− | + | ||
− | + | ||
</div> | </div> | ||
</div> | </div> | ||
Line 96: | Line 97: | ||
</div> | </div> | ||
<div class="service-text"> | <div class="service-text"> | ||
− | <img src="https://static.igem.org/mediawiki/2018/8/8e/T--Newcastle--wire.png"> | + | <img src="https://static.igem.org/mediawiki/2018/8/8e/T--Newcastle--wire.png" style="width:100%"> |
− | <p style="text-align:center"><br> | + | <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 107: | Line 107: | ||
</div> | </div> | ||
<div class="service-text"> | <div class="service-text"> | ||
− | <img src="https://static.igem.org/mediawiki/2018/1/1d/T--Newcastle--arduino.png"> | + | <img src="https://static.igem.org/mediawiki/2018/1/1d/T--Newcastle--arduino.png" style="width:100%"> |
− | <p style="text-align:center"><br> | + | <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 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 140: | 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 | + | <h5>TO GROW SEEDLINGS</h5> |
</div> | </div> | ||
<div class="col-block stats__col"> | <div class="col-block stats__col"> | ||
Line 146: | 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 | + | <h5>LOW-POWER LEDS</h5> |
</div> | </div> | ||
</div> <!-- end about-stats --> | </div> <!-- end about-stats --> | ||
− | + | ||
</section> <!-- end s-about --> | </section> <!-- end s-about --> | ||
Line 159: | Line 152: | ||
− | <section id=' | + | <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 172: | Line 165: | ||
− | + | <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 | + | <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%"> | + | <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%"> | + | <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 218: | Line 211: | ||
</tr> | </tr> | ||
</table> | </table> | ||
− | <p style="font-size:100%">Highlighted in red | + | <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> |
− | + | ||
</div> | </div> | ||
Line 232: | 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 244: | 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 256: | Line 249: | ||
================================================== --> | ================================================== --> | ||
− | <section id=' | + | <section id='LED_wiring' class="s-works"> |
<div class="intro-wrap"> | <div class="intro-wrap"> | ||
Line 264: | 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> | ||
− | + | ||
− | + | <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> | |
− | < | + | |
− | + | ||
<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 --> | ||
− | |||
− | |||
+ | <!-- PI's | ||
+ | ================================================== --> | ||
+ | <section id='team' class="s-services"> | ||
− | + | <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 284: | 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
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
AMPS ARE PULLED
FOR THE WHOLE SYSTEM
APPROXIMATELY
KWH OF POWER ANNUALLY
USED TO POWER SYSTEM
PROVIDES UP TO
LUX OF LIGHT
TO GROW SEEDLINGS
CONTAINS
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'