Line 61: | Line 61: | ||
<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"> | + | <p class="about-para">Adding multiple sensors is a good way to collect a range of data for analysis purposes. Such as; Humidity, temperature, CO^2, PH level sensors. Which would allow for a greater control over the subject plant, in our case Arabidopsis. Which however would lead into a problem with memory. Currently the system is run by a Arduino Uno which has Flash Memory 32 KB of which 0.5 KB used by, bootloader, SRAM 2 KB, EEPROM 1 KB. With the Lux sensor 80% of the flash memory is already taken. </p> |
− | + | ||
<div class="row services-list block-1-3 block-tab-full"> | <div class="row services-list block-1-3 block-tab-full"> |
Revision as of 15:13, 14 September 2018
Sensors
Adding multiple sensors is a good way to collect a range of data for analysis purposes. Such as; Humidity, temperature, CO^2, PH level sensors. Which would allow for a greater control over the subject plant, in our case Arabidopsis. Which however would lead into a problem with memory. Currently the system is run by a Arduino Uno which has Flash Memory 32 KB of which 0.5 KB used by, bootloader, SRAM 2 KB, EEPROM 1 KB. With the Lux sensor 80% of the flash memory is already taken.
Figure 1.0; Schematic of a standard USB cable.
Figure 1.1; Above is 4 exposed wires. Red is power, black is ground, and the white and green wires are the data lines.
Figure 1.2; Schematic demonstrating how to power the Arduino and the LED's
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 SEEDS
CONTAINS
INDIVIDUALLY ADDRESSABLE
LOW-POWER LED'S
Data Storage
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.
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
here.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.
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.
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.
The engineers, hard at work trying to troubleshoot issues with the system.
The finished product, set to a rainbow function that cycles through various wavelengths of light