Add minimal single relay example for testing and beginners
This commit is contained in:
73
examples/single_relay_test/single_relay_test.ino
Normal file
73
examples/single_relay_test/single_relay_test.ino
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* ESP32 Single Relay Test - Minimal Example
|
||||||
|
*
|
||||||
|
* This is a simplified version for testing just ONE relay
|
||||||
|
* Perfect for beginners or initial hardware testing
|
||||||
|
*
|
||||||
|
* Hardware Setup:
|
||||||
|
* - Connect ESP32 5V to Relay Module VCC
|
||||||
|
* - Connect ESP32 GND to Relay Module GND
|
||||||
|
* - Connect ESP32 GPIO 13 to Relay Module IN1
|
||||||
|
*
|
||||||
|
* Commands via Bluetooth:
|
||||||
|
* - ON: Turn relay on
|
||||||
|
* - OFF: Turn relay off
|
||||||
|
* - STATUS: Check relay state
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "BluetoothSerial.h"
|
||||||
|
|
||||||
|
BluetoothSerial SerialBT;
|
||||||
|
|
||||||
|
// Relay configuration
|
||||||
|
const int RELAY_PIN = 13; // Change this to your GPIO pin
|
||||||
|
bool relayState = false;
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Start serial for debugging
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println("ESP32 Single Relay Test");
|
||||||
|
|
||||||
|
// Configure relay pin
|
||||||
|
pinMode(RELAY_PIN, OUTPUT);
|
||||||
|
digitalWrite(RELAY_PIN, HIGH); // Start with relay OFF (active LOW)
|
||||||
|
|
||||||
|
// Start Bluetooth
|
||||||
|
SerialBT.begin("ESP32-Test-Relay");
|
||||||
|
Serial.println("Bluetooth ready! Device: ESP32-Test-Relay");
|
||||||
|
Serial.println("Commands: ON, OFF, STATUS");
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// Check for Bluetooth commands
|
||||||
|
if (SerialBT.available()) {
|
||||||
|
String command = SerialBT.readStringUntil('\n');
|
||||||
|
command.trim();
|
||||||
|
command.toUpperCase();
|
||||||
|
|
||||||
|
Serial.println("Received: " + command);
|
||||||
|
|
||||||
|
if (command == "ON") {
|
||||||
|
relayState = true;
|
||||||
|
digitalWrite(RELAY_PIN, LOW); // Active LOW relay
|
||||||
|
SerialBT.println("Relay is ON");
|
||||||
|
Serial.println("Relay is ON");
|
||||||
|
}
|
||||||
|
else if (command == "OFF") {
|
||||||
|
relayState = false;
|
||||||
|
digitalWrite(RELAY_PIN, HIGH); // Active LOW relay
|
||||||
|
SerialBT.println("Relay is OFF");
|
||||||
|
Serial.println("Relay is OFF");
|
||||||
|
}
|
||||||
|
else if (command == "STATUS") {
|
||||||
|
String status = relayState ? "ON" : "OFF";
|
||||||
|
SerialBT.println("Relay: " + status);
|
||||||
|
Serial.println("Relay: " + status);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
SerialBT.println("Unknown command. Use: ON, OFF, or STATUS");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user