İçindekiler:
- Gereçler
- Adım 1: Devrenizi İnşa Etmek:
- Adım 2: Arduino'nuzu Programlama:
- Adım 3: Python'u Arduino'dan Grafik Verileri için Programlama:
- Adım 4: Bir Odadaki Işığın Yoğunluğunu Kontrol Etmek İçin Son Program
- Adım 5: Sonuç:
Video: Arduino ve Python'un Arduino Ana Kitaplığını Kullanarak Işık Yoğunluğu Çizimi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Arduino, ekonomik ancak oldukça verimli ve işlevsel bir araç olduğundan, onu Gömülü C'de programlamak, proje yapma sürecini sıkıcı hale getirir! Python'un Arduino_Master modülü bunu basitleştirir ve hesaplamalar yapmamıza, gereksiz değerleri kaldırmamıza ve verilerin görsel bir temsili için bir grafik çizmemize izin verir.
Bu modülü henüz bilmiyorsanız, pip install Arduino_Master komutunu kullanarak kurun.
Bu modülü nasıl kullanacağınızı bilmiyorsanız endişelenmeyin, bu bağlantıyı ziyaret edin => Arduino_Master
Ancak, bu projenin kodu bu talimatta her zaman mevcut olacaktır.
Gereçler
Bu proje için aşağıdakilere ihtiyacınız olacak:
- Arduino
- Bir Işık Bağımlı Direnç (LDR) ve
- Python 3 bilgisayarınızda yüklü.
Adım 1: Devrenizi İnşa Etmek:
Giriş verilerini almak için Arduino'nun A1 pinini kullanacağız. Pil yerine Arduino'nun 5V ve GND pinlerini de kullanabilirsiniz. Bağlantıyı aşağıdaki gibi yapın:
- LDR'nin bir ucunu 5V pilin pozitif terminaline veya Arduino'nun 5V pinine bağlayın.
- LDR'nin diğer ucunu, pilin A1 pinine ve negatif terminaline veya Arduino'nun GND pinine paralel olarak bağlayın.
- Tüm akımın GND'ye akmadığından emin olmak için bir direnç kullanın; bu, Arduino'nun A1 terminalinde algılamak için yeterince güçlü bir sinyal alamamanıza neden olur. (10k ohm'luk bir direnç kullanıyorum).
Adım 2: Arduino'nuzu Programlama:
Arduino_Master modülü, veri göndermek ve almak için Arduino'nun Seri Monitörünü kullanır. Bu modülü kullanmanın avantajı, Arduino'nuzu bir kez programladığınızda, python'da programlama nispeten daha kolay olduğu için python programını farklı projeler için tek başına değiştirebilirsiniz!
Kod:
// LDR_1 değişkeni Arduino'nun A1 pinini belirtmek için kullanılır.
int LDR_1 = A1;
// A1'den alınan veriler LDR_Value_1 içinde saklanacak.
kayan LDR_Value_1;
Dizi girişi;
geçersiz kurulum()
{ pinMode(LDR_1, GİRİŞ); // LDR_1, INPUT pini olarak ayarlanır. Seri.başla(9600); // İletişim baud hızı 9600 olarak ayarlanmıştır. }
boşluk döngüsü()
{ if(Serial.available()>0) // seri monitörde herhangi bir giriş varsa devam edin. { input=Serial.readString(); // Girdiyi string olarak oku. if(input=="DATA") { LDR_Value_1=analogRead(LDR_1) * (5.0 / 1023.0); // (5 / 1023), Volt cinsinden değer almak için dönüştürme faktörüdür. Serial.println(LDR_Value_1); // Giriş "DATA"ya eşitse, LDR_1'den girişi okuyun ve Seri Monitörde yazdırın. } başka int i=0; // giriş "DATA"ya eşit değilse hiçbir şey yapmayın ! }
}
Adım 3: Python'u Arduino'dan Grafik Verileri için Programlama:
Her LDR'nin kendi direnç değerleri olacaktır ve hiçbir elektronik bileşenin çalışma sırasında tam olarak aynı olmadığını hatırlamamız gerekir. Bu nedenle önce farklı ışık yoğunluklarındaki voltajı bulmalıyız.
Aşağıdaki programı python IDE'nize yükleyin ve çalıştırın:
Bunu farklı ışık yoğunlukları için yapın ve grafiği kullanarak bir sonuç çıkarın, örneğin yoğunluk 1'den azsa, oda çok karanlıktır. 1 ile 2 arasındaki yoğunluk için oda oldukça karanlıktır. 2'den büyük yoğunluk için ışık açılır.
# Arduino_Master modülünü içe aktarma
Arduino_Master'dan içe aktarma *
# veri toplama
data=filter(ardata(8, sıkmak=Yanlış, dinamik=Doğru, msg="DATA", satırlar=30), beklenen_type='num', limit=[0, 5])
# 5V pil kullandığımız için limit 5 olarak ayarlanmıştır.
# Değerlerin çizilmesi
Graph(data, stl='dark_background', label='Işık Yoğunluğu')
Adım 4: Bir Odadaki Işığın Yoğunluğunu Kontrol Etmek İçin Son Program
Aldığınız verilerden bir sonuca vardıktan sonra aşağıdaki programı yükleyin ve sonuca göre limitleri değiştirdiğinizden emin olun.
# Arduino_Master modülünü içe aktarma
Arduino_Master'dan içe aktar # veri toplama verisi=filter(ardata(8, sıkma=Yanlış, dinamik=Doğru, msg="DATA", satır=50), beklenen_tip='num', limit=[0, 5]) #sınıflandırma veri sonuca dayalı bilgi= i in range(len(data)): yoğunluk=veri ise yoğunluk 1 ve yoğunluk=2: info.append('Işık AÇIK') # Grafiğin Çizilmesi. compGraph(data, info, stl='dark_background', label1='Işık Yoğunluğu', label2='Durum')
Adım 5: Sonuç:
Arduino'dan 50 anlık değer okuduğunuz için programın çalışması bir veya iki dakika sürecektir.
İşlemi hızlandırmak istiyorsanız, ardata işlevinin satır parametresini değiştirmeyi deneyin. Ancak, gözlemler ne kadar az olursa, verilerin kalitesinin de o kadar az olacağını unutmayın.
Not: Yukarıdaki resimdeki grafiğin tamamı görünmüyorsa Giriş bölümünün üzerindeki grafiğe bakın.
Önerilen:
Arduino Işık Yoğunluğu Lambası: 3 Adım
Arduino Light Intensity Lamp: Bu devre gerçek bir lamba, okul projesi ve eğlenceli bir meydan okuma olarak kullanılabilir. Bu devrenin kullanımı ve yapımı kolaydır, ancak daha önce tinker cad kullanmadıysanız, önce denemek isteyebilirsiniz
Arduino Işık Yoğunluğu Lambası: 6 Adım
Arduino Işık Yoğunluğu Lambası: Arduino ile bir ışık Yoğunluğu Lambasının nasıl oluşturulacağı ve kodlanacağı konusundaki öğreticime hoş geldiniz. Bunu yapabilmek için bu bileşenlere ihtiyacınız olacak.* LDR * Arduino mikrodenetleyici* Ampul* Röle * Bir güç kaynağı* Breadboard * 1 k-ohm dirençİnşallah
Android / Arduino / PfodApp Kullanarak Basit Uzaktan Veri Çizimi: 6 Adım
Android / Arduino / PfodApp Kullanarak Basit Uzaktan Veri Çizme: Yalnızca Arduino'nun millis() kullanarak Tarih/Saate göre Veri Çizmek için bu InstructableArduino Tarih/Saat Çizme/Millis () ve PfodApp Kullanarak Günlüğe Kaydetme Bu Talimat, Arduino sensör verilerini cihazınızda nasıl çizeceğinizi gösterir. Android mobil ve bunun için yakalayın
BH1715 ve Arduino Nano Kullanarak Işık Yoğunluğu Hesaplaması: 5 Adım
BH1715 ve Arduino Nano Kullanarak Işık Yoğunluğu Hesaplaması: Dün LCD ekranlar üzerinde çalışıyorduk ve bunlar üzerinde çalışırken ışık yoğunluğu hesaplamasının önemini fark ettik. Işık yoğunluğu sadece bu dünyanın fiziksel alanında önemli değildir, aynı zamanda biyolojik alanda da iyi söylenen rolü vardır
BH1715 ve Parçacık Fotonu Kullanarak Işık Yoğunluğu Hesaplaması: 5 Adım
BH1715 ve Parçacık Fotonu Kullanarak Işık Yoğunluğu Hesaplaması: Dün LCD ekranlar üzerinde çalışıyorduk ve bunlar üzerinde çalışırken ışık yoğunluğu hesaplamasının önemini fark ettik. Işık yoğunluğu sadece bu dünyanın fiziksel alanında önemli değildir, aynı zamanda biyolojik alanda da iyi söylenen rolü vardır