Paano Gumamit ng Python upang Makipag -usap sa isang Arduino Uno sa Serial

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

Ang pakikipag -usap sa pagitan ng Python at Arduino Uno sa paglipas ng serial ay nagbibigay -daan sa iyo upang makontrol ang hardware gamit ang mga script ng python o magpadala ng data mula sa Arduino hanggang Python para sa pagproseso. Ang tutorial na ito ay gagabay sa iyo sa pamamagitan ng pag -set up at paggamit ng Python upang makipag -usap sa isang Arduino Uno sa isang serial na koneksyon.


Ano ang kakailanganin mo

  1. Arduino uno na may USB cable
  2. Naka -install ang Python sa iyong computer (Bersyon 3.x Inirerekomenda)
  3. Naka -install ang Arduino IDE
  4. Isang Library para sa Python Serial Communication (hal., pyserial)

Hakbang 1: I -install ang kinakailangang software

1. I -install ang Python

Kung wala kang naka -install na Python, i -download ito python.org at sundin ang mga tagubilin sa pag -install.

2. I -install ang Arduino IDE

I -download at i -install ang Arduino IDE mula sa Arduino.cc.

3. I -install ang pyserial library

Kinakailangan ang Pyserial para sa Python na makipag -usap sa mga serial port. I -install ito gamit ang sumusunod na utos:

pip install pyserial

Hakbang 2: Sumulat at i -upload ang code ng Arduino

Ang Arduino ay magpapadala at makakatanggap ng data sa serial port. Nasa ibaba ang isang halimbawa ng sketch:

Arduino Code

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. Buksan ang Arduino IDE.
  2. I -paste ang code sa itaas sa editor.
  3. Piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
  4. Mag -click Mag -upload Upang mai -upload ang code sa Arduino Uno.

Hakbang 3: Isulat ang code ng Python

Nasa ibaba ang isang halimbawa ng script ng Python upang makipag -usap sa Arduino:

Python Code

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()

Hakbang 4: Subukan ang pag -setup

  1. Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
  2. Hanapin ang port ng Arduino:
    • Sa Windows: Suriin ang port sa manager ng aparato (hal., Com3).
    • Sa macOS/Linux: Gumamit ng ls /dev/tty.* utos upang mahanap ang tamang port (hal. /dev/ttyUSB0).
  3. I -update ang port Halaga sa script ng Python upang tumugma sa port ng iyong Arduino.
  4. Patakbuhin ang script ng Python gamit ang utos:
python your_script_name.py
  1. Alamin ang komunikasyon sa pagitan ng Python at Arduino sa terminal at serial monitor.

Mga aplikasyon ng komunikasyon ng Python-arduino

  1. Pag -automate ng mga gawain sa hardware (hal., Pag -on sa mga LED, pagkontrol ng mga motor)
  2. Ang data ng pag -log sensor sa isang file o database
  3. Lumilikha ng mga pasadyang GUI para sa mga proyekto ng Arduino gamit ang mga aklatan ng python tulad ng TKINTER o PYQT
  4. Pagsasama ng Arduino sa mga platform ng IoT

Pag -aayos

  • Walang koneksyon kay Arduino:

    • Tiyakin na ang tamang port ay tinukoy sa script ng Python.
    • Patunayan na ang rate ng baud ay tumutugma sa sketch ng Arduino.
  • Walang tugon mula kay Arduino:

    • Magdagdag ng isang pagkaantala pagkatapos buksan ang serial connection (time.sleep(2)).
    • Tiyakin na ang Arduino ay hindi ginagamit ng isa pang programa (hal., Serial monitor sa Arduino IDE).
  • UnicodedecodeError:

    • Suriin ang pag -encode ng data na ipinadala/natanggap. Gumamit .decode(errors='ignore') kung kinakailangan.

Konklusyon

Matagumpay mong na -set up ang komunikasyon sa pagitan ng Python at Arduino Uno sa paglipas ng serial. Binubuksan nito ang walang katapusang mga posibilidad para sa pagsasama ng mga makapangyarihang aklatan ni Python na may mga kakayahan sa hardware ng Arduino. Eksperimento pa sa pamamagitan ng pagdaragdag ng mga sensor, motor, o paglikha ng mga Python na batay sa Python para sa iyong mga proyekto!

Mag -iwan ng komento

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.