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 Uno - Source Code created on: 2024-11-12 23:08:43 ********* Pleasedontcode.com **********/ /****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* The system shall utilize the EasyButton library to */ /* manage button presses, control the Relay module */ /* for switching, and read temperature data from the */ /* DS18B20 sensor, ensuring seamless integration with */ /* the Adafruit Microbit. */ /****** END SYSTEM REQUIREMENTS *****/ /* START CODE */ /****** DEFINITION OF LIBRARIES *****/ #include
//https://github.com/evert-arias/EasyButton #include
//https://github.com/rafaelnsantos/Relay #include
// Include the IR remote library #include
// Include the OneWire library for DS18B20 #include
// Include the DallasTemperature library for DS18B20 /****** FUNCTION PROTOTYPES *****/ void setup(void); void loop(void); /***** DEFINITION OF DIGITAL INPUT PINS *****/ const uint8_t pushbutton_PushButton_PIN_D2 = 2; // Define the pins for the relays #define RELAY1 3 #define RELAY2 4 #define RELAY3 5 #define RELAY4 6 #define RELAY5 7 #define RELAY6 8 #define RELAY7 9 #define RELAY8 10 // Define the pin for the infrared motion sensor #define MOTION_SENSOR 11 // Changed to a different pin to avoid conflict // Define the pin for the DS18B20 sensor #define ONE_WIRE_BUS 12 // Pin for the DS18B20 /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/ IRrecv irrecv(MOTION_SENSOR); // Initialize the IR remote object decode_results results; // Initialize the variable to store the received code OneWire oneWire(ONE_WIRE_BUS); // Create OneWire instance for DS18B20 DallasTemperature sensors(&oneWire); // Create DallasTemperature instance void setup(void) { // put your setup code here, to run once: pinMode(pushbutton_PushButton_PIN_D2, INPUT_PULLUP); // Set the relay pins as output pinMode(RELAY1, OUTPUT); pinMode(RELAY2, OUTPUT); pinMode(RELAY3, OUTPUT); pinMode(RELAY4, OUTPUT); pinMode(RELAY5, OUTPUT); pinMode(RELAY6, OUTPUT); pinMode(RELAY7, OUTPUT); pinMode(RELAY8, OUTPUT); // Set the motion sensor pin as input pinMode(MOTION_SENSOR, INPUT); // Start the IR remote receiver irrecv.enableIRIn(); // Start the DS18B20 sensor sensors.begin(); } void loop(void) { // put your main code here, to run repeatedly: // Check if the motion sensor is triggered if (digitalRead(MOTION_SENSOR) == HIGH) { // Activate the relays in sequence with the defined time intervals digitalWrite(RELAY1, HIGH); delay(INTERVAL1); digitalWrite(RELAY2, HIGH); delay(INTERVAL2); digitalWrite(RELAY3, HIGH); delay(INTERVAL3); digitalWrite(RELAY4, HIGH); delay(INTERVAL4); digitalWrite(RELAY5, HIGH); delay(INTERVAL5); digitalWrite(RELAY6, HIGH); delay(INTERVAL6); digitalWrite(RELAY7, HIGH); delay(INTERVAL7); digitalWrite(RELAY8, HIGH); delay(INTERVAL8); // Wait for the IR remote code to be received if (irrecv.decode(&results)) { // Check if the received code is the ON code if (results.value == ON_CODE) { // Deactivate the relays in reverse sequence digitalWrite(RELAY8, LOW); delay(INTERVAL8); digitalWrite(RELAY7, LOW); delay(INTERVAL7); digitalWrite(RELAY6, LOW); delay(INTERVAL6); digitalWrite(RELAY5, LOW); delay(INTERVAL5); digitalWrite(RELAY4, LOW); delay(INTERVAL4); digitalWrite(RELAY3, LOW); delay(INTERVAL3); digitalWrite(RELAY2, LOW); delay(INTERVAL2); digitalWrite(RELAY1, LOW); delay(INTERVAL1); } // Reset the IR remote receiver irrecv.resume(); } } // Read temperature from DS18B20 sensors.requestTemperatures(); // Request temperature readings float temperature = sensors.getTempCByIndex(0); // Get temperature in Celsius // You can add code to use the temperature value as needed } /* 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)