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 Uno
- - Source Code created on: 2024-08-30 06:05:29
- ********* Pleasedontcode.com **********/
- /****** SYSTEM REQUIREMENTS *****/
- /****** SYSTEM REQUIREMENT 1 *****/
- /* This code will This code will Write a code in */
- /* arduino uno that if the proximity sensor like */
- /* inductive sensor can sense an object then the */
- /* relay is on but if there is no object near the */
- /* proximity sensor for 1 minute give signal to the */
- /* relay as off. */
- /****** END SYSTEM REQUIREMENTS *****/
- /****** DEFINITION OF LIBRARIES *****/
- #include <Relay.h> //https://github.com/rafaelnsantos/Relay
- /****** FUNCTION PROTOTYPES *****/
- void setup(void);
- void loop(void);
- void updateOutputs(void);
- bool readProximitySensor(void);
- /***** DEFINITION OF DIGITAL OUTPUT PINS *****/
- const uint8_t relay_RelayModule_Signal_PIN_D2 = 2; // Relay pin
- const uint8_t proximitySensorPin = 3; // Proximity sensor pin
- /***** DEFINITION OF OUTPUT RAW VARIABLES *****/
- /***** used to store raw data *****/
- bool relay_RelayModule_Signal_PIN_D2_rawData = 0;
- /***** DEFINITION OF OUTPUT PHYSICAL VARIABLES *****/
- /***** used to store data after characteristic curve transformation *****/
- float relay_RelayModule_Signal_PIN_D2_phyData = 0.0;
- /***** TIME CONTROL VARIABLES *****/
- unsigned long lastDetectionTime = 0; // Last time an object was detected
- const unsigned long detectionTimeout = 60000; // 1 minute timeout
- /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
- // Initialize relay object on pin 2, Normally Open (NO)
- Relay light(relay_RelayModule_Signal_PIN_D2, true);
- void setup(void)
- {
- // Initialize the relay pin
- light.begin();
- // Set the proximity sensor pin as input
- pinMode(proximitySensorPin, INPUT);
- }
- void loop(void)
- {
- // Refresh output data
- updateOutputs();
- }
- void updateOutputs()
- {
- // Read the proximity sensor state
- relay_RelayModule_Signal_PIN_D2_rawData = readProximitySensor();
- // Update the relay state based on the raw data
- if (relay_RelayModule_Signal_PIN_D2_rawData) {
- light.turnOn(); // Turn relay on if raw data is true
- lastDetectionTime = millis(); // Update the last detection time
- } else {
- // Check if the timeout has been reached
- if (millis() - lastDetectionTime >= detectionTimeout) {
- light.turnOff(); // Turn relay off if no object detected for 1 minute
- }
- }
- }
- bool readProximitySensor() {
- // Read the state of the proximity sensor
- return digitalRead(proximitySensorPin) == HIGH; // Assuming HIGH means object detected
- }
- /* END CODE */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement