İçindekiler:
Video: LED Matrisinin Tarayıcı Olarak Kullanılması: 8 Adım (Resimlerle)
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Yazar:
Hakkında: Açık kaynaklı yazılım, 3D baskı, bilim ve elektronik ile ilgilenen bir hobiciyim. Çalışmamı desteklemek için lütfen mağazamı veya Patreon sayfamı ziyaret edin! marciot hakkında daha fazla bilgi »
Sıradan dijital kameralar, bir nesneden yansıyan ışığı yakalamak için çok sayıda ışık sensörü kullanarak çalışır. Bu deneyde, geriye dönük bir kamera yapıp yapamayacağımı görmek istedim: bir dizi ışık sensörüne sahip olmak yerine, sadece tek bir sensöre sahibim; ama 32 x 32 LED matrisinde 1.024 ayrı ışık kaynağının her birini kontrol ediyorum.
Çalışma şekli, Arduino'nun ışık sensöründeki değişiklikleri izlemek için analog girişi kullanırken bir seferde bir LED yakmasıdır. Bu, Arduino'nun sensörün belirli bir LED'i "görebildiğini" test etmesini sağlar. Bu işlem, görünür piksellerin bir haritasını oluşturmak için hızla 1.024 ayrı LED'in her biri için tekrarlanır.
LED matrisi ve sensör arasına bir nesne yerleştirilirse, Arduino, yakalama tamamlandığında "gölge" olarak aydınlanan o nesnenin siluetini yakalayabilir.
BONUS: Küçük ince ayarlarla, aynı kod, LED matrisi üzerinde boyama için bir "dijital kalem" uygulamak için kullanılabilir.
1. Adım: Bu Yapıda Kullanılan Parçalar
Bu proje için aşağıdaki bileşenleri kullandım:
- Breadboard ile Arduino Uno
- 32x32 RGB LED matrisi (AdaFruit veya Tindie'den)
- 5V 4A Güç Adaptörü (AdaFruit'ten)
- Dişi DC Güç Adaptörü 2.1 mm jaktan Vidalı Terminal bloğuna (AdaFruit'ten)
- Net, 3 mm TIL78 fototransistör
- Atlama telleri
AdaFruit ayrıca jumper kabloları yerine kullanılabilecek bir Arduino kalkanı da satmaktadır.
Biraz Tindie kredim olduğu için, matrisimi Tindie'den aldım, ancak AdaFruit'teki matris aynı görünüyor, bu yüzden ikisinden biri çalışmalı.
Fototransistör, onlarca yıllık parça koleksiyonlarımdan geldi. TIL78 olarak etiketlenmiş 3 mm'lik şeffaf bir parçaydı. Anlayabildiğim kadarıyla, bu kısım IR içindir ve şeffaf bir kasa veya görünür ışığı engelleyen karanlık bir kasa gelir. RGB LED matrisi görünür ışığı söndürdüğü için net versiyon kullanılmalıdır.
Bu TIL78'in üretimi durdurulmuş gibi görünüyor, ancak bu projenin çağdaş fototransistörler kullanılarak yapılabileceğini hayal ediyorum. İşe yarayan bir şey bulursanız, bana bildirin ve bu Eğitilebilir Tabloyu güncelleyeceğim!
Adım 2: Fototransistörü Kablolama ve Test Etme
Normalde, güç boyunca fototransistör ile seri olarak bir dirence ihtiyacınız olacaktır, ancak Arduino'nun herhangi bir pin üzerinde dahili bir çekme direncini etkinleştirme yeteneğine sahip olduğunu biliyordum. Herhangi bir ek bileşen olmadan fototransistörü Arduino'ya bağlamak için bundan faydalanabileceğimden şüphelendim. Önsezimin doğru olduğu ortaya çıktı!
Fototransistörü Arduino'daki GND ve A5 pinlerine bağlamak için teller kullandım. Daha sonra A5 pinini INPUT_PULLUP olarak ayarlayan bir çizim oluşturdum. Bu normalde anahtarlar için yapılır, ancak bu durumda fototransistöre güç sağlar!
#define SENSÖR A5
geçersiz kurulum() { Serial.begin(9600); pinMode(SENSÖR, INPUT_PULLUP); } void loop() { // Analog değeri sürekli oku ve yazdır Serial.println(analogRead(SENSOR)); }
Bu çizim, değerleri ortam parlaklığına karşılık gelen seri bağlantı noktasına yazdırır. Arduino IDE'nin "Araçlar" menüsündeki kullanışlı "Seri Plotter"ı kullanarak, ortam ışığının hareketli bir grafiğini elde edebilirim! Fototransistörü ellerimle kapatıp açtığımda, arsa yukarı ve aşağı hareket ediyor. Güzel!
Bu çizim, fototransistörün doğru polarite ile kablolanıp bağlanmadığını kontrol etmenin güzel bir yoludur: fototransistör bir yöne bağlıyken diğerine karşı daha hassas olacaktır.
Adım 3: Matrix Şerit Kablosunu Arduino'ya Bağlama
Matrisi Arduino'ya bağlamak için Adafruit'in bu kullanışlı kılavuzundan geçtim. Kolaylık sağlamak için diyagramı ve pinleri bir belgeye yapıştırdım ve her şeyi bağlarken kullanmak için hızlı bir referans sayfası yazdırdım.
Konektör üzerindeki tırnağın şemadaki ile eşleşmesine dikkat edin.
Alternatif olarak, daha temiz bir devre için AdaFruit'in bu paneller için sattığı RGB matris kalkanını kullanabilirsiniz. Kalkanı kullanırsanız, fototransistör için bir başlıkta veya kablolarda lehimlemeniz gerekecektir.
Adım 4: Matrisin Bağlanması
Kutupların doğru olduğundan emin olarak, matris güç kablolarındaki çatal terminallerini jak adaptörüne vidaladım. Terminallerin bir kısmı açıkta kaldığından, güvenlik için her şeyi elektrik bandıyla sardım.
Ardından, bu süreçte atlama tellerini rahatsız etmemeye dikkat ederek güç konektörünü ve şerit kabloyu taktım.
Adım 5: AdaFruit Matrix Kitaplığını Kurun ve Matrix'i Test Edin
Arduino IDE'nize "RGB matrix Panel" ve AdaFruit "Adafruit GFX Library" kurmanız gerekecek. Bunu yapmak için yardıma ihtiyacınız varsa, öğretici gitmek için en iyi yoldur.
Devam etmeden önce RGB panelinizin çalıştığından emin olmak için bazı örnekleri çalıştırmanızı öneririm. Oldukça harika olduğu için "plasma_32x32" örneğini öneriyorum!
Önemli not: 5V beslemesini matrise takmadan önce Arduino'yu çalıştırırsam, matrisin loş bir şekilde yanacağını buldum. Görünüşe göre matris Arduino'dan güç almaya çalışıyor ve bu kesinlikle onun için iyi değil! Arduino'yu aşırı yüklemekten kaçınmak için, Arduino'yu çalıştırmadan önce daima matrisi çalıştırın!
Adım 6: Matris Tarama Kodunu Yükleyin
Arduino Yarışması 2019 İkincilik Ödülü