I have a rather ambitious project in the works that aims to control, at a minimum, the temperature and humidity inside a 20 gallon vivarium that will be housing poison dart frogs.
My thoughts were to use an Arduino for sensor reading and control of relays, transistors (both for on/off switching and for PWM in the case of fans and lights), and the Raspberry Pi for higher level operations like remote access/monitoring and special functions (thunderstorms).
Sensors:
- 2 x DHT22 for temperature and humidity (in tank and in room)
Controllables:
- LED lighting (3W LEDs, no more than 50, will likely be split into strings and groups for more precise control of the lighting.)
- Vent Fans (PWM enabled CPU fans)
- Humidifier (relay)
- Feeding system (servo, only for vacations)
- *Misters
- *Cooling
* planned in the future
I would really like to use both a Raspberry Pi and an Arduino on this project because I have both already and they don't get used nearly as much as they should. The Arduino would be slaved to the Raspberry Pi through an I2c connection. Then, the Raspberry Pi could be used to set the temperature and humidity set points (e.g. remotely through SSH), log data, send notifications (emergencies), and do more creative things like trigger thunderstorms (which would involve the Pi's audio out port) and check the moon phase and adjust the moon lighting accordingly.
However, the slave half, the Arduino, will also be standalone allowing the Pi to be disconnected at times.
Since I'll be controlling many things with a single Arduino, I am thinking it would be best to use shift registers for certain things like the lighting. That way I could still maintain precise control over the lighting from a single pin.
My question isn't very specific but more general. Am I in over my head? Are these tools appropriate for this project? For things like the LEDs and the fans that can be controlled with PWM, bit banging isn't an option when there is so much other stuff going on, is it? Would hardware PWM be preferred (I believe the Arduino Leonardo I am using has several PWM pins)?
http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
That was long winded and a bit confusing, but thanks for reading anyway!
My thoughts were to use an Arduino for sensor reading and control of relays, transistors (both for on/off switching and for PWM in the case of fans and lights), and the Raspberry Pi for higher level operations like remote access/monitoring and special functions (thunderstorms).
Sensors:
- 2 x DHT22 for temperature and humidity (in tank and in room)
Controllables:
- LED lighting (3W LEDs, no more than 50, will likely be split into strings and groups for more precise control of the lighting.)
- Vent Fans (PWM enabled CPU fans)
- Humidifier (relay)
- Feeding system (servo, only for vacations)
- *Misters
- *Cooling
* planned in the future
I would really like to use both a Raspberry Pi and an Arduino on this project because I have both already and they don't get used nearly as much as they should. The Arduino would be slaved to the Raspberry Pi through an I2c connection. Then, the Raspberry Pi could be used to set the temperature and humidity set points (e.g. remotely through SSH), log data, send notifications (emergencies), and do more creative things like trigger thunderstorms (which would involve the Pi's audio out port) and check the moon phase and adjust the moon lighting accordingly.
However, the slave half, the Arduino, will also be standalone allowing the Pi to be disconnected at times.
Since I'll be controlling many things with a single Arduino, I am thinking it would be best to use shift registers for certain things like the lighting. That way I could still maintain precise control over the lighting from a single pin.
My question isn't very specific but more general. Am I in over my head? Are these tools appropriate for this project? For things like the LEDs and the fans that can be controlled with PWM, bit banging isn't an option when there is so much other stuff going on, is it? Would hardware PWM be preferred (I believe the Arduino Leonardo I am using has several PWM pins)?
http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM
That was long winded and a bit confusing, but thanks for reading anyway!