Python ile Arduino Seri Port ve Sensör Verisi Okuma
Bu uygulamada Arduino'nun seri port ekranına gönderdiği veri/sensörden okuduğu veri Python ile editör konsolunda yazdırılmıştır.
Python ile Arduino mikrodenetleyici kartının bağlı olduğu seri portu kontrol edebilmek için PySerial modülünün kurulması gerekir. Bu kütüphane kullanılarak Python ile seri port kontrolü yapılabilir. Bu modülün kurulması için aşağıdaki işlem adımları takip edilir:
1. Kullanılan Python editörünün komut satırı (terminal) açılır. Alternatif olarak Windows komut istemi veya Windows PowerShell açılır.
2. pip install pyserial komutu verilir.
Editör olarak Thonny 4.1.6 kullanılmıştır. Kod açıklamaları açıklama (yorum) satırı olarak verilmiştir. Thonny yazılımında "Çalıştır" menüsünden "Configure interpreter..." seçeneği çalıştırılarak açılan pencerenin "Yorumlayıcı" sekmesinden "Local Python 3" seçilmelidir.
Thonny Python IDE for beginners, https://thonny.org sitesinden ücretsiz olarak indirilebilir. Alternatif editör olarak IDLE Shell, Visual Studio Code vb. kullanılabilir.
Bu uygulamada Arduino'nun seri port ekranına gönderdiği veri ile sensörden okuduğu veri Python ile görüntülenmiştir.
Uygulamaya Ait Şema, Bağlantı Şekli ve Görseller

Görsel 1: Arduino Uno ile sensör verisi okuma devre şeması
Malzeme Listesi
|
Sıra No |
Adı |
Özelliği |
Miktarı |
|
1 |
Arduino Uno R3 |
- |
1 Adet |
|
2 |
Potansiyometre |
10k |
1 Adet |
|
3 |
Breadboard |
830 pin |
1 Adet |
|
4 |
Jumper kablo |
Erkek-erkek |
- |
Uygulamaya Ait Python Kodu
MicroPython ile farklı kod örneklerine yer verilmiştir.
"""
Uygulama Adı : Python ile Arduino seri port okuma
Açıklama :
Tarih : 18 Nisan 2026
Yazan : İlhan DEMİR
"""
import serial
import time
#serial ve time modülleri eklendi.
#Arduino kartının bağlı olduğu seri port ayarları yapıldı.
#Haberleşme portu com3, haberleşme hızı 9600 baud
#port=serial.Serial("com3",9600)
port=serial.Serial()
port.port="com3"
port.baudrate=9600
port.open()
print("Port açıldı.")
#port bilgileri konsoldan yazdırıldı.
print(port)
print()
i=0
#10 kez okuma yapılacak.
while i<10:
#com3 portu okunarak veri isimli değişkene yüklendi.
veri=port.readline()
print("Okunan veri: ",veri)
time.sleep(0.5)
i+=1
port.close()
print()
print("Port kapandı.")
print("Çıkış yapıldı.")
"""
Uygulama Adı : Python ile Arduino seri port okuma
Açıklama :
Tarih : 18 Nisan 2026
Yazan : İlhan DEMİR
"""
import serial
import time
#serial ve time modülleri eklendi.
#Arduino kartının bağlı olduğu seri port ayarları yapıldı.
#Haberleşme portu com3, haberleşme hızı 9600 baud
#port=serial.Serial("com3",9600)
port=serial.Serial()
port.port="com3"
port.baudrate=9600
port.open()
print("Port açıldı.")
#port bilgileri konsoldan yazdırıldı.
print(port)
print()
i=0
#10 kez okuma yapılacak.
while i<10:
#com3 portu okunarak veri string türüne dönüştürüldü ve veri isimli değişkene yüklendi.
veri=str(port.readline())
#Okunan veri indekslendi. Veri 2.indeks dahil, son 5 indeks hariç düzenlendi.
#Sadece veri görüntülendi.
#b'veri\r\n' şeklinde okunan veride sadece veri kısmı görüntülendi.
veri=veri[2:int(len(veri)-5)]
print("Okunan veri:",veri)
time.sleep(0.5)
i+=1
port.close()
print()
print("Port kapandı.")
print("Çıkış yapıldı.")
"""
Uygulama Adı : Python ile Arduino seri port okuma
Açıklama :
Tarih : 18 Nisan 2026
Yazan : İlhan DEMİR
"""
import serial
import time
#serial ve time modülleri eklendi.
#Arduino kartının bağlı olduğu seri port ayarları yapıldı.
#Haberleşme portu com3, haberleşme hızı 9600 baud
#port=serial.Serial("com3",9600)
port=serial.Serial()
port.port="com3"
port.baudrate=9600
port.open()
print("Port açıldı.")
#port bilgileri konsoldan yazdırıldı.
print(port)
print()
#Fonksiyon tanımlandı.
def portOku():
#com3 portu okunarak veri string türüne dönüştürüldü ve veri isimli değişkene yüklendi.
veri=str(port.readline())
#Okunan veri indekslendi. Veri 2.indeks dahil, son 5 indeks hariç düzenlendi.
#Sadece veri görüntülendi.
#b'veri\r\n' şeklinde okunan veride sadece veri kısmı görüntülendi.
veri=veri[2:int(len(veri)-5)]
print("Okunan veri:",veri)
time.sleep(0.5)
print("Veri alındı.")
#Fonksiyon tanımlandı.
def portKapa():
print()
port.close()
print("Port kapandı.")
#Kullanıcı tarafından tanımlanan fonksiyonlar çağrıldı.
portOku()
portKapa()
Uygulamaya Ait Arduino Kodu
/*
Uygulama Adı : Seri porta veri gönderme
Açıklama :
Tarih : 18 Nisan 2026
Yazan : İlhan DEMİR
*/
void setup() {
Serial.begin(9600);
//Donanımsal seri port ile haberleşmeyi başlat.
}
void loop() {
Serial.println("beyzemiter.com");
delay(500);
}
/*
Uygulama Adı : Potansiyometre değerini okuma
Açıklama :
Tarih : 18 Nisan 2026
Yazan : İlhan DEMİR
*/
#define POTPIN A0
void setup() {
Serial.begin(9600);
//Donanımsal seri port ile haberleşmeyi başlat.
}
void loop() {
int potDeger=analogRead(POTPIN);
Serial.println(potDeger);
delay(500);
}
Bu internet sitesi içeriğinde yer alan tüm eserler (yazı, resim, görüntü, fotoğraf, video, müzik vb.) İlhan DEMİR'e ait olup, 5846 sayılı Fikir ve Sanat Eserleri Kanunu ve 5237 sayılı Türk Ceza Kanunu kapsamında korunmaktadır. Bu hakları ihlal eden kişiler, 5846 sayılı Fikir ve Sanat eserleri Kanunu ve 5237 sayılı Türk Ceza Kanununda yer alan hukuki ve cezai yaptırımlara tabi olurlar. İlhan DEMİR, yasal işlem başlatma hakkına sahiptir.

BİR CEVAP YAZ