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 :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int sensor = A0; | |
int baca_sensor; | |
void setup() | |
{ | |
Serial.begin(9600); | |
pinMode(sensor, INPUT); | |
} | |
void loop() | |
{ | |
baca_sensor = analogWrite(sensor); | |
Serial.println(baca_sensor); | |
} |
3. Buatlah kode Python
Setelah Arduino dan kodenya telah siap, kemudian kita buat kode komunikasi serial menggunakan python seperti ini :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
"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 :
- Kode arduino telah terupload dengan benar pada papan arduino
- Kabel USB arduino tetap tersambung pada komputer
- Data yang akan dikirim dari arduino ke python harus dalam fungsi kode "Serial.println"
- Pada kode python pastikan "com" dan "baudrate" sesuai dengan yang ada pada IDE arduino
- 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
Posting Komentar