सीरियल पर एक Arduino Uno के साथ संवाद करने के लिए पायथन का उपयोग कैसे करें

How to Use Python to Communicate with an Arduino Uno Over Serial

धारावाहिक पर पायथन और Arduino UNO के बीच संवाद करने से आप पायथन स्क्रिप्ट का उपयोग करके हार्डवेयर को नियंत्रित करने या प्रोसेसिंग के लिए Arduino से पायथन तक डेटा भेजने की अनुमति देते हैं। यह ट्यूटोरियल आपको एक सीरियल कनेक्शन पर Arduino UNO के साथ संवाद करने के लिए पायथन का उपयोग करने और उपयोग करने के माध्यम से मार्गदर्शन करेगा।


आपको क्या चाहिए

  1. USB केबल के साथ Arduino Uno
  2. पायथन आपके कंप्यूटर पर स्थापित (संस्करण 3.x अनुशंसित)
  3. Arduino ide स्थापित
  4. पायथन सीरियल कम्युनिकेशन के लिए एक लाइब्रेरी (जैसे, pyserial)

चरण 1: आवश्यक सॉफ़्टवेयर स्थापित करें

1। पायथन स्थापित करें

यदि आपके पास पायथन स्थापित नहीं है, तो इसे डाउनलोड करें python.org और स्थापना निर्देशों का पालन करें।

2। Arduino IDE स्थापित करें

डाउनलोड करें और Arduino IDE को इंस्टॉल करें arduino.cc.

3। Pyserial लाइब्रेरी स्थापित करें

धारावाहिक बंदरगाहों पर संवाद करने के लिए पायथन के लिए Pyserial की आवश्यकता होती है। निम्न कमांड का उपयोग करके इसे स्थापित करें:

pip install pyserial

चरण 2: Arduino कोड लिखें और अपलोड करें

Arduino सीरियल पोर्ट पर डेटा भेजेगा और प्राप्त करेगा। नीचे एक उदाहरण स्केच है:

अरडुइनो कोड

void setup() {
  Serial.begin(9600); // Start serial communication at 9600 baud
  while (!Serial);    // Wait for the serial port to connect
  Serial.println("Arduino is ready!");
}

void loop() {
  // Check if data is available on the serial port
  if (Serial.available()) {
    String data = Serial.readString(); // Read the incoming data
    Serial.print("Received: ");
    Serial.println(data); // Echo the data back

    // Optional: Respond based on the received data
    if (data.trim() == "LED_ON") {
      Serial.println("Turning LED on");
    } else if (data.trim() == "LED_OFF") {
      Serial.println("Turning LED off");
    }
  }
}
  1. Arduino ide खोलें।
  2. उपरोक्त कोड को संपादक में पेस्ट करें।
  3. सही का चयन करें तख़्ता और पत्तन नीचे औजार मेनू।
  4. क्लिक अपलोड करना Arduino UNO को कोड अपलोड करने के लिए।

चरण 3: पायथन कोड लिखें

नीचे एक उदाहरण है पायथन स्क्रिप्ट Arduino के साथ संवाद करने के लिए:

पायथन कोड

import serial
import time

# Configure the serial connection
arduino = serial.Serial(port='COM3', baudrate=9600, timeout=1) # Replace 'COM3' with your Arduino's port

def send_data(data):
    print(f"Sending: {data}")
    arduino.write(f"{data}\n".encode()) # Send data to Arduino
    time.sleep(0.1)

    response = arduino.readline().decode().strip() # Read response from Arduino
    if response:
        print(f"Arduino responded: {response}")

if __name__ == "__main__":
    time.sleep(2)  # Wait for Arduino to initialize
    print("Connected to Arduino")

    # Example: Send commands to Arduino
    send_data("LED_ON")
    time.sleep(2)
    send_data("LED_OFF")

    # Close the serial connection
    arduino.close()

चरण 4: सेटअप का परीक्षण करें

  1. USB के माध्यम से अपने कंप्यूटर से Arduino कनेक्ट करें।
  2. Arduino का बंदरगाह खोजें:
    • विंडोज पर: डिवाइस मैनेजर (जैसे, COM3) में पोर्ट की जाँच करें।
    • MacOS/Linux पर: उपयोग करें ls /dev/tty.* सही पोर्ट खोजने के लिए कमांड (जैसे, /dev/ttyUSB0).
  3. अद्यतन करना port अपने Arduino के पोर्ट से मेल खाने के लिए पायथन स्क्रिप्ट में मूल्य।
  4. कमांड का उपयोग करके पायथन स्क्रिप्ट चलाएं:
python your_script_name.py
  1. टर्मिनल और सीरियल मॉनिटर में पायथन और Arduino के बीच संचार का निरीक्षण करें।

पायथन-ऑर्डुइनो संचार के अनुप्रयोग

  1. हार्डवेयर कार्यों को स्वचालित करना (जैसे, एलईडी को चालू करना, मोटर्स को नियंत्रित करना)
  2. किसी फ़ाइल या डेटाबेस में सेंसर डेटा लॉगिंग
  3. Tkinter या Pyqt जैसे पायथन लाइब्रेरी का उपयोग करके Arduino परियोजनाओं के लिए कस्टम GUIS बनाना
  4. IoT प्लेटफार्मों के साथ Arduino को एकीकृत करना

समस्या निवारण

  • Arduino से कोई संबंध नहीं:

    • सुनिश्चित करें कि सही पोर्ट पायथन स्क्रिप्ट में निर्दिष्ट है।
    • सत्यापित करें कि बॉड दर Arduino स्केच से मेल खाती है।
  • Arduino से कोई प्रतिक्रिया नहीं:

    • सीरियल कनेक्शन खोलने के बाद देरी जोड़ें (time.sleep(2)).
    • सुनिश्चित करें कि Arduino का उपयोग किसी अन्य कार्यक्रम (जैसे, Arduino IDE में सीरियल मॉनिटर) द्वारा नहीं किया जा रहा है।
  • Unicodedecodeerror:

    • भेजे गए/प्राप्त किए जा रहे डेटा के एन्कोडिंग की जाँच करें। उपयोग .decode(errors='ignore') यदि आवश्यक है।

निष्कर्ष

आपने सीरियल पर पायथन और Arduino UNO के बीच सफलतापूर्वक संचार स्थापित किया है। यह Arduino की हार्डवेयर क्षमताओं के साथ पायथन के शक्तिशाली पुस्तकालयों को एकीकृत करने के लिए अंतहीन संभावनाओं को खोलता है। सेंसर, मोटर्स को जोड़कर या अपनी परियोजनाओं के लिए पायथन-आधारित GUIS बनाने से आगे प्रयोग करें!

एक टिप्पणी छोड़ें

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.