Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/********* Pleasedontcode.com ********** Pleasedontcode thanks you for automatic code generation! Enjoy your code! - Terms and Conditions: You have a non-exclusive, revocable, worldwide, royalty-free license for personal and commercial use. Attribution is optional; modifications are allowed, but you're responsible for code maintenance. We're not liable for any loss or damage. For full terms, please visit pleasedontcode.com/termsandconditions. - Project: **Relay Control** - Source Code NOT compiled for: Arduino Nano - Source Code created on: 2024-11-06 12:36:02 ********* Pleasedontcode.com **********/ /****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* Ek realy Jo float megnetic sensor high ho tab */ /* realy on rahe or sensor low hone ke 15 second bad */ /* realy off ho jaye or 30 minutes ke baad automatic */ /* realy on ho jaye jab realy on ho uske baad sensor */ /* ke according realy work kare */ /****** END SYSTEM REQUIREMENTS *****/ /* START CODE */ /****** DEFINITION OF LIBRARIES *****/ #include
// https://github.com/khoih-prog/ESP_AT_WiFiManager #include
// https://github.com/rafaelnsantos/Relay #include
// Included for Arduino functions /****** FUNCTION PROTOTYPES *****/ void setup(void); void loop(void); /***** DEFINITION OF DIGITAL OUTPUT PINS *****/ const uint8_t Realy_RelayModule_Signal_PIN_D2 = 2; // This pin is used for the relay const int sensorPin = 3; // Changed to avoid conflict with Realy_RelayModule_Signal_PIN_D2 const int relayPin = 7; // Relay pin /***** DEFINITION OF OUTPUT RAW VARIABLES *****/ bool Realy_RelayModule_Signal_PIN_D2_rawData = LOW; /***** DEFINITION OF OUTPUT PHYSICAL VARIABLES *****/ float Realy_RelayModule_Signal_PIN_D2_phyData = 0.0; /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/ bool sensorState = false; bool relayState = false; unsigned long startTime = 0; unsigned long relayOffTime = 0; void setup(void) { pinMode(Realy_RelayModule_Signal_PIN_D2, OUTPUT); pinMode(relayPin, OUTPUT); // Set relay pin as output pinMode(sensorPin, INPUT); // Set sensor pin as input Serial.begin(9600); // Initialize serial communication } void loop(void) { updateOutputs(); // Refresh output data int sensorValue = digitalRead(sensorPin); if (sensorValue == HIGH) { // Sensor value check sensorState = true; digitalWrite(relayPin, HIGH); Realy_RelayModule_Signal_PIN_D2_rawData = HIGH; // Update relay state relayState = true; startTime = millis(); // Reset start time when sensor is high Serial.println("Relay On"); } else { sensorState = false; if (relayState) { if (millis() - startTime > 15000) { // 15 second timer digitalWrite(relayPin, LOW); Realy_RelayModule_Signal_PIN_D2_rawData = LOW; // Update relay state relayState = false; relayOffTime = millis(); Serial.println("Relay Off"); } } if (!relayState && millis() - relayOffTime > 1800000) { // 30 minute timer digitalWrite(relayPin, HIGH); Realy_RelayModule_Signal_PIN_D2_rawData = HIGH; // Update relay state relayState = true; Serial.println("Relay On (Auto)"); } } delay(100); } void updateOutputs() { digitalWrite(Realy_RelayModule_Signal_PIN_D2, Realy_RelayModule_Signal_PIN_D2_rawData); } /* END CODE */
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)