/aquarium_care_by_arduino

Arduino Project to take care of my aquarium automating lights, fans, feeding, ....

Primary LanguageC++The UnlicenseUnlicense

* My Aquarium Lights and Monitoring System
** Introduction
** Hardware
*** Led Lamp
- Leds
- Relay
- Constant current power
*** Sensors
- Temperature
- TDS
- pH
*** Others
- Watch
** Software
*** Architecture
I am using the Arduino Logic for all my classes. I mean, they have a
constructor, destructor and a setup and loop methods at the minimum.

I am also following the logic for actuators and sensors. I treat them that
way.

I believe the more dificult part is the LCD and the Rotary Encoder (..and
		switch button). For that I am using the "State" Pattern as described in:
https://en.wikipedia.org/wiki/State_pattern.
Implemented as follows:

- //Context// is implemented in the //Interfaze// class
- //State//  is implemented in the //Screen// class
- //Concrete States// are implemented in //Screen[0-N]// classes

*** PlatformIO Libraries used
- Button:
- http://platformio.org/lib/show/1260/OneButton
- LiquidCrystal_I2C:
- http://platformio.org/lib/show/576/LiquidCrystal_I2C
- Temperatura
- http://platformio.org/lib/show/54/ds18b20
- Time
- http://platformio.org/lib/show/44/Time
- http://platformio.org/lib/show/68/TimeAlarms
- http://platformio.org/lib/show/421/DS1307RTC