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
- Arduino uno na may USB cable
- Naka -install ang Python sa iyong computer (Bersyon 3.x Inirerekomenda)
- Naka -install ang Arduino IDE
- 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");
}
}
}
- Buksan ang Arduino IDE.
- I -paste ang code sa itaas sa editor.
- Piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
- 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
- Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
- 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
).
- I -update ang
port
Halaga sa script ng Python upang tumugma sa port ng iyong Arduino. - Patakbuhin ang script ng Python gamit ang utos:
python your_script_name.py
- Alamin ang komunikasyon sa pagitan ng Python at Arduino sa terminal at serial monitor.
Mga aplikasyon ng komunikasyon ng Python-arduino
- Pag -automate ng mga gawain sa hardware (hal., Pag -on sa mga LED, pagkontrol ng mga motor)
- Ang data ng pag -log sensor sa isang file o database
- Lumilikha ng mga pasadyang GUI para sa mga proyekto ng Arduino gamit ang mga aklatan ng python tulad ng TKINTER o PYQT
- 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).
- Magdagdag ng isang pagkaantala pagkatapos buksan ang serial connection (
-
UnicodedecodeError:
- Suriin ang pag -encode ng data na ipinadala/natanggap. Gumamit
.decode(errors='ignore')
kung kinakailangan.
- Suriin ang pag -encode ng data na ipinadala/natanggap. Gumamit
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!