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