वाई-फाई के माध्यम से सुचारू, वास्तविक समय मोटर नियंत्रण के लिए यहां वेबसॉकेट संस्करण है।


🔹 वेबसॉकेट का उपयोग क्यों करें?

  • HTTP अनुरोधों से अधिक तेज़ (पृष्ठ को पुनः लोड करने की आवश्यकता नहीं है)
  • कोई फ़्रीज़ नहीं (Arduino ओवरलोड नहीं होता है)
  • तुरंत प्रतिक्रिया बटन क्लिक करते समय.

📌 1️⃣ Arduino R4 WiFi कोड

इससे एक पोर्ट 81 पर WebSocket सर्वर नियंत्रण करने के लिए:
एसजी90 सर्वो मोटर
28BYJ-48 स्टेपर मोटर

#include <WiFiS3.h>
#include <WebSocketsServer.h>
#include <Servo.h>
#include <Stepper.h>

// Wi-Fi Settings
const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASS";

// Create WebSocket server
WiFiServer server(80);
WebSocketsServer webSocket = WebSocketsServer(81);

// Motors
Servo myServo;
const int stepsPerRevolution = 2048;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

// WebSocket event handler
void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length) {
    String message = (char*)payload;
    Serial.println("Command: " + message);

    if (message == "servo_up") myServo.write(180);
    if (message == "servo_down") myServo.write(0);
    if (message == "stepper_left") myStepper.step(-50);
    if (message == "stepper_right") myStepper.step(50);
}

void setup() {
    Serial.begin(115200);
    myServo.attach(6);
    myStepper.setSpeed(10);

    // Connect to Wi-Fi
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
    Serial.println("Connected to WiFi!");
    Serial.println(WiFi.localIP());

    // Start WebSocket server
    server.begin();
    webSocket.begin();
    webSocket.onEvent(webSocketEvent);
}

void loop() {
    webSocket.loop();  // Keep WebSocket connection active
}

🔹 2️⃣ वेब नियंत्रण के लिए HTML + जावास्क्रिप्ट

इससे वेबसॉकेट के माध्यम से मोटर्स को नियंत्रित करने के लिए बटनों वाला एक सरल वेब पेज तैयार हो जाता है।

<!DOCTYPE html>
<html>
<head>
    <script>
        var ws = new WebSocket("ws://YOUR_IP_ADDRESS:81/");

        function sendCommand(command) {
            ws.send(command);
        }
    </script>
</head>
<body>
    <h2>WiFi Motor Control</h2>
    <button onclick="sendCommand('servo_up')">Servo Up</button>
    <button onclick="sendCommand('servo_down')">Servo Down</button><br><br>
    <button onclick="sendCommand('stepper_left')">Stepper Left</button>
    <button onclick="sendCommand('stepper_right')">Stepper Right</button>
</body>
</html>

🔹 बदलें YOUR_IP_ADDRESS IP एड्रेस के साथ जिसे Arduino वाई-फाई से कनेक्ट होने के बाद सीरियल मॉनिटर में प्रिंट करता है।


🔹 वेबसॉकेट क्यों?

तत्काल मोटर नियंत्रण – कोई देरी नहीं.
कोई फ़्रीज़ नहीं - Arduino HTTP अनुरोधों से अतिभारित नहीं होता है।
शांत संचालन - पृष्ठ को पुनः लोड करने की आवश्यकता नहीं है।


📡 सिग्नल प्रसारित करें - कनेक्शन को बढ़ाएँ।

एक जवाब लिखें