Hello from the Netherlands!
I apologize in advance for my ignorance; I know very little about electronics and programming. But I am eager to learn, and the Arduino seems a great thing to start with!
Anyway, I am in the process of building a controlled environment to experiment with growing strawberries. More particularly, I want to experiment with 5mm LEDs as growlights, and the effect of different wavelengths on the plant and fruit. For this purpose, I will construct two grow rooms, each with their own lighting and temperature control.
This is not a school project, and no, even though I'm from the Netherlands, I will not use this to grow weed. I don't smoke or do drugs and even if I did it would be much cheaper to just buy the stuff! :P
Anyway, I will start with one growlight, with about 500 LEDs in 8 different colours (50 blue, 50 royal blue, 50 green, 50 yellow, 50 orange, 150 red, 50 deep red, 50 far red). I would like to independently drive the different colours with an Arduino. If it works well, I will build the second (probably identical) light and upgrade the Arduino for extra outputs, possibly an LCD, etc.
I think I'll use one pin from an Arduino per array of one colour, using a transistor per ~50 LEDs (three transistors for the red LEDs on one pin). Each array of ~50 LEDs is hooked up series/parallel using the LED wizard from http://led.linear1.org/led.wiz for help.
I could use the Arduino's PWM pins to dim some of the channels. I'm not sure if it's possible to create a similar signal on the non-PWM digital pins but I would like to dim them in a similar manner.
Also, I would like to control the temperature in the growing environment using a simple temperature sensor or thermistor and one or more 12V computer fans.
If I can get the first light and the temperature control to work well, I would like to expand the system to a second 'chamber'; hooking up an additional ~8 channels of LEDs, another temperature sensor and some fans.
I hope to power the system from 12V DC. I'm not sure if it's easy to implement, but it would be nice if I could read out the amount of current going in.
I've read on this forum that it is possible to interface the Arduino with an SD card to store data. I am very much interested in this idea, because it would allow me to log the temperatures and the current used, without the need for an external computer being on all the time. However, this takes up 4 of the Arduino outputs (2 PWM).
I've also seen Arduino's hooked up to an LCD display. Together with a couple of buttons or potentiometers, this would allow me to monitor and control important aspects of the environment without having to interface with a computer and reset the Arduino. Is it possible to use the LCD and buttons from Nuelectronics' LCD Keypad for this? If I get that shield, that would take up port 4-9, and together with the SD card interface it would leave only 2 digital pins and the analog inputs. So if I want the LCD and SD card, I'll have to get a second chip to get enough digital outputs for the LEDs. I'll start out with one light and one Arduino, and if I can get that to work well I'll start adding things.
For the final thing, I'm thinking about the following layout: Bottom: Arduino/Freeduino board (master, powering LCD and SD) Middle: Protoshield(s?) with additional Atmega168 (slave, powering LEDs and fans) and a cable for an SD card Top: LCD shield
Inputs: Temperature sensors: 2x Buttons or potentiometers: 6x Current sensor?: 1x
Outputs: LEDs: 16x (dimmable, preferably PWM, 50-150 LEDs per channel) LCD display: Pin 4-9 SD card interface: Pin 10-13 Fans: 2-6x
I have a couple of questions, though. 1. Is it possible to read out the current supplied to the system, and does the fact that much of the load is PWM make this difficult? 2. Is it possible to dim the LEDs on non-PWM pins with a PWM-like signal? 3. Is the Arduino powerful enough to monitor sensors and buttons every second or so, send instructions to another chip (to control the LEDs), react to the data and log the it to an SD card, and also put out some of the data to an LCD? 4. Would the code for all that fit in the internal memory; ie is it a good idea to get an Atmega328 chip as master instead of an Atmega168?
In any case, this is a pretty ambitious project for somebody without any experience in electronics, but I am really looking forward to it! Thanks in advance for any help, and thanks for sharing so much valuable information on this forum (I've spent a couple of hours reading here already)! :)