Langsung ke konten utama

Hubungkan python dan arduino dengan komunikasi serial




Arduino telah banyak digunakan untuk proyek - proyek sesuai kebutuhan penggunanya. Contohnya seperti pembacaan sensor suhu, pembacaan aliran udara, penyiram tanaman otomatis, kunci pintu otomatis, robotika dan masih banyak yang lainnya. Namun pada kasus tertentu, dalam suatu proyek membutuhkan pengaplikasian arduino dalam hal yang lebih luas seperti mengirimkan data arduino ke web, menyimpan data arduino dalam bentuk excel, mengendalikan arduino berbasis machine learning dan lain sebagainya. Dari kasus tersebut, python menjadi bahasa pemrograman yang mampu mewujudkan itu semua. seperti yang kita tau, python merupakan bahasa pemrograman multi-platform yang bisa digunakan dimana saja dan digunakan untuk apa saja.

Pada artikel kali ini admin akan memberikan tutorial bagaimana caranya menghubungkan Arduino dengan python dengan komunikasi serial. Komunikasi serial antara arduino dan python memiliki beberapa manfaat seperti menyimpan data arduino ke excel dengan bantuan python, mengirimkan data arduino ke web, memvisualisasikan data arduino dengan lebih menarik, menghubungkan AI ke arduino dan masih banyak yang lainnya. Untuk tutorialnya, simak langkah - langkah berikut : 

1. Install library "pyserial" di Python 

Pertama kalian wajib menginstall pyserial di python kalian, dengan cara buka cmd (tombol windows + R) ketik "cmd" 
lalu ketikkan "pip install pyserial" dan tunggu hingga selesai 


2. Siapkan Arduino dan kode Arduino 

Siapkan perangkat yang dibutuhkan seperti arduino, kabel USB arduino dan perangkat yang lain seperti sensor. Disini admin menggunakan contoh sensor tekanan yang terhubung dengan pin analog A0. Skematiknya seperti ini :
Setelah sensor dan arduino telah siap, selanjutnya kita buat kode arduinonya pada arduino IDE seperti ini :
int sensor = A0;
int baca_sensor;
void setup()
{
Serial.begin(9600);
pinMode(sensor, INPUT);
}
void loop()
{
baca_sensor = analogWrite(sensor);
Serial.println(baca_sensor);
}
view raw gistfile1.txt hosted with ❤ by GitHub

3. Buatlah kode Python 

 Setelah Arduino dan kodenya telah siap, kemudian kita buat kode komunikasi serial menggunakan python seperti ini :
import serial
import time
# Inisialisasi koneksi serial dengan Arduino
arduino_port = 'com6' # Ganti dengan port Arduino yang sesuai
baud_rate = 9600
ser = serial.Serial(arduino_port, baud_rate)
time.sleep(2) # Waktu tunggu untuk memastikan koneksi terbentuk
for i in range(5000):
# Baca data dari Arduino
data = ser.readline().decode().strip()
print("Data dari Arduino:", data)
print("Program berhenti.")
ser.close() # Tutup koneksi serial saat program berhenti
view raw gistfile1.txt hosted with ❤ by GitHub

"import serial" merupakan pemanggilan library yang telah kita install pada cmd tadi, disini juga ditambahkan "import time" sebagai fungsi delay. Pada kode wajib memasukkan "port com" yang terhubung dengan arduino kalian beserta "baudrate" kalian yang tentukan pada kode arduino.

4. Menjalankan Program

Saat ingin menguji program komunikasi serial ini, kita cukup berfokus pada kode pythonnya, karena program utamanya ada pada python. Setelah semuanya telah siap, maka tinggal jalankan kode python tersebut.

Hal penting yang perlu diperhatikan pada saat menjalan kode python :
  1. Kode arduino telah terupload dengan benar pada papan arduino
  2. Kabel USB arduino tetap tersambung pada komputer
  3. Data yang akan dikirim dari arduino ke python harus dalam fungsi kode "Serial.println"
  4. Pada kode python pastikan "com" dan "baudrate" sesuai dengan yang ada pada IDE arduino
  5. Jangan membuka serial monitor atau serial plotter pada IDE arduino (mencegah error "port busy")
Contoh dari kode komunikasi serial antara arduino dan python yang telah berhasil adalah seperti ini :





Komentar