Python ile Arduino programlama, elektronik ve yazılım geliştirme konusunda tutkulu olanlar için bir olasılıklar dünyasının kapılarını açar. Bu iki aracı entegre etmek, yenilikçi projeler oluşturmak için Arduino'nun bir mikrodenetleyici olarak çok yönlülüğünü Python'un gücü ve basitliğiyle birleştirmenize olanak tanır. Bu makalede, her iki dünyayı nasıl birbirine bağlayacağınızı öğrenecek ve bu teknolojileri kullanarak kendi uygulamalarınızı geliştirmeye başlamak için gerekli adımları öğreneceksiniz.
Arduino, bir platform hardware libre, kullanım kolaylığı ve uyarlanabilirliği ile tanınırken, PythonÜst düzey bir programlama dili olan , sadeliği ve etkinliği ile öne çıkıyor. Arduino genellikle C++ tabanlı kendi dilinde programlansa da aşağıdaki kütüphaneler sayesinde Python kullanarak onunla iletişim kurmak mümkündür. PySeriSeri port üzerinden iletişimi sağlayan. Burada bu entegrasyonun nasıl gerçekleştirileceğini temel prensiplerden daha gelişmiş pratik örneklere kadar kapsamlı bir şekilde inceleyeceğiz.
Başlamak için gerekenler
Arduino'yu Python ile programlamaya başlamadan önce gerekli araçlara ve konfigürasyonlara sahip olduğunuzdan emin olmanız önemlidir:
- Bir Arduino kartı: Gibi modeller Arduino UNO, Nano veya Mega bu tür projeler için mükemmeldir.
- Kablo USB: Arduino kartını bilgisayara bağlamak için gereklidir.
- Python yüklü: Python'un en son sürümünü resmi web sitesinden indirebilirsiniz.
- PySerial kütüphanesini yükleyin: Bu kütüphane Arduino ve Python arasında iletişim kurmak için çok önemlidir. Komutu çalıştırılarak kurulur
pip install pyserial
.
Arduino'da temel konfigürasyon
Arduino'yu Python'a bağlamanın ilk adımı kroki Arduino'dan. Arduino IDE'de yazılan bu kod, kartın Python'un kendisine gönderdiği verileri almasını ve işlemesini sağlayacaktır. Örneğin, aşağıdaki program, alınan verilere bağlı olarak pin 13'teki bir LED'i açıp kapatmanıza olanak tanır:
void setup() { Serial.begin(9600); pinMode(13, ÇIKIŞ); } void loop() { if (Serial.available() > 0) { char data = Serial.read(); if (veri == '1') { digitalWrite(13, YÜKSEK); } else if (veri == '0') { digitalWrite(13, LOW); } } }
Bu kod seri port üzerinden 9600 baud hızında iletişim kurar ve karakterleri almayı bekler. '1' o '0' Entegre LED'i açmak veya kapatmak için.
Python ile bağlantı
Arduino yapılandırıldıktan sonra kartla bağlantıyı kuran ve komutları gönderen bir Python programı yazmanın zamanı geldi. Aşağıda kütüphaneyi kullanan basit bir örnek verilmiştir PySeri:
seri içe aktarma zamanı # Arduino seri port konfigürasyonu = seri.Serial('COM3', 9600) time.sleep(2) # Bağlantıyı stabilize etmek için bekleyin # Komutları gönderin arduino.write(b'1') print("LED açık " ) time.sleep(2) arduino.write(b'0') print("LED kapalı") arduino.close()
Bu komut dosyası seri bağlantı noktasını açar, komutu gönderir '1' LED'i açmak için iki saniye bekleyin ve ardından gönderin '0' kapatmak için. COM portunu anakartınızın işletim sistemine ve bağlantısına göre ayarlamayı unutmayın.
Seri port tanımlama
Arduino ve Python'un düzgün bir şekilde iletişim kurabilmesi için Arduino'nun bağlı olduğu seri bağlantı noktasını belirlemek çok önemlidir. İçinde WindowsAygıt Yöneticisi'nden kontrol edebilirsiniz. Sistemlerde Linux o macOS, komutu kullanın ls /dev/
terminalde buna benzer bir şey bulmak için /dev/ttyUSB0.
Gelişmiş örnek: Sensör okuması
Arduino ve Python arasındaki iletişimin bir diğer pratik kullanımı da Arduino'ya bağlı sensörlerden veri okumak ve bunu gerçek zamanlı olarak Python'da görüntülemektir. Örneğin, bir Sıcaklık sensörü:
Arduino'nun kodu:
int sensörPin = A0; void setup() { Serial.begin(9600); } void loop() { int sensörDeğeri = analogRead(sensorPin); Serial.println(sensorValue); gecikme(1000); }
Python kodu:
seri içe aktarma zamanı arduino = seri.Serial('COM3', 9600) time.sleep(2) while True: sensör_data = arduino.readline().decode('utf-8').strip() print(f"Value) sensör: {sensor_data}")
Bu örnek, Arduino üzerindeki sensör değerlerini alıp Python konsoluna yazdırarak verilerin gerçek zamanlı olarak izlenmesine olanak sağlar.
Yapay görüşle olanakları genişletme
Projenizi bir sonraki aşamaya taşımak istiyorsanız geliştirme görevleri için Python ve Arduino'yu entegre edebilirsiniz. yapay görüş OpenCV'yi kullanarak. Örneğin birisinin maske takıp takmadığını algılayan ve sonuca göre renkli LED ışıkları yakan bir sistem:
- Un Mavi LED kişinin maske taktığını gösterir.
- Un Kırmızı led Bir maske algılamadığında açılır.
Mediapipe ve OpenCV'yi kullanarak yüz algılama için bir model eğitebilir ve sonuçları LED'leri buna göre yönlendirmesi için Arduino'ya gönderebilirsiniz.
Arduino ve Python'un birleşimi, yaratıcı ve eğitici projeler için sayısız olasılığın kilidini açıyor. LED'leri kontrol etmek gibi basit görevlerden sensörler ve makine görüşü içeren gelişmiş uygulamalara kadar bu araçlar, elektronik ve programlama alanındaki öğreniminizi en üst düzeye çıkarmak için mükemmel bir kombinasyon sunar.