İçindekiler:

LED Veri + Sanat ile Idaho'nun Akıllı Haritası: 8 Adım (Resimlerle)
LED Veri + Sanat ile Idaho'nun Akıllı Haritası: 8 Adım (Resimlerle)

Video: LED Veri + Sanat ile Idaho'nun Akıllı Haritası: 8 Adım (Resimlerle)

Video: LED Veri + Sanat ile Idaho'nun Akıllı Haritası: 8 Adım (Resimlerle)
Video: Touring a Peaceful Mountain Cabin in Colorado! 2024, Temmuz
Anonim
Image
Image

Yazar tarafından jwolinTakip edin Daha fazlası:

Data Ekranlı ve DMX Programlanabilir Aydınlatmalı Akıllı Dünya Haritası
Data Ekranlı ve DMX Programlanabilir Aydınlatmalı Akıllı Dünya Haritası
Sakallı İris - Böl ve Yönet
Sakallı İris - Böl ve Yönet
Sakallı İris - Böl ve Yönet
Sakallı İris - Böl ve Yönet
Web Tabanlı Kontrol Panelli, Zaman Sunucusu Senkronize Edilmiş Web Bağlantılı SMART LED Animasyon Saati
Web Tabanlı Kontrol Panelli, Zaman Sunucusu Senkronize Edilmiş Web Bağlantılı SMART LED Animasyon Saati
Web Tabanlı Kontrol Panelli, Zaman Sunucusu Senkronize Edilmiş Web Bağlantılı SMART LED Animasyon Saati
Web Tabanlı Kontrol Panelli, Zaman Sunucusu Senkronize Edilmiş Web Bağlantılı SMART LED Animasyon Saati

Her zaman bir haritayı ışıkla "boyayarak" coğrafi verileri sanatsal ve dinamik olarak göstermenin bir yolunu istemişimdir. Idaho'da yaşıyorum ve eyaletimi seviyorum, bu yüzden bunun başlamak için harika bir yer olacağını düşündüm! Serin aydınlatma efektleriyle bir sanat eseri olmasının yanı sıra faydalı bilgiler de sağlar. Örneğin, nüfus yoğunluğu, yağış seviyeleri, yükseklik maksimumları/minimumları, dönümlük vahşi alan sayısı vb. başına bir "ısı haritası" gösterebilirsiniz. Bu Idaho haritasını yaptıktan sonra, benzer bir şey yapmak için motive oldum. küresel bir ölçek!

Bu talimat için aşağıdakilere ihtiyacınız olacak:

  • (2) 2'x4' 1/4 MDF levha
  • (1) 10' parça 1"x8" Çam tahtası
  • (1) ışık yayıcı akrilik levha
  • 2 Dizi (50) ws2812B önceden kablolanmış indekslenebilir LED
  • 5 voltluk güç kaynağı
  • Leke, boya, yapıştırıcı
  • Arduino Mikro veya eşdeğeri

Gerekli araçlar

  • Cnc makinesi
  • Havya
  • Kelepçeler
  • Kum Kağıdı

Adım 1: Ahşabı Yapıştırın

Ahşabı Yapıştır
Ahşabı Yapıştır
Ahşabı Yapıştır
Ahşabı Yapıştır
Ahşabı Yapıştır
Ahşabı Yapıştır
Ahşabı yapıştırın
Ahşabı yapıştırın

Ne zaman tahta panelleri yapıştırsam, onları her zaman bisküviyle birleştiririm. Bu, ahşap kurudukça büzülme nedeniyle ayrılmayı önler. Bu, CNC cep açma işlemleri nedeniyle parçaları birbirine bağlayan yüzey alanı azalacağından bu projede özellikle önemlidir. Bisküvi boşluklarının her iki tarafına ve her iki yarısına da iyi bir tutkal boncuğu aldıktan sonra kelepçeleyin ve 24 saat bekletin.

Kelepçeleri ayırdıktan sonra, bir avuç içi zımparası (veya cesursanız bant zımparası) kullanın ve derzleri pürüzsüz bir şekilde zımparalayın. Her zaman, derzleri tutkalla sıkacaksınız ve tahtayı olabildiğince düz ve lekesiz olacak şekilde zımparalamak isteyeceksiniz.

Artık ihtiyaç duyacağımız üç panele sahip olduğumuza göre CNC çalışmasına geçelim!

Adım 2: Üç Paneli CNC (Sınır Paneli, Çam Özü ve LED Paneli)

Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)
Üç Paneli CNC (Sınır Paneli, Çam Çekirdek ve LED Panel)

Projeyi oluşturan üç panel var. Modelleri kullandığım yazılımda görebilirsiniz. Harita verileri, telif hakkı olmayan mükemmel harita paketlerinden satın alındı. İnanılmaz detay ve değer burada! CAD için DXF'yi veya Vektör dosyalarını istiyorsanız, CAD dosyaları bir sonraki adımda eklenir.

LED çekirdek paneli temel olarak LED'leri sıkı bir sürtünme ile tutan işlenmiş 1/4" MDF levhadır. Bu panelde LED'in etrafında büyük bir "cep" göreceksiniz. Bu, ışığın olabildiğince çabuk yayılmasını sağlamak içindir. Akrilik üzerinde sıcak noktalardan kaçınmak mümkün.

Çekirdek, önceki adımda yapıştırdığımız çam paneldir ve projenin arka planını temsil eder. Işığın akrilik panellere ulaşması için her ilçeyi işleyerek uzaklaştırdık.

Son olarak, üst panel, sadece ilçelerin ve eyalet yatılısının ana hatlarıyla işlenir. Her ilçede 1/8 ışık yayıcı akrilik alacak küçük bir raf vardır.

Akrilikten bahsetmişken, şimdi bunları işleme zamanı.

Adım 3: Bir Akrilik Levhadan İlçeleri İşleyin

Image
Image
Bir Akrilik Levhadan İlçeleri İşleyin
Bir Akrilik Levhadan İlçeleri İşleyin
Bir Akrilik Levhadan İlçeleri İşleyin
Bir Akrilik Levhadan İlçeleri İşleyin

İlçeleri akrilikten işlemek biraz deneme yanılma aldı. Akrilik yavaş işlenirse eriyebilir, bu nedenle iyi sonuçlar elde etmek için uygun bir besleme hızı gereklidir. Diğer bir ipucu ise talaşları temizlemek için mümkün olduğunca büyük ve iyi emiş gücü olan bir alet kullanmaktır. Küçük aletler, talaşları o kadar kolay temizlememe ve bu istenmeyen erimeyi üreten ısı oluşturma eğilimindedir.

18, 500rpm'de 1/8 yukarıya doğru kesilmiş iki kanallı spiral bit ve 200 ipm besleme hızı ile ihtiyacım olan çözünürlüğü elde edebildim. Burada iyi bir besleme ve hız hesaplayıcısı işe yarar! cnccookbook.com'dakini tavsiye ederim Tek bir flüt ucu daha da iyi çalışırdı ama elimde yoktu. CAM çalışmasında bu parçalar üzerinde küçük sekmeler tutmak, bitmiş parçaların kırılmasını ve odaya yansıtılmasını önlemek için önemlidir!

İlçeleri doğru boyutta yapmak için sihirli ofset, cad çiziminde merkez çizgisinden.075 gerileme olarak ortaya çıktı. Bu, 1/8 kenarlığın 1/2'si artı panelin yerine düşmesi için biraz fazladan izin verdi. Yerlerine düşmeleri için belirli parçalar üzerinde az miktarda zımpara gerekiyordu. Yine, bir sürü sürtünme fit parçalar bu işi hızlı ve kolay hale getirdi.

Tüm ilçeleri tek bir akrilik parçasına sığdırmak, tabaka kullanımını en üst düzeye çıkarmak için yuvalama özelliğine sahip vectric yazılımımla kolay bir işti.

Sadece eğlence olsun diye bazı parçaların montajını denemeye başladım. Yanına gelmeye başladı. Güzel!

İlçeleri işlemek için dosyaları istiyorum. Emin olmak! Eki görmek.

Adım 4: Boya ve Leke

Boya ve Leke
Boya ve Leke
Boya ve Leke
Boya ve Leke
Boya ve Leke
Boya ve Leke

Tüm parçalarımızı bir araya getirmeden önce boyamalı ve boyamalıyız. Ahşap panel için boya, bordür katmanı için sprey boya ve LED katmanı için yansıtıcı beyaz kombinasyonu kullandım. Hızlı iş ve montaja geçiyoruz. Eğlenmek!

Adım 5: Panelleri Yapıştırın

Panelleri Yapıştır
Panelleri Yapıştır
Panelleri Yapıştır
Panelleri Yapıştır
Panelleri Yapıştır
Panelleri Yapıştır

Şimdi sıra alt paneli çam çekirdeğinin altına ve ardından MDF durum bordür panelini çam çekirdeğinin dibine yapıştırmaya geldi. Bunu yapmak için sadece bir dizi kelepçe kullandım.

Adım 6: LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın

LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın
LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın
LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın
LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın
LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın
LED'leri Sürtünmeyle Bağlayın ve Arduino'yu Bağlayın

Bu kabus işi, buradaki sürtünme uyum toleransları ile süper basitti. Onları yerlerine bastırmak için bir kalemin arka ucunu kullandım. Neredeyse içeri girdi ve önemli bir güç olmadan dışarı çıkmayacak. Projenin bu kısmında herhangi bir yapıştırıcı kullanılmamıştır. Bu, montajı YOL kolaylaştırır! Saatlerce kablolarla uğraşmak zorunda kaldığım birçok proje yaptım ve bu tam anlamıyla 10 dakika sürdü. Bu açık ara en kolay yoldur. Eyaleti zikzak düzeninde bağlamaya çalıştım, böylece gruplandırmaları her ilçe sıralı olacak şekilde tuttum.

Arduino'ya bağlanmak, küçük bir devre tahtası ve bağlantı telleri kullanılarak basitti. Güç kaynağı bir ebay alımıydı. 5v ve 8amps bu proje için fazladan ama çok fazla ek yük sağlıyor. Bu şeyleri kablolamak çok basit. VCC pinine +5v, Topraklama pinine topraklayın ve ardından aynı 5v kaynağı ile teli çalıştırın. Kalan tek pin, diziye güç sağlayan veri pinidir! Benim durumumda veri için D7 kullandım. Şimdi programlamaya geçin!

Adım 7: Arduino'yu Kodlamak

Arduino'yu Kodlamak
Arduino'yu Kodlamak
Arduino'yu Kodlamak
Arduino'yu Kodlamak

LED'ler, kodlama pastası yapan bir arduino tarafından desteklenmektedir. İlk rutinlerden bazıları github'daki mükemmel ws2813fx kitaplığından ödünç alındı (yani çalındı). Yapmaları gereken şeyi yapmak için bu rutinleri değiştirmek kolaydı. Kodun tam kapsamını bütünüyle açıklamak zor olabilir ama işte birkaç önemli nokta!

İşte mevcut gösteri rutinleri:

# define FX_MODE_STATIC 0 # FX_MODE_BLINK 1 # define FX_MODE_BREATH 2 # define FX_MODE_COLOR_WIPE 3 # define FX_MODE_COLOR_WIPE_INV 4 # define FX_MODE_COLOR_WIPE_REV 5 # define FX_MODE_COLOR_WIPE_REV_INV 6 # define FX_MODE_COLOR_WIPE_RANDOM 7 # define FX_MODE_RANDOM_COLOR 8 # define FX_MODE_SINGLE_DYNAMIC 9 # define FX_MODE_MULTI_DYNAMIC 10 # define FX_MODE_RAINBOW 11 #define tanımlar FX_MODE_RAINBOW_CYCLE 12 # define FX_MODE_SCAN 13 # define FX_MODE_DUAL_SCAN 14 # define FX_MODE_FADE 15 # define FX_MODE_THEATER_CHASE 16 # define FX_MODE_THEATER_CHASE_RAINBOW 17 # define FX_MODE_RUNNING_LIGHTS 18 # define FX_MODE_TWINKLE 19 # define FX_MODE_TWINKLE_RANDOM 20 # define FX_MODE_TWINKLE_FADE 21 # define FX_MODE_TWINKLE_FADE_RANDOM 22 # define FX_MODE_SPARKLE 23 # define FX_MODE_FLASH_SPARKLE 24 #define FX_MODE_HYPER_SPARKLE 25 #define FX_MODE_STROBE 26 #define FX_MODE_STROBE_RAINBOW 27 #define FX_MODE_MULTI_STROBE 28 #define FX_MODE_BLINK_RAINBOW 29 #define FX_MODE_30 #define_WHFXA 31 ne FX_MODE_CHASE_RANDOM 32 # define FX_MODE_CHASE_RAINBOW 33 # define FX_MODE_CHASE_FLASH 34 # define FX_MODE_CHASE_FLASH_RANDOM 35 # define FX_MODE_CHASE_RAINBOW_WHITE 36 # define FX_MODE_CHASE_BLACKOUT 37 # define FX_MODE_CHASE_BLACKOUT_RAINBOW 38 # define FX_MODE_COLOR_SWEEP_RANDOM 39 # define FX_MODE_RUNNING_COLOR 40 # define FX_MODE_RUNNING_RED_BLUE 41 # define FX_MODE_RUNNING_RANDOM 42 # define FX_MODE_LARSON_SCANNER 43 # define FX_MODE_COMET 44 #define FX_MODE_FIREWORKS 45 # define FX_MODE_FIREWORKS_RANDOM 46 # define FX_MODE_MERRY_CHRISTMAS 47 # define FX_MODE_FIRE_FLICKER 48 # define FX_MODE_FIRE_FLICKER_SOFT 49 # define FX_MODE_FIRE_FLICKER_INTENSE 50 # define FX_MODE_CIRCUS_COMBUSTUS 51 # define FX_MODE_HALLOWEEN 52 # define FX_MODE_BICOLOR_CHASE 53 # define FX_MODE_TRICOLOR_CHASE 54 # define FX_MODE_ICU 55

Ve örnek rutinlerden birine bir göz atın.

uint16_t WS2812FX::mode_breath(void) { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // adım uint16_t Breath_delay_steps = { 7, 9, 13, 15, 16, 17, 18, 930, 19, 18, 15, 13, 9, 7, 4, 5, 10 }; // nefes almak için sihirli sayılar LED'i uint8_t Breath_brightness_steps = { 150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255 }; // daha da fazla sihirli sayı!

if(SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = Breath_brightness_steps[0] + 1; // parlaklığı saklamak için aux_param kullanıyoruz }

uint8_t Breath_brightness = SEGMENT_RUNTIME.aux_param;

if(SEGMENT_RUNTIME.counter_mode_step < 8) { nefes_parlaklık--; } else { nefes_parlaklık++; }

// hedef parlaklığa ulaşıldığında mevcut gecikme indeksini güncelle, son adımdan sonra yeniden başla

if(breath_brightness == nefes_brightness_steps[SEGMENT_RUNTIME.counter_mode_step]) { SEGMENT_RUNTIME.counter_mode_step = (SEGMENT_RUNTIME.counter_mode_step + 1) % (sizeof(breath_brightness_steps)/sizeof(uint8_t)); }

int lum = harita(nefes_parlaklık, 0, 255, 0, _parlaklık); // parlaklığı kullanıcı tarafından ayarlanan parlaklığın altında tut

uint8_t w = (SEGMENT.colors[0] >> 24 & 0xFF) * lum / _brightness; // RGBW renklerini parlaklık bilgisi ile değiştirin uint8_t r = (SEGMENT.colors[0] >> 16 & 0xFF) * lum / _brightness; uint8_t g = (SEGMENT.colors[0] >> 8 & 0xFF) * lum / _brightness; uint8_t b = (SEGMENT.colors[0] & 0xFF) * lum / _brightness; for(uint16_t i=SEGMENT.start; i <= SEGMENT.stop; i++) { Adafruit_NeoPixel::setPixelColor(i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = nefes_parlaklık;

geri dönüş nefes_delay_steps[SEGMENT_RUNTIME.counter_mode_step]; }

Tam kaynak ws2812fx github deposundan indirilebilir.

8. Adım: Sanatsal Işık Ekranının Keyfini Çıkarın

Sonuçtan çok memnun kaldım! İzlemesi gerçekten bir zevk ve çeşitli veri görüntüleme konfigürasyonlarıyla oynamaya devam edeceğim için heyecanlıyım! Herhangi bir soru sormaktan çekinmeyin veya kaçırdığım herhangi bir bilgi için bana ulaşın.

LED Yarışması 2017
LED Yarışması 2017
LED Yarışması 2017
LED Yarışması 2017

LED Yarışması 2017'de İkincilik Ödülü

Arduino Yarışması 2017
Arduino Yarışması 2017
Arduino Yarışması 2017
Arduino Yarışması 2017

Arduino Yarışması 2017'de İkincilik

Önerilen: