The post Arduino ile Python Haberleşmesi first appeared on Emre Bektaş.
]]>import serial
import time
ser = serial.Serial("COM5", 9600)
print("Reseting Arduino")
time.sleep(3)
print("Arduino is ready")
for x in range(0, 3):
ser.write("emre bektas\n")
print ser.readline()
print "Sending serial data"
ser.close()
if(ser.isOpen()):
print "Serial connection is still open."
else:
print "Serial connection is close."
Python koduna baktığımızda ilk olarak serial ve time kütüphanelerini import ettik. ve serial objesinden ser tipinde nesne üretip içerisine arduino kartımızın bağlı olduğu com portu ve bound rate’ini girdik.
Buradaki kritik nokta bu bağlantı kurulurken arduino otomatik olarak kendine reset atar ve belli bir süre beklemeniz gerekiyor. Aksi taktirde gönderdiğiniz verilerin bir kısmı arduino’ya ulaşmıyor.
Bu yüzden time.sleep ile 3 saniye beklettik.Ardından for döngüsü ile 0 dan 3 e kadar programı döndürdük. Seri porta 3 kere emre bektas\n göndermiş olduk. Koda bakacak olursaniz her ser.write(“emre bektas\n”) ifadesinin ardından ser.readline() komutu ile arduinodan gelecek olan değeri programa alıyoruz ve print ile yazdırıyoruz.
Döngü bittikten sonra serial datalar gönderildi yazacağız ve ardından seri haberleşmemizi kapatıyoruz. En sonda da if döngüsü ile eğer connection açık kalmış ise bize uyarı veriyor kapalıysada “Serial connection is close.” yazıyor.
Paylaştığım görseldende anlayacağınız üzere 1. sütunda python kodunu yazıyoruz ardından Run edince 2. sütundaki pencere açılıyor ve programı gerçekleştiriyor. seri porttan 3 tane gelmesini beklediğimiz emre bektas geliyor. 3. sütunda da ilgili arduino kodunu görebilirsiniz. Tek yaptığım değişiklik Serial.println(inputString); komutunu Serial.print(inputString); yapmak oldu. Bunun nedeni ise println fonksiyonu her gönderdiği değerden sonra bir alt satıra geçer biz bunu engellemiş olduk.
The post Arduino ile Python Haberleşmesi first appeared on Emre Bektaş.
]]>