diff --git a/LICENSE.md b/LICENSE.md index e69de29..16adcee 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -0,0 +1,13 @@ +## Power Checker is available under the MIT license + +You can use, distribute, modify it for free. However, the author assumes no responsibility or warranty of any kind. + +
+ +Full text of the licence: + +Copyright (c) 2024 Karel Čermák (info@karlosoft.com) +Permission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE. \ No newline at end of file diff --git a/Model/Model - Fritzing.fzz b/Model/Model - Fritzing.fzz index 05ea027..efbc9f3 100644 Binary files a/Model/Model - Fritzing.fzz and b/Model/Model - Fritzing.fzz differ diff --git a/Model/Model - Png.png b/Model/Model - Png.png index 389c134..e67a26c 100644 Binary files a/Model/Model - Png.png and b/Model/Model - Png.png differ diff --git a/README.md b/README.md index e69de29..8da3ff2 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,64 @@ +# Power Checker + +By Karel Cermak | [Karlosoft](https://karlosoft.com). + +## A simple arduino project to monitor the functionality of the power grid and the backup power supply. + +Model + +--- + +## Features +- Checks the functionality of the power system and the power supply of the backup power supply via USB. +- It controls the control diodes responding to the current status. +- Controls a buzzer that will be triggered if the backup power supply is disconnected. +- Generate simple JSON statistics via the integrated web server. +- DHT temperature sensor and buzzer/ceiling light mute button. + +
+ +## States of the system +- **Everything ok (1)** + - Blue light slowly blinking + - Orange light off + - Red light off + +- **DHT temperature sensor error (2)** + - Blue light blinking fast + - Orange light slowly blinking + - Red light off + +- **Ethernet error (3)** + - Blue light blinking fast + - Orange light off + - Red light slowly blinking + +- **Main grid off (4)** + - Blue light off + - Orange light blinking fast + - Red light off + - Ceiling light turned off + +- **Backup power supply off (5)** + - Blue light off + - Orange light off + - Red light blinking fast + - Ceiling light turned on + - Buzzer activated + +
+ +## How to stop the buzzer and the ceiling light? + +- **Hold button for 500 ms** + - Deactivate the buzzer for 30 minutes + +- **Hold button for 5000 ms** + - Deactivate the buzzer and ceiling light for 12 hours + +
+ +## Problem with ethernet shields W5100 +- If it is necessary to restart the arduino via the restart button to get the web server working, this might help: + - Put a 100 nF capacitor between the RESET and GND pins (a larger capacitor should also work). + - Place 100 ohm resistors between ethernet pins 1 - 2 and 3 - 6 (not tested). \ No newline at end of file diff --git a/main.cpp b/main.cpp index 4846664..e77e1a1 100644 --- a/main.cpp +++ b/main.cpp @@ -1,3 +1,9 @@ +/* + Power Checker by Karel Cermak | Karlosoft.com + Licensed under MIT +*/ + + #include #include #include ; @@ -7,7 +13,7 @@ int state = 1; // ETHERNET byte mac[] = {0xA6, 0x2A, 0xFA, 0xC7, 0x70, 0xC0}; // make it random -IPAddress ip(10, 0, 0, 60); +IPAddress ip(10, 0, 0, 60); // set the IP address to whatever you want EthernetServer server(80);