Home » , , » Program python membaca data serial port Arduino

Program python membaca data serial port Arduino

Written By SBlog on Saturday, July 23, 2022 | July 23, 2022

Kali ini kita akan mencoba membuat program python untuk membaca data serial dari arduino. Program ini bisa digunakan untuk membaca data serial yang berasal dari sensor baik itu berupa sensor suhu ataupun sensor lainya yang nantinya data ini akan terdeteksi di komputer untuk selanjutnya dilakukan pengolahan data untuk di tampilkan pada  user.


Pertama pastikan anda sudah menginstall python pada komputer. Jika belum silahkan lakukan penginstalan python terlebih dahulu.[disini]

Setelah terinstall buka python anda kemudian masukkan program berikut. Dibutuhkan library serial untuk mejalankan program. Untuk install library silahkan [disini]

import serial
import time
arduino = serial.Serial(port='COM4', baudrate=115200, timeout=.1)
def write_read(x):
    arduino.write(bytes(x, 'utf-8'))
    time.sleep(0.05)
    data = arduino.readline()
    return data
while True:
    num = input("Enter a number: ") # Taking input from user
    value = write_read(num)
    print(value) # printing the value


Berikut penjelasan program diatas.

1. serial.Serial digunakan untuk inisialisasi port serial yang akan di baca datanya. Pada program serial port Arduino terdeteksi pada 'COM3', dengan baudrate 115200. Jika baudrate arduino 9600 maka ubah konfigurasi menyesuaikan setingan serial arduino.



2. arduino.write digunakan untuk menulis peritah yang akan dikirim ke arduino. Pada program digunkan X untuk command yang dikirim berdasarkan konfigurasi di arduino. Silahkan menyesuaikan perintah yang ingin sobat kirim berdasarkan inisialisasi perintah untuk arduino. Perintah membutuhkan decode dengan 'utf-8' untuk terbaca di Arduino.

3. time.sleep merupakan delay yang digunakan untuk memberikan waktu tunda untuk membaca data yang di kirim untuk di tampilkan kembali pada komputer berdasarkan code berikutnya.

4. readline() merupakan perintah untuk membaca seluruh data dari arduino dalam satu baris/line. arduino merupakan inisial port serial yang sebelumnya sudah di set pada nomor 1.

5. return merupakan perintah untuk kembali membaca data.

6. write_read merupakan perintah untuk membaca data yang di ketik berdasarkan inputan yang kita berikan. Komputer akan menanyakan nomor. Perintah ini hanya sebatas menampilkan perintah yang akan kita kirim dengan kode print(value).

Selanjutnya isikan program pada Arduino anda dengan program berikut. agar semua code dapat singkron dan berjalan sesuai dengan yang diinginkan.

int x;

void setup() {
  Serial.begin(115200);
  Serial.setTimeout(1);
}

void loop() {
  while (!Serial.available());
  x = Serial.readString().toInt();
  Serial.print(x + 1);
}

Selamat mencoba.


sumber: https://create.arduino.cc/projecthub/ansh2919/serial-communication-between-python-and-arduino-e7cce0



0 comments:

Post a Comment

(^_^) [o_o] (^.^) (".") ($.$)