- Gerekli malzemeler:
- Python'u Bilgisayarınıza Kurmak:
- Python'da PySerial'ı Alma:
- İlk Arduino Python Programımız:
- Python ve Arduino ile LED'i kontrol etme:
Açık kaynaklı donanım geliştirme söz konusu olduğunda, Arduino her zaman güçlü ve kullanımı kolay bir öğrenme / geliştirme platformu olmuştur. Günümüzün modern dünyasında, her donanım, onu daha etkili ve kullanıcı dostu hale getirmek için yüksek düzeyde genel amaçlı bir programlama dili tarafından desteklenmektedir. Böyle bir dil Python'dur. Python, dinamik yazım ve dinamik bağlama ile birleştirilen, yüksek düzeyde yerleşik veri yapılarına sahip dinamik semantiğe sahip, yorumlanmış, nesne yönelimli, üst düzey bir programlama dilidir ve Hızlı Uygulama Geliştirme için çok çekici hale getirir.
Arduino ve Python'un gücünü birleştirmek, python'un openCV, Matlab vb. Gibi diğer platformlarla etkileşime girme yeteneği ile artan bir üretkenliğe sahip olması nedeniyle birçok olasılığa kapı açacaktır. Yani bu eğitimde python'u bilgisayarımıza nasıl kurabileceğimizi öğreneceğiz. ve Arduino'nun yerleşik LED'ini değiştirmek için Arduino ile nasıl kullanılacağı.
Öyleyse, başlayalım….
Gerekli malzemeler:
- Arduino Uno (veya herhangi bir Arduino Kartı)
- İnternet bağlantılı bilgisayar
Python'u Bilgisayarınıza Kurmak:
Açıkçası, bu eğitimdeki ilk adım Python'u bilgisayarımıza yüklemek olacaktır. Aşağıda belirtilen adımlar yalnızca 32 bit veya 64 bit işletim sistemi çalıştıran Windows kullanıcıları için geçerlidir. MAC ve Linux için kurulum prosedürü farklıdır.
- 32-bit Python-2.7.9'a tıklayın ve bu 32-bit Python IDLE'ı Bilgisayarınıza kuracaktır. Arduino Kitaplıklarımız için destek sağlamadıkları için 64 bit sürümü veya güncellenmiş sürümleri indirmeyin. Bilgisayarınız 64-bit üzerinde çalışıyor olsa bile, 32-bit Python'un kendisini kullanabilirsiniz.
- İndirilen exe dosyasını açın ve talimatları izleyin. Python'un kurulduğu dizini değiştirmeyin. Varsayılan olarak C: \ Python27 olacak ve olduğu gibi bırakılacaktır.
- Kurulum yapılırken anti-virüsünüzden (varsa) bir uyarı alabilirsiniz, bu durumda izin ver seçeneğine tıklayın.
İşte bu !, python bilgisayarımıza başarıyla yüklendi. Windows arama kutusunda "Python IDLE" öğesini arayarak ve açarak doğrulayabilirsiniz.
Açıldığında aşağıdaki ekranı görmelisiniz. Bu pencereye Python Kabuğu adı verilir ve bundan böyle " Python kabuğu " olarak bahsedeceğiz.
Bu ekrana Python Kabuğu denir. Direkt olarak buradan kod yazıp çıktıyı aynı ekranda alabilir veya yeni bir dosya oluşturup programı oraya yazıp programı buradan doğrulayabilirsiniz. Daha sonra bir python programı oluşturmanın ayrıntılarına gireceğiz, şimdilik python'un çalışıp çalışmadığını kontrol edelim.
Bunu yapmak için, " yazdır (1 + 1) " yazıp enter tuşuna basmanız yeterlidir. Aşağıda gösterildiği gibi yazdırılan sonucu görmelisiniz.
Python'da PySerial'ı Alma:
Sonraki adım, pyserial'ı kurmaktır. PySerial, seri verileri Arduino veya başka bir Mikroişlemciye okumak ve yazmak için kullanılan bir Python API modülüdür.
PySerial'ı indirmek için Pyserial Windows'a tıklayın. Ortaya çıkan indirme, doğrudan yüklenebilen bir exe dosyası olacaktır. Kurulum sırasında herhangi bir ayarı değiştirmeyin. Varsayılan dizine ve varsayılan ayarlara bırakın.
Şimdi, PySerial'ın düzgün kurulup kurulmadığını kontrol edelim. Bunu yapmak için Python Shell'i tekrar açın ve şunu yazın:
seri içe aktar . Kitaplık başarıyla yüklendiyse, aşağıdaki resimde gösterildiği gibi herhangi bir hata mesajı almamalısınız. Herhangi bir hata alırsanız, onları yorum bölümüne gönderin, biz de çözmeyi deneyeceğiz.
Bu eğitim, Arduino'ya aşina olduğunuzu ve projeleri Arduino'ya yükleme konusunda deneyim sahibi olduğunuzu varsayar. Öyleyse doğrudan Python programımıza atlayalım. Arduino ile yeni başlayan biriyseniz Arduino Projelerimizi kontrol edin ve Arduino ile LED Yanıp Sönerek başlayın.
İlk Arduino Python Programımız:
Daha önce de belirtildiği gibi Python komut dosyasını kullanarak dahili Arduino kartı LED'ini kontrol edeceğiz. Arduino kodu ile başlayalım.
Arduino için Program:
Bu Arduino python öğreticisinin tam programı bu sayfanın sonunda verilmiştir. Nasıl çalıştığını öğrenmek için daha fazlasını okuyun.
Kurulum fonksiyonunun içinde, seri haberleşmeyi 9600 baud hızında başlatıyoruz ve dahili led'i çıkış olarak kullanacağımızı ve program başlangıcında onu düşüreceğimizi beyan ediyoruz. Ayrıca aşağıda gösterildiği gibi seri baskı yoluyla python'a bir hoş geldiniz mesajı gönderdik:
geçersiz kurulum () {Serial.begin (9600); // seri COM'u 9600 baudrate pinMode'da başlat (LED_BUILTIN, OUTPUT); // LED pinini (13) çıktı digitalWrite olarak yapın (LED_BUILTIN, LOW); Serial.println ("Merhaba!, Ben Arduino"); }
İçinde döngü fonksiyonu, biz seri geliyor ne olursa olsun veri okumak ve değişken değer atamak “veri”. Şimdi bu değişkenin ("veri") değerine bağlı olarak, aşağıda gösterildiği gibi yerleşik led'i değiştiriyoruz.
void döngü () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Python için Program:
Bu eğitim için eksiksiz bir python programı bu sayfanın sonunda verilmiştir. Nasıl yazılacağını ve kullanılacağını öğrenmek için daha fazlasını okuyun.
- Python Kabuğunuzu (Python IDLE) açın ve Dosya-> Yeni'ye tıklayın
- Bu, programınızı yazabileceğiniz yeni bir metin dosyası açacaktır.
- Herhangi bir şey yazmadan önce dosyayı Ctrl + S ile kaydedelim. Herhangi bir adı yazın ve kaydet'e tıklayın. Bu, dosyanızı otomatik olarak ".py" uzantısına kaydedecektir.
- Şimdi programı yazın veya bu sayfanın sonunda verilen python kodunu yapıştırın. Aynısı için açıklama aşağıda verilmiştir ve son olarak programı çalıştırın.
Programımızda ilk adım seri ve zaman kitaplığını içe aktarmak olacaktır. Daha önce de belirtildiği gibi seri kütüphane, seri verileri okumak ve yazmak için kullanılacak ve zaman kütüphanesi programımızda gecikmeler yaratmak için kullanılacaktır. Bu iki kitaplık, aşağıdaki iki satır kullanılarak programımıza aktarılabilir:
seri içe aktar # Seri iletişim için içe aktarılmış seri içe aktarma süresi # Gecikme işlevlerini kullanmak için gerekli
Bir sonraki adım, seri kitaplığımızı kullanarak bir seri nesneyi başlatmak olacaktır. Bu programda seri nesnemize “ArduinoSerial” adını verdik. Bu satırda Arduino'muzun bağlı olduğu COM portunun adını ve aşağıda gösterildiği gibi hangi baud hızında çalıştığını belirtmek zorundayız.
ArduinoSerial = serial.Serial ('com18', 9600)
Not: Doğru COM bağlantı noktası adını belirtmek çok önemlidir. Bilgisayarınızdaki Aygıt yöneticisini kullanarak bulunabilir.
Seri nesne başlatılır başlatılmaz, Seri iletişimin kurulması için programı iki saniye tutmalıyız. Bu, aşağıdaki satırı kullanarak yapılabilir:
zaman.sleep (2)
Artık Arduino Kartımızdan herhangi bir şey okuyabilir veya yazabiliriz.
Aşağıdaki satır Arduino'dan gelen her şeyi okuyacak ve onu kabuk penceresine yazdıracaktır.
print ArduinoSerial.readline ()
Ayrıca değeri bir değişkene atayabilir ve hesaplamalar için kullanabilirsiniz.
Aşağıdaki satır parametrenin değerini Arduino Board'a yazacaktır.
ArduinoSerial.write ('1')
Bu satır Arduino'ya '1' yazacaktır. Aynı satırı kullanarak ondalık sayılardan dizelere kadar her şeyi gönderebilirsiniz.
Şimdi, programımıza geri dönersek, sonsuz süre döngüsünün içinde, aşağıdaki satırlara sahibiz
var = raw_input () # "girdiğiniz" kullanıcı baskısından girdi alın, var # onay için girişi yazdırın (var == '1'): # değer 1 ise ArduinoSerial.write ('1') #send 1 print ("LED AÇIK") time.sleep (1) if (var == '0'): # değer 0 ise ArduinoSerial.write ('0') #send 0 print ("LED OFF") süresi. uyku (1)
Var = raw_input satırı, Kabuk betiğine yazılan herhangi bir değeri alacak ve bu değeri var değişkenine atayacaktır.
Daha sonra değer 1 ise seri olarak Arduino'ya '1', 0 ise Arduino'ya seri olarak '0' yazdıracaktır. Arduino Programımızdaki kod (yukarıda tartışılmıştır), alınan değere göre LED'i değiştireceğiz.
Programın tamamı tamamlandığında, komut dosyanız aşağıdaki gibi görünmelidir
Şimdi Çalıştır -> Modülü Çalıştır'a tıklayın veya F5'e basın, bu sizden programı kaydetmenizi isteyebilir ve ardından başlatacaktır.
Python ve Arduino ile LED'i kontrol etme:
Bu projenin çalışması oldukça basittir. Programı Arduino'nuza yükleyin ve python programında belirtildiği gibi aynı COM bağlantı noktasına bağlı olduğunu doğrulayın. Ardından, yukarıda belirtildiği gibi Python programını başlatın.
Bu, aşağıda gösterildiği gibi bir python kabuğu komut dosyası başlatacaktır. Soldaki pencere, çıktıyı gösteren kabuk penceresi ve sağdaki pencere programı gösteren komut dosyasıdır.
Gördüğünüz gibi Arduino programına girilen “Merhaba! Ben Arduino” dizesi Python tarafından alınır ve kabuk penceresinde görüntülenir.
Kabuk penceresi değer girmemizi istediğinde 0 veya 1 girebiliriz. 1 gönderirsek Arduino Board üzerindeki led yanacak ve 0 gönderirsek Arduino kartımızdaki led sönecektir. Arduino Programımız ve Python arasında başarılı bir bağlantı gösteriliyor.
Aşağıda verilen iki program vardır, biri Arduino'dan yüklenip çalıştırılacak ve ikincisi Windows'ta Python Shell'den çalıştırılacak.
Umarım projeyi anladınız ve çalıştırabildiniz. Değilse, sorununuzu aşağıdaki yorumda yayınlayın, size yardımcı olmaktan memnuniyet duyarım. Bir sonraki projemizde, Vpython, gamepython vb. Gibi diğer python modüllerini derinlemesine keşfederek Python ve Arduino ile başka neler yapılabileceğini öğreneceğiz. O zamana kadar bizi izlemeye devam edin….