Yesterday, 06:40 AM
Code:
/*
Made by KinCony IoT
https://www.kincony.com
Demo: KinCony B2 DI Control Relay
Board: KinCony B2 (ESP32)
Digital Input 1 -> GPIO6
Digital Input 2 -> GPIO7
Relay 1 -> GPIO4
Relay 2 -> GPIO46
*/
// Digital Inputs
#define DI1_PIN 6
#define DI2_PIN 7
// Relay Outputs
#define RELAY1_PIN 4
#define RELAY2_PIN 46
// Relay logic (Active LOW)
#define RELAY_ON LOW
#define RELAY_OFF HIGH
// Store previous DI states
int lastDI1State;
int lastDI2State;
void setup()
{
// Configure digital inputs
pinMode(DI1_PIN, INPUT);
pinMode(DI2_PIN, INPUT);
// Configure relay outputs
pinMode(RELAY1_PIN, OUTPUT);
pinMode(RELAY2_PIN, OUTPUT);
// Turn OFF relays at startup
digitalWrite(RELAY1_PIN, RELAY_OFF);
digitalWrite(RELAY2_PIN, RELAY_OFF);
// Read initial input states
lastDI1State = digitalRead(DI1_PIN);
lastDI2State = digitalRead(DI2_PIN);
}
void loop()
{
// Read current DI states
int di1State = digitalRead(DI1_PIN);
int di2State = digitalRead(DI2_PIN);
// DI1 changed
if (di1State != lastDI1State)
{
lastDI1State = di1State;
if (di1State == HIGH)
{
digitalWrite(RELAY1_PIN, RELAY_ON);
}
else
{
digitalWrite(RELAY1_PIN, RELAY_OFF);
}
}
// DI2 changed
if (di2State != lastDI2State)
{
lastDI2State = di2State;
if (di2State == HIGH)
{
digitalWrite(RELAY2_PIN, RELAY_ON);
}
else
{
digitalWrite(RELAY2_PIN, RELAY_OFF);
}
}
// Small delay for stability
delay(10);
}
11-input-trigger-output.zip (Size: 728 bytes / Downloads: 11)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:
11-input-trigger-output.ino.merged.zip (Size: 180 KB / Downloads: 9)
YouTube: https://www.youtube.com/c/KinCony
Online Store: https://shop.kincony.com
Alibaba Store: https://kincony.en.alibaba.com/
Online Store: https://shop.kincony.com
Alibaba Store: https://kincony.en.alibaba.com/

