धारावाहिक पर पायथन और Arduino UNO के बीच संवाद करने से आप पायथन स्क्रिप्ट का उपयोग करके हार्डवेयर को नियंत्रित करने या प्रोसेसिंग के लिए Arduino से पायथन तक डेटा भेजने की अनुमति देते हैं। यह ट्यूटोरियल आपको एक सीरियल कनेक्शन पर Arduino UNO के साथ संवाद करने के लिए पायथन का उपयोग करने और उपयोग करने के माध्यम से मार्गदर्शन करेगा।
आपको क्या चाहिए
- USB केबल के साथ Arduino Uno
- पायथन आपके कंप्यूटर पर स्थापित (संस्करण 3.x अनुशंसित)
- Arduino ide स्थापित
- पायथन सीरियल कम्युनिकेशन के लिए एक लाइब्रेरी (जैसे,
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");
}
}
}
- Arduino ide खोलें।
- उपरोक्त कोड को संपादक में पेस्ट करें।
- सही का चयन करें तख़्ता और पत्तन नीचे औजार मेनू।
- क्लिक अपलोड करना 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: सेटअप का परीक्षण करें
- USB के माध्यम से अपने कंप्यूटर से Arduino कनेक्ट करें।
- Arduino का बंदरगाह खोजें:
- विंडोज पर: डिवाइस मैनेजर (जैसे, COM3) में पोर्ट की जाँच करें।
- MacOS/Linux पर: उपयोग करें
ls /dev/tty.*
सही पोर्ट खोजने के लिए कमांड (जैसे,/dev/ttyUSB0
).
- अद्यतन करना
port
अपने Arduino के पोर्ट से मेल खाने के लिए पायथन स्क्रिप्ट में मूल्य। - कमांड का उपयोग करके पायथन स्क्रिप्ट चलाएं:
python your_script_name.py
- टर्मिनल और सीरियल मॉनिटर में पायथन और Arduino के बीच संचार का निरीक्षण करें।
पायथन-ऑर्डुइनो संचार के अनुप्रयोग
- हार्डवेयर कार्यों को स्वचालित करना (जैसे, एलईडी को चालू करना, मोटर्स को नियंत्रित करना)
- किसी फ़ाइल या डेटाबेस में सेंसर डेटा लॉगिंग
- Tkinter या Pyqt जैसे पायथन लाइब्रेरी का उपयोग करके Arduino परियोजनाओं के लिए कस्टम GUIS बनाना
- IoT प्लेटफार्मों के साथ Arduino को एकीकृत करना
समस्या निवारण
-
Arduino से कोई संबंध नहीं:
- सुनिश्चित करें कि सही पोर्ट पायथन स्क्रिप्ट में निर्दिष्ट है।
- सत्यापित करें कि बॉड दर Arduino स्केच से मेल खाती है।
-
Arduino से कोई प्रतिक्रिया नहीं:
- सीरियल कनेक्शन खोलने के बाद देरी जोड़ें (
time.sleep(2)
). - सुनिश्चित करें कि Arduino का उपयोग किसी अन्य कार्यक्रम (जैसे, Arduino IDE में सीरियल मॉनिटर) द्वारा नहीं किया जा रहा है।
- सीरियल कनेक्शन खोलने के बाद देरी जोड़ें (
-
Unicodedecodeerror:
- भेजे गए/प्राप्त किए जा रहे डेटा के एन्कोडिंग की जाँच करें। उपयोग
.decode(errors='ignore')
यदि आवश्यक है।
- भेजे गए/प्राप्त किए जा रहे डेटा के एन्कोडिंग की जाँच करें। उपयोग
निष्कर्ष
आपने सीरियल पर पायथन और Arduino UNO के बीच सफलतापूर्वक संचार स्थापित किया है। यह Arduino की हार्डवेयर क्षमताओं के साथ पायथन के शक्तिशाली पुस्तकालयों को एकीकृत करने के लिए अंतहीन संभावनाओं को खोलता है। सेंसर, मोटर्स को जोड़कर या अपनी परियोजनाओं के लिए पायथन-आधारित GUIS बनाने से आगे प्रयोग करें!