Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********* 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 <ESP_AT_WiFiManager.h> // https://github.com/khoih-prog/ESP_AT_WiFiManager
- #include <Relay.h> // https://github.com/rafaelnsantos/Relay
- #include <Arduino.h> // 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 */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement