İçindekiler:

LED Görsel İşitsel Ekran: 8 Adım
LED Görsel İşitsel Ekran: 8 Adım

Video: LED Görsel İşitsel Ekran: 8 Adım

Video: LED Görsel İşitsel Ekran: 8 Adım
Video: Arduino 8x8 Dotmatrix - Dotmatris Kullanımı - Led Tabela - 59 - 2024, Temmuz
Anonim
Image
Image
LED Görsel İşitsel Ekran
LED Görsel İşitsel Ekran
LED Görsel İşitsel Ekran
LED Görsel İşitsel Ekran

beckslelandsimpson tarafındanYazarın daha fazlasını izleyin:

Hurdalardan Sıfırdan Bir Bahçe Başlatın
Hurdalardan Sıfırdan Bir Bahçe Başlatın
Hurdalardan Sıfırdan Bir Bahçe Başlatın
Hurdalardan Sıfırdan Bir Bahçe Başlatın

[UYARI: VİDEODA YANIP SÖNEN IŞIKLAR]

RGB LED matrisleri, hafif ekranlarla denemeler yapmak isteyen, ancak genellikle boyutları ve konfigürasyonları açısından ya pahalı ya da kısıtlayıcı olan hobiler için ortak bir projedir. Bu projenin amacı, kendi başına bağımsız bir parça olarak veya çeşitli Joystick ve Düğmeler kullanılarak bir konsol tarafından kontrol edilen etkileşimli bir ekran olarak çalışabilen yeniden yapılandırılabilir bir ekran oluşturmaktı. Ekran, bir matris oluşumundan daha statik bir dekoratif doğrusal şeride kadar çeşitli düzenlerde düzenlenebilir.

Çeşitli Ses Sensörleri, Düğmeler ve Joystickler eklenerek ekran, yapılandırılabilir renkler, efektler, modlar, hızlar, parlaklık ve desenlerle etkileşimli ve otomatik modlar arasında değiştirilebilir.

Kullanıcılar, MODE ve YAPILANDIRMA düğmelerini kullanarak, Joystick ve SEÇİM düğmesini kullanarak seçimlerini yapmak için modlar ve yapılandırmalar arasında geçiş yapabilir. Kullanıcının mevcut seçimi, konsolun ortasındaki 16x2 LCD ekranda gösterilir.

Bu proje, 250 LED'den oluşan bir LED şeridi içeriyordu, ancak kod, herhangi bir boyutta bir şeride izin verecek şekilde kolayca değiştirilebilir.

Modlar

  • Oyunlar: Oyunlar, ekran olarak led matris kullanılarak oynanabilir.
  • Gürültü: LED'ler çevresel gürültü hacmine ve frekansına göre yanar.
  • Renk: Önceden tanımlanmış bir renk paletini gösteren ışık olarak kullanılan LED'ler.
  • Yağmur: Düşen Yağmur Işık Efektleri

Mod Yapılandırmaları

  • Renk - Şeridin renk paletini ayarlar

    • Gurur Bayrağı - Gökkuşağı
    • Trans Bayrak - Mavi, Pembe, Beyaz
    • Ateş - Kırmızı, Turuncu, Sarı
    • Açık - Beyaz
  • Stil - Şerit görüntüleme efektini ayarlar

    • Blok - Mod renginde, LED'lerin renkleri sabit kalırsa, mod gürültüsünde tüm LED'lerin en son gürültü rengi değerine ayarlanmasına neden olarak yanıp sönme efekti oluşturur.
    • Işıltılı - Alternatif LED'ler, açık ve kapalı arasında sönerek salınım yapar.
    • İz - Renk modundaysa, LED'lerin renk şeması şerit boyunca hareket eder. Mod gürültüsünde, parazit renklerinin şerit boyunca hareketli bir dalga olarak hareket etmesine neden olur.
  • Rain Effect - Yağmur desenleri nasıl oluşturulur?

    • Rastgele - Yeni yağmur şeritleri rastgele konumlandırılır ve desen değişir.
    • Sabit - Yağmur düzeni tekrar eder.
  • Oyun - Matrix'te hangi oyunu oynayabilirsiniz?

    Snake - Viva la Nokia, yalnızca şerit matris yapılandırmasındayken oynanabilir

  • Efekt Rengi - Efektler hangi renk kaynağını kullanıyor?

    • Renk Kümesi - Efektler (ör. yağmur) ayarlanan renk paletinden rastgele bir renk alır.
    • Gürültü Frekansı - Efektler oluşturulduğunda mevcut gürültü frekansına karşılık gelen rengi alır.
    • Noise Vol - Efektler oluşturulduğunda, mevcut gürültü hacmine karşılık gelen rengi alır.
  • Boyut - Ekran nasıl düzenlenir?

    • 250x1 Şerit
    • 50x5 Matris
    • 25x10 Matris

Hız ve Parlaklık

LED'lerin parlaklığını ve ekranın güncelleme hızını değiştirmek için döndürülebilir analog potansiyometrelerle kontrol edilir. Bu, büyük ölçüde ışık efektlerinin yoğunluğunu ve oyunların zorluğunu etkiler.

Flaş ve LED Durumu

Konsolun sol üst Anahtarı, ekran yapılandırılırken bir seçenek olarak LED'lerin kapatılmasına izin verir. Sol alttaki Anahtar, Flaş Efektini açar ve ekranda ayarlanan hızda yanıp söner.

Adım 1: Gereksinimler

Bileşenler:

  • Ekmek Tahtası ~ £ 5
  • StripBoard ~ £ 10, set 5 için
  • Arduino Mega (herhangi bir klon yapar) ~ 20 £
  • 2x 1M potansiyometre dirençleri
  • 300 RGB Bireysel Adreslenebilir Şerit ~ 30 £
  • Pin Başlıkları ~ £5
  • 10x 10K, 1x 300 Dirençler
  • I2C LCD Modülü ~ £5
  • 4 Anahtarlı Joystick ~ £10
  • Ses Sensörü ~ £5
  • 1x 1μF, 1x 10μF, 1x 100nF Kondansatörler
  • 3x (Anlık) Düğmeler. Öneriler: Oyun Salonu, Mini ~ 3 £
  • 2x Anahtarlar. Öneriler: Aç/Kapat ~ £5
  • Güç Girişi
  • Kutu ~ 20x20x15cm - Karton en kolayıdır, ancak bir lazer kesiciye erişiminiz varsa, yaparsınız.

Joystick/Button önerilerim, bir arcade temasından sonra tamamen stilistik seçimlerdi; herhangi bir nitelikteki anlık anahtarlar yapacaktır. 2 potansiyometre (her eksen için bir tane) kullanılarak üretilen analog sinyaller aracılığıyla konumlarını bildiren daha ucuz joystickler elde edilebilir. Kodu değiştirmeye hazırsanız, bunun gibi parmak Joystick'lerini kullanabilirsiniz.

Arduino Megas I/O pinlerinin minimum yüzdesini kullanırken, Arduino Uno'nun yetersiz kaldığı daha büyük dinamik ve program bellek boyutu için seçildi.

LEDŞerit Seçimi

Kullandığım LED şeridi, ayrı ayrı adreslenebilir bir 300 RGB WS2813 LED esnek şeridiydi. WS2812'nin yükseltilmiş bir versiyonu, Bu format biraz daha pahalı olsa da, çift sinyal iletimi ile WS2812'yi geliştirir; bu, bir LED'in çalışmayı durdurması durumunda, şeridin geri kalanının çalışmaya devam etmesi anlamına gelir. 4 pini vardır: 5V, GND, DI (veri girişi) ve BI (yedek giriş).

Toplam Maliyet: ~ 100 £

Teçhizat:

  • Havya + Lehim
  • Multimetre (isteğe bağlı, ancak önerilir)
  • Tel kesiciler ve striptizciler
  • Tel: tercihen tek damarlı, esnek (LOTS)
  • neşter
  • Cetvel/Kalemler
  • 1x 5V Güç Kaynağı
  • Manuel tornavidalar
  • Yazıcı A'dan B'ye USB Kablosu

Yazılım:

Arduino IDE'si

Yetenekler:

  • Lehimleme
  • Bazı Arduino Deneyimi, ancak kesinlikle gerekli

Adım 2: Şematik ve Kod

Şematik ve Kod
Şematik ve Kod
Şematik ve Kod
Şematik ve Kod
Şematik ve Kod
Şematik ve Kod

Bu proje 2 Potansiyometre, 1 Ses Sensörü, 1 LED Strip, 3 Momentary Buton, 1 Joystick (4 Momentary Buton), 1 LCD Modül ve 2 Switch'ten oluşmaktadır.

Uzun süreli dayanıklılık için bir sonraki adımda elektroniği stripboard'a lehimlemeden önce, kablolamayı anladığınızdan ve bir breadboard üzerindeki temel devreyi kurmanızı tavsiye ederim. En azından çeşitli Arduino pinlerini varsayılan YÜKSEK(5V)/DÜŞÜK(GND) değerlerine bağlayabilmeli ve LEDStrip'in orijinal ayarlarını kodda farklılaştırmayı deneyebilmelisiniz (bu işaretlidir - kod adımına bakın) görmek için bazı ön ışık efektleri.

Ses Devresi

Ses devresi bir sonraki adımda tartışılacaktır ve yalnızca ses efektleri istiyorsanız gereklidir, aksi takdirde AUDIO analog giriş pinlerini A0, A1'den GND'ye bir aşağı çekme direnci (~300 Ohm) ile kolayca bağlayabilirsiniz. Bu devre, ses görselleştirmelerini kontrol etmek için iki farklı giriş değeri vererek, ölçülen sesin Frekansını ve Hacmini çıkarmaya çalışır; yükseklik (hacim genliği) ve renk (frekans).

LED şerit

WS2813 şeridi için veri sayfasını ekledim, bu ideal kablolamayı sunuyor. BI pini bir direnç üzerinden zemine çekilebilir ve GND ile +5V arasına bir kondansatör bağlanmalı ve şeride yakın yerleştirilmelidir. Bu, şeridin mevcut talebindeki ani değişiklikleri yumuşatır, örneğin tüm LED'ler açıldığında ani büyük bir artış olursa, depolanan yükü kullanan kapasitör bunu Arduino'dan daha hızlı besleyerek kart bileşenlerindeki gerilimi azaltır.

Şerit, FASTLED kitaplığı kullanılarak kontrol edilir (daha fazla ayrıntı için kod adımına bakın) ve pim 5'e bağlanır.

LCD Modülü

Önerdiğim LCD modülü dahili bir devre kullanır, böylece sadece 2 giriş pini gerektirir, bu da onu devreye lehimlemenin karmaşıklığını büyük ölçüde azaltır. SCL, SDA pinlerine bağlanır.

potansiyometreler

Potansiyometreler, dahili pinde ölçülen voltajı kontrol etmenizi sağlayan değişken dirençlerdir, Arduino bunu analog bir değer olarak okuyabilir. Bunları ekranın hızını ve parlaklığını manuel olarak kontrol etmenin etkileşimli bir yolu olarak kullandım ve analog giriş pinlerine bağlılar: A3, A2.

Harici güç

Daha küçük projeler için (< 20 LED) Arduino'ya yalnızca USB üzerinden güç sağlanabilir, ancak bu daha büyük kullanım durumu için (250 LED), büyük akım talebi nedeniyle harici bir + 5V güç kaynağı gereklidir. Arduino'ya, Arduino'nun GND ve VIN'ine bağlı harici bir jak aracılığıyla güç verdim. Yalnızca USB üzerinden güç verildiğinde, LED'lerin renkleri bozulacak ve LCD ekran tam olarak aydınlatılmayacaktır.

Düğmeler/Anahtarlar/Joystick

Nötr konumda, düğmelerin INPUT pinleri GND'ye çekilir ve Arduino dijital DÜŞÜK okur, ancak basıldığında, pinler +5V dijital YÜKSEK okumaya bağlanır. Tipik bir Arduino düğmesi örneği için buraya bakın. Bu okuma değerleri, program için koşullu boole değerleri olarak kullanılabilir ve farklı kod bölümlerinin yürütülmesine neden olur. Düğmeler/Anahtarlar aşağıdaki dijital giriş pinlerine bağlanır: Mod/Yapılandırma: 3/2. Joystick Sol/Sağ/U/D: 10/11/13/12. Seçin: 9.

3. Adım: Ses Efektleri

Ses Efektleri
Ses Efektleri
Ses Efektleri
Ses Efektleri
Ses Efektleri
Ses Efektleri

Devrenin en karmaşık kısmı Ses Voltajı - Frekans Dönüştürücüsüdür. Yukarıda gösterilen şemayı takip ettim (Daha fazla bilgi için buraya bakın). Kondansatörde biraz değişiklik, ses sinyalinizin gücüne bağlı olarak direnç değerleri gerekebilir. Verilen örnek, alternatif bir 12V sinyali kullandı, besleme voltajı olarak 3.3V kullanarak ve ses sensörüne 5V besleyerek iyi sonuçlar buldum.

Bu devreden çıkardığım iki sinyal frekans (VOUT) ve hacim (V2 +) idi.

Faydalı Notlar

Daha büyük Kapasitörler (kabaca 1µF'nin üzerinde eşik, seramik olmayan) polarizedir, bunlara Elektrolitik Kapasitörler dahildir, içlerindeki akım +'dan -'ye akar. Şemada, düzenlenmeleri gereken yönü not ettim.

Bu devrede kullanılan transistör PNP'dir, bu transistörler, emitöre göre tabanlarına negatif bir polarite uygulandığında emiterden kollektöre akımın akmasına izin verir.

Hüzün #1

Başlangıçta sesi bir ses jakı kullanarak devreye sokmaya çalıştım, hayalim sesi doğrudan telefonumdan bağlamaktı. Ne yazık ki, bunun ürettiği sinyal çok zayıf görünüyordu ve onu çalıştırmak için bir hafta uğraştıktan sonra, bir ses sensörü modülü kullanmaya başladım. Kullanabileceğim amplifikasyon teknikleri olduğundan eminim ve bu kesinlikle projemde gelecekte düzeltmeye çalışacağım ana konu.

4. Adım: Konsol Tasarımı ve Oluşturma

Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma
Konsol Tasarımı ve Oluşturma

Konsol tasarımım, retro Joystick, düğmeler ve geçiş anahtarları ile eski okul oyun salonlarından ilham aldı. Eski bir karton kulaklık kutusu kullanarak yaptım (istiflemenin kullanımları vardır); Bu, kutunun bir köpük iç astarına sahip olması nedeniyle oldukça etkiliydi, bu yüzden bir kez ters çevrildiğinde güzel bir cilalı etki yarattı.

  1. İstediğiniz konsolun genel düzenini çizin.
  2. Kutunun üzerindeki farklı bileşenlerin konumlarını ölçün ve işaretleyin. Düğmelerin/anahtarların/joysticklerin iç ölçülerini aldığınızdan emin olun, çünkü boşlukların bileşenleri bastırmaya yetecek kadar büyük olmasını, ancak yine de dış kenarlarının kartona yapışmasını sağlayın. Bu delikleri kesmek için bir neşter kullanmanızı öneririm, ancak dairesel delikler için tornavidalarla birlikte keskin bir makas hile yapmalıdır. Yavaşça kesin, bileşeni yerleştirmeye çalışın ve tutucuları kademeli olarak büyütün, her seferinde bir bileşen yapın.
  3. Joystick ve LCD ekran gibi daha büyük bileşenleri, güvenli bir şekilde yerinde tutmak için konsolun üst kısmından bazı somunları/cıvataları vidalamanızı öneririm.
  4. Konsolun arkasının alt kısmında üç delik açın, bunlar güç girişi, isteğe bağlı olarak Arduino'yu programlamak için USB girişi ve LEDStrip çıkış konektörü için olacaktır.

En iyi ipuçları

Erişim kolaylığı ve kartonun yanma riskini azaltmak için, bileşen metal konektörlerinin her birini konsola yerleştirmeden önce önceden lehimlemenizi öneririm.

Adım 5: Lehim Şeması

Lehim Şeması
Lehim Şeması
Lehim Şeması
Lehim Şeması
Lehim Şeması
Lehim Şeması
Lehim Şeması
Lehim Şeması

En az 25 sıra 20 sütun boyutunda bir şerit tahta parçasına ihtiyacınız olacak. Bununla birlikte, daha büyük olanı seçerek, Mikro Denetleyicinizi, kabloların yanındaki Stripboard'a mavi-tack yapabileceksiniz, bu, tek stabil olmayan bağlantıların Stripboard ile konsol yüzeyine bağlı bileşenler arasındaki bağlantı olacağı anlamına gelir. Bu sürecin her adımında esas olan, uzun ömürlü bir nihai ürün sağlamak için herhangi bir kablolamanın maruz kalabileceği yükü mümkün olduğunca azaltmaktır.

Kabloları temiz bir şekilde gruplar halinde düzenlemek ve hata ayıklama için kolayca ayrılabilecek şekilde Arduino'ya bağlamak için pin başlıklarını kullandım.

Karton kutunun iç duvarına bağlamak için bir miktar ip/tel kullanarak en ağır devreyi tutan Stripboard'u kısmen destekledim.

Konsoldan çıkan ana güç ve LEDStrip kabloları, ayrılabilen orta kablo konektörlerine sahipti, bu, kabloların konsolun altındaki deliklerden geçirilebileceği ve kutunun açılmasına izin verebileceği anlamına geliyordu.

Lehimleme İpuçları

Lehimleme sırasında Telleri/Şerit Levhaları tutmak için bir kelepçe işlemi çok daha kolay hale getirecektir. Her teli bağlamaya çalışmadan önce her zaman önceden lehimleyin.

Düzen İpuçları

Tüm dış teller (Arduinos pinlerine giden) kartın kenarında bulunur.

Mümkünse yakın sıralarda farklı renkte kablo kullanmak kablo karmaşasını önlemeye yardımcı olur.

GND, +3.3V, +5.5V her zaman kenar sıralarına yerleştirilmelidir, kolay tanımlama için GND ve +3.3/5V'yi zıt kenarlara yerleştirmek olası kısa devreyi önlemeye yardımcı olur ama şahsen ben zahmet etmedim ve ilk 3'e yerleştirdim satırlar. Konsolun düzeni, kablo sıralarının sırasını kısmen belirleyebilir, yakındaki bileşenler yakındaki satırlara eşlenir, Arduino IDE'deki PIN numaraları her zaman yeniden yazılabilir.

Konsolun arkasındaki düğmelerin/dirençlerin tüm +5V pinlerini bir papatya zincirinde birbirine lehimleyerek, Stripboard ve konsolun üst kısmı arasında yalnızca bir +5V kabloya ihtiyaç duyulur, bu da savunmasız bağlantı kablolarının sayısını büyük ölçüde azaltır. Örneğin joystick'in 4 anahtarı için tüm 5V terminallerini birbirine bağladım.

Stripboard ve konsol arasında uzanan kabloların uzunluğunda cömert olun, daha sonra azaltmak, artırmaya çalışmaktan çok daha kolay.

Mümkünse Stripboard ve konsol bileşenleri arasında esnek kablo kullanın, bu daha sonra konsolu açmayı ve hata ayıklamayı kolaylaştırır.

Adım 6: Uzantı 1: LED Matrisi

Uzantı 1: LED Matrisi
Uzantı 1: LED Matrisi
Uzantı 1: LED Matrisi
Uzantı 1: LED Matrisi
Uzantı 1: LED Matrisi
Uzantı 1: LED Matrisi

LED Strip'i olduğu gibi konsola bağlayarak, yağmur, renk, flaş ve gürültü efektlerinin çoğu görüntülenebilir, ancak görselleştirme formu sınırlıdır. Kod, ekranın 250x1, 50x5 ve 25x10 düzenlerinde daha fazla yapılandırılmasına izin verir, bu da matris görselleştirmelerine izin verir. Gürültü hareketli dalgalar olarak gösterilebilir, oyunlar matris üzerinde düşük çözünürlüklü bir ekran gibi oynanabilir. 25 piksel bireysel şerit uzunluğu seçimi kişiseldi ve bunu kendiniz seçip kodda ayarlayabilirsiniz. Her şeyden önce istediğim şey esneklikti, böylece daha sonraki bir tarihte kodlamaya karar verdiğim grafik efekti ne olursa olsun, HW'yi gerekli düzenlemede bir araya getirebildim.

Hüzün #2

Bir hayalim vardı ve devre bağlantılarını LED şeritlerinin bitişik uçlarına bastırılabilen karton üzerine boyamak için iletken bir mürekkep kullanmaktı.

Faydalar:

  1. Süper havalı görünüyor ve oldukça farklı renkli karton kullanabilirim
  2. devre çizmeye başladım
  3. Nihai kişiselleştirme, yeni bir düzenleme düşünün, sadece çizin.

Dezavantajları:

  1. İşe yaramadı.
  2. Azıcık bile değil.
  3. Neden elle yeterince doğru bir kablo çizip sonra karton gibi sıkıştırılabilir bir malzemeye yeterince hassas ve tutarlı bir basınç uygulayasınız ki?

Çalışsaydı gerçekten harika olurdu ve bu çabaya ayrılan 2 saat için sadece kısmen pişmanım.

Gerçek Çözüm

Stripboard kablolarını Arduino'ya bağlamak için kullanılanlara benzer bir tak-çıkar erkek/dişi başlık sistemi kullanmaya karar verdim. M/F'yi alternatif olarak her bir uca yerleştirerek, bireysel şeritler isteğe bağlı olarak orijinal kesilmemiş şeridi yeniden oluşturacak şekilde birbirine takılabilir. Veya ara esnek kablo konektörleri kullanılabilir, böylece şeritler bir matris veya başka herhangi bir uzay konfigürasyonu oluşturmak üzere kendi üzerlerine katlanabilir.

  1. Led Strip'i segmentlere ayırın, başka bir proje için 50 LED'i yedek bırakarak 25 uzunluğunda 10 şerit seçtim
  2. Şeridin her iki ucundaki bakır bağlantıların her birini lehimleyin. Plastiği eritmemeye dikkat edin, su geçirmez kaplamalı bir tane satın aldıysanız, her iki ucundan küçük bir üst kısım kesmeniz gerekecektir.
  3. LEDStrip'imin her iki ucunda 4 konektör ve 10 şerit vardı, bu yüzden her biri 4 uzunluğunda 10 erkek, 10 dişi başlık parçası kestim. Her şerit için bir uca erkek, diğer uca dişi lehimledim. Her şerit için aynı uçların erkek/dişi olduğundan emin olun, bu onları moda gibi bir papatya zincirinde bağlamanıza izin verecektir.
  4. 10 şeridi birbirine takarak bağlantıları test edin, gerekirse daha fazla lehimle düzeltin.
  5. Şimdi tel konektörlere ihtiyacımız var, bunlar ister birbirinden mesafeyi elde etmek isterse bir matrisi bir araya getirmek olsun, bireysel şeritleri esnek düzenlemelere bağlamak için kullanılacaktır. Uzunlukları, LEDStrip'in her sürekli bölümünü ne kadar uzağa yerleştirebileceğinizi belirleyecektir; Kabloları bağlarken bir miktar uzunluk kaybolacağından, kabloyu istediğinizden biraz daha uzun kesin. 4 uzunluğunda 10 erkek, 10 dişi başlık parçası daha kesin. 40 parça tel kesin (ideal olarak çok renkli, esnek), her bir ucu soyun ve ön lehimleyin.
  6. Kablolu bir bağlantı oluşturmak için önce 4 kablo alın (hangi kablonun hangi pime bağlandığını belirlemek için ideal olarak farklı renkler) ve bunları bir erkek başlığa lehimleyin. Daha sonra bu 4 kabloyu örmek istersiniz, bu kabloları düzgün tutar. Örüldükten sonra (aradığımız kalite burada yeterlidir), diğer uçları dişi konnektöre lehimleyebilirsiniz. Aynı tellerin aynı pinlere lehimlendiğinden emin olun. Tüm teliniz aynı renkteyse, hangi telin hangisi olduğunu belirlemek için işaretler yapın veya bir multimetre kullanın, çünkü ördükten sonra net olmayacaktır. İhtiyacınız olan her kablolu bağlantı için bu işlemi tekrarlayın.
  7. Tüm şeritleri kablolu bağlantılarla bağlayarak bağlantıları tekrar test edin, konsol boyutu ayarıyla oynayın ve LEDStrip'leri farklı matris oluşumlarında düzenleyin. Zayıf bağlantıları daha sonra değil, daha önce koparmak ve belirlemek daha iyidir.

Artık uzun tek bir şeridi yeniden oluşturmak için doğrudan birbirine takılabilen veya matris oluşumları halinde yeniden düzenlenebilen 10 ayrı şeridiniz var.

7. Adım: Yapılandırma ve Kurulum

Yapılandırma ve Kurulum
Yapılandırma ve Kurulum
Yapılandırma ve Kurulum
Yapılandırma ve Kurulum

En son sürüm her zaman github'ımda bulunabilir: rs6713/leddisplay/, çatallamaktan/indirmekten ve oynamaktan çekinmeyin.

Arduino IDE'yi yükleyin

Mucizevi bir olayda, bu öğreticiyi bir şekilde daha önce Arduino Deneyimi olmadan tamamladığınızda, Arduino IDE buradan indirilebilir. Kodu IDE'ye kurun ve açın, kartı yazıcı kablosuyla bilgisayara takın. (Bilgisayarın Arduino Board'u tanıması için bir sürücü yüklemeniz gerekebilir, ancak bu, bir Arduino'yu bilgisayarınıza ilk taktığınızda otomatik olarak gerçekleşmelidir). Kart tipini seçin ve Arduino'nun takılı olduğu aktif COMM Portunu seçin.

Yapılandırma

Ekranın çeşitli ayarlarını değiştirmek için karmaşık programlama bilgisi gerekmez.

Programda yapılandırmaya açık alanlar /*** BENİ YAPILANDIR ***/ ile işaretlenmiştir.

Programın aşağıdaki alanlarını kolayca değiştirebilir/konfigüre edebilirsiniz:

  • Bileşenlerin bağlı olduğu pinler
  • Bireysel LEDStriplerin boyutu
  • Genel olarak şeritlerdeki toplam LED sayısı
  • Program için izin vermek istediğiniz modlar
  • Yağmur etkisi için yağmur damlalarının uzunluğu.

Pimler ve toplam LED sayısı, kodun önceki adımlarda tartışılan elektronik devre sürümünüzle doğru şekilde çalışmasını sağlamak için gereklidir. Tüm joystick, mod ve konfigürasyon düğmelerini oluşturmak ve bağlamak zorunda kalmadan farklı ekran modlarını kod başlatma sırasında ayarlayarak test edebilmeniz için de yararlıdır.

Yüklemek

Bileşenler, Şerit boyutu ve LED sayısı için doğru PIN numaralarını ayarladıktan sonra, upload düğmesine basarak programı Arduino'ya yükleyebilirsiniz. Umarım bunu test sırasında doğal olarak bu noktada zaten yapmışsınızdır. Harici 5V güç kaynağını takın ve gitmeye hazır olmalısınız.

hata ayıklama

LEDStrip/Konsol beklendiği gibi çalışmıyorsa, birkaç olası neden vardır.

LEDStrip tamamen/kısmen kapalı:

  • LEDStrip Anahtarının açık olarak ayarlandığını kontrol edin,
  • Şeridi uzattıysanız ve LEDStrip'in son birkaç uç bölümü yanmıyorsa, bunun nedeni büyük olasılıkla hatalı bir bağlantıdır. Bağlantılarınızda kuru bağlantılar ve yeniden lehim olup olmadığını kontrol edin, şeritlerin sırasını değiştirmeyi deneyin ve bu kablolu bir bağlantıysa, bir kablolu bağlantıyı bir başkasıyla değiştirmeyi deneyin.

LCD Ekran parlaklığı düşük/ LEDStrip renkleri yanlış:

  • Harici güç bağlantısının açık/doğru şekilde bağlı olduğunu kontrol edin. Güç düşük olduğunda, RGB LED'lerin tüm renkleri tutarlı bir şekilde yanmaz ve LCD ekran kendini aydınlatmak için mücadele eder.
  • Boyut yapılandırması örn. Programın 250x1'i gerçek hayattaki LED düzenlemesini yansıtmamaktadır.
  • En kötü durum senaryosu, aydınlatılan şeritlerin sayısını azaltmak için programı değiştirebilirsiniz.

Rastgele Korkunçluk

Son çare olarak, yorumlanmış Serial.print'ler kod boyunca bırakılmıştır, bunları yorumlamamak size çeşitli bileşen ve iç program durumları hakkında geri bildirim verecektir.

Muhtemel bir durum, topraklanması gereken bir girişin bağlantısının kesilmesi ve yüzer halde bırakılmasıdır; bu, yanlış olay tetikleyicileri (YANLIŞ ve DOĞRU arasında rastgele salınan pin okuması) ve öngörülemeyen program davranışı yaratacaktır.

Program Değişiklikleri

Olası değişikliklerin diğer alanları /** BENİ DEĞİŞTİR **/ ile işaretlenmiştir.

Bu alanlar, kendi özelleştirmelerinizi ekleyebileceğiniz başlıca örneklerdir:

  • Yeni renk paleti seçenekleri ekleyin
  • Yeni efektler ekleyin, ör. ışıltı
  • Yeni oyunlar ekle

Bunlar sadece öneridir, kodu istediğiniz gibi değiştirmekten çekinmeyin.

Adım 8: Uzantı 2: OpenProcessing

Uzantı 2: Açık İşleme
Uzantı 2: Açık İşleme

** Yazma sırasında, bu özellik uygulanmadı, bu nedenle bu adım, bu projenin gelecekteki planlarını/belirtilerini vurgulamak ve LEDStrip'i matris ekranlara izin verecek şekilde genişletmenin önemini vurgulamak içindir. **

LEDStrip'i genişletmenin bir matris olarak düzenlenmesine izin vermesi beni çok heyecanlandırdı, bir ekran görüntüsüne sahip olmak, diğer yazılımlardan Arduino HW'ye 2D görselleştirmeleri eşlemek için birçok fırsat sunuyordu.

OpenProcessing, İşleme diline dayalı bir 2B etkileşimli grafik topluluğudur. Basit bir Seri Baskı işlevi kullanılarak, her bir çerçevenin görünümü Arduino'ya piksel piksel iletilebilir. Bu nedenle, Arduino'nun sadece Seri bağlantıyı dinlediği ve İşleme programı tarafından belirtilen animasyona göre LED Matrix'i kare kare güncellediği konsol için gelecekteki bir mod olabilir. Bunun, Processing'in görsel sanatlar için özelleşmiş bir dil olması ve öğrenmesi kolay olması nedeniyle birçok avantajı vardır, bu da karmaşık sanat görselleştirmeleri oluşturmayı çok hızlı hale getirir. Ayrıca, yalnızca Seri üzerinden iletilen bilgileri işlemek zorunda kalan, karşılaştırmalı bellek/işlem gücü sınırlı Arduino ile bellek ve işlem karmaşıklığını bilgisayarınıza taşır.

LED Ekran görselleştirmelerinizi önceden var olan bir 2D Grafik Efekt kitaplığına dış kaynak sağlayarak, olasılıklar sonsuzdur. İlham almak için openprocessing.org kataloğuna göz atın.

Önerilen: