GithubHelp home page GithubHelp logo

kamadotanjiro-beep / smart-aquarium-v3.0 Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 1.0 143 KB

V3.0 - Using NodeMCU ESP8266 for controlling switches (Relay). Uses RTC (Real Time Clock - DS3231) and NTP (Network Time Protocol) for maintaining time. OLED Display (128x64) for instant updates. A webserver for Manual Controls. Vast application including Aquariums and IOT related.

License: MIT License

C++ 100.00%
aquarium-automation aquarium-controller arduino ds3231-arduino esp-now esp8266-arduino modern-ui nodemcu-esp8266 oled-display-ssd1306 ota-firmware-updates

smart-aquarium-v3.0's Introduction

Aquarium Automation using NodeMCU ESP-12E V3.0

Disclaimer: I take absolutely no responsibility for any accidents that may happen due to the use of this code. Use it with your own risk. If you are a minor work under proper supervision. HIGH VOLTAGE electricity involved!! Proceed with extreme caution.

What's New?

  • Completely New WebServer UI
  • Uses new Asynchronous Webserver
  • Real time page update using JS XMLHTTPREQUEST
  • Uses ESP-NOW to broadcast time to other ESPs without dedicated RTC modules
  • Better organised code
  • 4 Modes: Auto, Power Saver, Timer, Manual
  • Displays current status of relay on webserver using intuitive font
  • Now using Solid State Relays over Mechanical one
  • Just make the circuit as mentioned below and upload the code (You may want to check gateway address)

Also, this code needs some optimisations, so, if you have updated something and it works better than mine, then please let me know.

Using NodeMCU for aquarium lights, filter, skimmer, power head/wavemaker control with OTA updates, timers, auto time update, visual feedbacks and WiFi signal level icons.

##It works as "smart switches" which turns something on or off automatically (by time or manually). This can be applied to varied of things and can be expanded as automatic dosers, automatic water changes, etc (limited by your imagination).

Libraries (Specific few)

  1. For DS3231 Library use https://github.com/NorthernWidget/DS3231
  2. https://github.com/arduino-libraries/NTPClient

Rest of the libraries can be downloaded within Arduino IDE Libraries Manager, and some of them are already included (within Arduino). Please google for "how-to" if you cannot figure it.

Please add http://arduino.esp8266.com/stable/package_esp8266com_index.json in File --> Preferences --> Additional Boards Manager URLs to get support for all ESP Boards.

Upcoming features or changes

Check issues

Pin Configuration:

DS3231 and 128x64 OLED using I2C and are connected to

NodeMCU --> Device
D1 --> SCL
D2 --> SDA
3.3 --> VCC
G --> GND

Yes, connect both the I2C devices to the same pin (purpose of I2C). If you are facing I2C device address related issues then please Google it. It is very common and very easy to fix. You just need to adjust one or two resistor value.

For the 4 Channel relay board

NodeMCU --> Device
D3 --> In1
D5 --> In2
D6 --> In3
D7 --> In4

For GND and VCC, use appropriate separate power supply (don't take power from NodeMCU, may burn). If you are using separate powersupplies for NodeMCU and Relay, then make sure to connect both the GNDs of Node and Powersupply together, else the relay module won't work. If confused, take help from google or contact me.

MAIN Parts:

Use electrical switches in series with the relay for more control.


Relay Board


4 Channel 5V Relay Module Solid State High-Level SSR DC Control 250V 2A with Resistive Fuse

DS3231
DS3231 AT24C32 IIC Precision RTC

NodeMCU
NodeMCU-ESP8266 Development Board ESP12E

OLED
1.3 Inch I2C IIC 128x64 OLED Display Module 4 Pin - White

Other parts as required

WEB SERVER

OLED

smart-aquarium-v3.0's People

Contributors

kamadotanjiro-beep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

anshuk07

smart-aquarium-v3.0's Issues

More customizations

  • More customizations in Web UI like Updateable timings.
  • Independent component updates; which does not obstructs user interactions

Add light control

  • Adding support for pwm based light brightness control
  • Transitioning light brightness according to the time (for auto control)
  • Option for manual control of light brightness

Add last state saving

  • add saving of various status or settings info in EEPROM and loading the values at startup

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.