Cara menggunakan python untuk berkomunikasi dengan arduino uno melalui serial

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

Berkomunikasi antara Python dan Arduino UNO Over Serial memungkinkan Anda untuk mengontrol perangkat keras menggunakan skrip Python atau mengirim data dari Arduino ke Python untuk diproses. Tutorial ini akan memandu Anda melalui pengaturan dan menggunakan Python untuk berkomunikasi dengan Arduino Uno melalui koneksi serial.


Apa yang Anda Butuhkan

  1. Arduino Uno dengan kabel USB
  2. Python diinstal di komputer Anda (Versi 3.x disarankan)
  3. IDE Arduino diinstal
  4. Perpustakaan untuk Komunikasi Serial Python (mis., pyserial)

Langkah 1: Instal perangkat lunak yang diperlukan

1. Pasang Python

Jika Anda tidak menginstal Python, unduh dari python.org dan ikuti instruksi instalasi.

2. Pasang IDE ARDUINO

Unduh dan instal IDE Arduino dari Arduino.cc.

3. Instal Perpustakaan Pyserial

Pyserial diperlukan untuk Python untuk berkomunikasi melalui port serial. Instal menggunakan perintah berikut:

pip install pyserial

Langkah 2: Tulis dan unggah kode Arduino

Arduino akan mengirim dan menerima data melalui port serial. Di bawah ini adalah contoh sketsa:

Kode 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. Buka Ide Arduino.
  2. Tempel kode di atas ke editor.
  3. Pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
  4. Klik Mengunggah Untuk mengunggah kode ke Arduino UNO.

Langkah 3: Tulis kode Python

Di bawah ini adalah contoh skrip Python untuk berkomunikasi dengan Arduino:

Kode Python

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

Langkah 4: Uji pengaturan

  1. Hubungkan Arduino ke komputer Anda melalui USB.
  2. Temukan port Arduino:
    • Di Windows: Periksa port di Device Manager (mis., COM3).
    • Pada macOS/linux: gunakan ls /dev/tty.* Perintah untuk menemukan port yang benar (mis., /dev/ttyUSB0).
  3. Perbarui port Nilai dalam skrip Python agar sesuai dengan port Arduino Anda.
  4. Jalankan skrip Python menggunakan perintah:
python your_script_name.py
  1. Amati komunikasi antara Python dan Arduino di terminal dan monitor serial.

Aplikasi Komunikasi Python-Oduino

  1. Mengotomatiskan tugas perangkat keras (mis., Menghidupkan LED, mengendalikan motor)
  2. Data sensor logging ke file atau database
  3. Membuat GUI Kustom untuk Proyek Arduino Menggunakan Perpustakaan Python Seperti Tkinter atau Pyqt
  4. Mengintegrasikan Arduino dengan platform IoT

Pemecahan masalah

  • Tidak ada koneksi ke Arduino:

    • Pastikan port yang benar ditentukan dalam skrip Python.
    • Pastikan Baud Rate cocok dengan sketsa Arduino.
  • Tidak ada tanggapan dari Arduino:

    • Tambahkan penundaan setelah membuka koneksi serial (time.sleep(2)).
    • Pastikan Arduino tidak digunakan oleh program lain (mis., Monitor serial di IDE Arduino).
  • UnicodedecodeError:

    • Periksa pengkodean data yang dikirim/diterima. Menggunakan .decode(errors='ignore') jika perlu.

Kesimpulan

Anda telah berhasil mengatur komunikasi antara Python dan Arduino Uno over Serial. Ini membuka kemungkinan tanpa akhir untuk mengintegrasikan perpustakaan Python yang kuat dengan kemampuan perangkat keras Arduino. Eksperimen lebih lanjut dengan menambahkan sensor, motor, atau menciptakan GUI yang berbasis di Python untuk proyek Anda!

Tinggalkan komentar

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.