Mundarija:

LED Ma'lumotlari + San'ati bilan Aydaxoning aqlli xaritasi: 8 qadam (rasmlar bilan)
LED Ma'lumotlari + San'ati bilan Aydaxoning aqlli xaritasi: 8 qadam (rasmlar bilan)

Video: LED Ma'lumotlari + San'ati bilan Aydaxoning aqlli xaritasi: 8 qadam (rasmlar bilan)

Video: LED Ma'lumotlari + San'ati bilan Aydaxoning aqlli xaritasi: 8 qadam (rasmlar bilan)
Video: Erkak ko`rmagan bu rohibalar ishchi yigit bilan bo`lishni xoxlashardi 2024, Iyul
Anonim
Image
Image

JwolinFollow tomonidan Muallifning boshqa maqolalari:

Ma'lumot ekranlari va DMX dasturlashtiriladigan yoritgichli aqlli dunyo xaritasi
Ma'lumot ekranlari va DMX dasturlashtiriladigan yoritgichli aqlli dunyo xaritasi
Soqolli Iris - bo'lin va zabt et
Soqolli Iris - bo'lin va zabt et
Soqolli Iris - bo'lin va zabt et
Soqolli Iris - bo'lin va zabt et
Internetga ulangan SMART LED animatsion soati veb-boshqaruv paneli bilan, vaqt serveri sinxronlashtirildi
Internetga ulangan SMART LED animatsion soati veb-boshqaruv paneli bilan, vaqt serveri sinxronlashtirildi
Internetga ulangan SMART LED animatsion soati veb-boshqaruv paneli bilan, vaqt serveri sinxronlashtirildi
Internetga ulangan SMART LED animatsion soati veb-boshqaruv paneli bilan, vaqt serveri sinxronlashtirildi

Men har doim xaritani yorug'lik bilan "bo'yash" orqali geografik ma'lumotlarni badiiy va dinamik tarzda ko'rsatish usulini xohlaganman. Men Aydaho shtatida yashayman va o'z shtatimni yaxshi ko'raman, shuning uchun bu boshlash uchun ajoyib joy bo'ladi deb o'yladim! Salqin yorug'lik effektlari bo'lgan san'at asari bo'lishdan tashqari, u foydali ma'lumotlarni ham beradi. Masalan, siz "issiqlik xaritasi" ni aholi zichligi, yog'ingarchilik darajasi, maksimal/minimal balandlik, cho'l maydonlarining gektarlari va hokazolarni hisobiga ko'rsata olasiz. Aydaho shtatining xaritasini bajarganimdan so'ng, men shunga o'xshash ishni qilishga undadim. global miqyosda!

Bu ko'rsatma uchun sizga quyidagilar kerak bo'ladi:

  • (2) 2'x4 '1/4MDF varaq
  • (1) 10 'dona 1 "x8" Qarag'ay taxtasi
  • (1) yorug'lik tarqatuvchi akril varaq
  • (50) ws2812B oldindan simli indeksli LED
  • 5 voltli quvvat manbai
  • Lek, bo'yoq, elim
  • Arduino Micro yoki unga tenglashtirilgan

Kerakli asboblar

  • CNC mashinasi
  • Lehimlash temir
  • Qisqichlar
  • Qum qog'ozi

1 -qadam: yog'ochni yopishtiring

Yog'ochni yopishtiring
Yog'ochni yopishtiring
Yog'ochni yopishtiring
Yog'ochni yopishtiring
Yog'ochni yopishtiring
Yog'ochni yopishtiring
Yog'ochni yopishtiring
Yog'ochni yopishtiring

Qachonki men yog'och panellarni yopishtirsam, har doim pechene bilan birlashtiraman. Bu yog'och quriganida qisqarish tufayli bo'linishni oldini oladi. Bu, ayniqsa, ushbu loyihada muhim ahamiyatga ega, chunki CNC cho'ntak operatsiyalari tufayli bo'laklarni bir -biriga bog'laydigan sirt maydoni kamayadi. Ikkala tomonga ham, pechene bo'shliqlarining ikkala yarmiga ham yaxshi yopishtiruvchi boncuk olgandan so'ng, mahkamlang va 24 soatga qoldiring.

Qisqichlarni bir -biridan ajratib olgandan so'ng, kaft silliqlash mashinasidan foydalaning (yoki agar siz jasur bo'lsangiz, kamar silliqlash mashinasi) va bo'g'inlarni silliq silliqlang. Har doim siz bo'g'inlarni yopishtirasiz va siz taxtani iloji boricha tekis va nuqsonsiz tozalashni xohlaysiz.

Endi bizda uchta panel bo'lsa, biz CNC ishiga o'tamiz!

2 -qadam: Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)

Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)
Uch panelli CNC (chegara paneli, qarag'ay yadrosi va LED paneli)

Loyihani tashkil etuvchi uchta panel mavjud. Men ishlatadigan dasturda siz modellarni ko'rishingiz mumkin. Xarita ma'lumotlari kartali xaritalarning bepul royalti to'plamidan sotib olingan. Bu erda ajoyib tafsilot va qiymat! Agar SAPR uchun DXF yoki Vektorli fayllar kerak bo'lsa, SAPR fayllari keyingi bosqichda biriktiriladi.

LED yadroli panel asosan ishlangan 1/4 dyuymli MDF varaq bo'lib, u svetodiodlarni qattiq ishqalanish bilan ushlab turadi. Siz bu panelda LED atrofidagi "cho'ntak" ni ko'rasiz. Bu yorug'lik tez tarqalishiga imkon beradi. Akrilda issiq dog'lar paydo bo'lishining oldini olish mumkin.

Yadro - biz oldingi bosqichda yopishtirilgan qarag'ay paneli va loyihaning fonini ifodalaydi. Yorug'lik akril panellarga etib borishi uchun biz har bir okrugdan uzoqlashtirdik.

Nihoyat, yuqori panel faqat grafliklar va shtat chegarasi bilan ishlangan. Har bir okrugda 1/8 dyuymli nurli akrilni oladigan kichik javon bor.

Akril haqida gapiradigan bo'lsak, endi ularni qayta ishlash vaqti keldi.

3 -qadam: okruglarni akril varaqdan ishlov berish

Image
Image
Viloyatlarni akril varaqdan ishlang
Viloyatlarni akril varaqdan ishlang
Viloyatlarni akril varaqdan ishlang
Viloyatlarni akril varaqdan ishlang

Viloyatlarni akrildan ishlov berish biroz sinov va xatolarga olib keldi. Akril asta -sekin ishlov berilsa erishi mumkin, shuning uchun yaxshi natijaga erishish uchun to'g'ri ovqatlanish tezligi zarur. Yana bir maslahat - chiplarni tozalash uchun iloji boricha yaxshi assimilyatsiya vositasidan foydalanish. Kichik asboblar chiplarni osonlikcha tozalamaydi va keraksiz erishni keltirib chiqaradigan issiqlikni to'playdi.

Men kerakli o'lchamni 1/8 dyuymli ikkita naychali spirali bilan 18, 500 aylanada va 200 ppm tezlikda oldim. Yaxshi ovqatlanish va tezlik kalkulyatori bu erda foydalidir! Men buni cnccookbook.com saytida tavsiya qilaman. "Bitta nay chig'anog'i bundan ham yaxshiroq ishlagan bo'lardi, lekin qo'limda yo'q edi. CAM ishida bu bo'laklarning kichik yorliqlarini saqlash, tayyor bo'laklarni parchalanib ketmasligi va xonaga kirishini oldini olish uchun juda muhim!"

Sehrli ofatlar grafliklarni to'g'ri o'lchamda qilishda, kadr chizig'ining markaziy chizig'idan.075 orqaga qaytish bo'lib chiqdi. Bu 1/8 dyuymli chegaraning 1/2 qismiga qo'shimcha ravishda panelning joyidan tushishiga biroz qo'shimcha ruxsat berdi. Ba'zi qismlarni joyiga tushirish uchun ozgina silliqlash kerak edi. Yana bir guruh ishqalanish. mos qismlar bu ishni tez va oson bajarishga imkon berdi.

Barcha okruglarni bitta akril bo'lagiga joylashtirish, varaqdan foydalanishni ko'paytirish uchun joylashtirish xususiyatiga ega bo'lgan vektrik dasturiy ta'minotim bilan oson ish bo'ldi.

O'yin -kulgi uchun men bir nechta bo'laklarni o'rnatishni boshladim. Kelishni boshlaydilar. Ajoyib!

Viloyatlarga ishlov berish uchun fayllar kerak. Albatta! Qo'shimchani ko'ring.

4 -qadam: Bo'yash va bo'yash

Bo'yoq va dog '
Bo'yoq va dog '
Bo'yoq va dog '
Bo'yoq va dog '
Bo'yoq va dog '
Bo'yoq va dog '

Barcha qismlarni yig'ishdan oldin, avval bo'yash va bo'yashimiz kerak. Men yog'och paneli uchun dog'lar kombinatsiyasini, chegara qatlami uchun purkagichli bo'yoqni va LED qatlami uchun aks ettiruvchi oqni ishlatardim. Tez ishlaymiz va biz yig'ilishga ketyapmiz. Mazza qilish!

5 -qadam: Panellarni yopishtiring

Panellarni yopishtiring
Panellarni yopishtiring
Panellarni yopishtiring
Panellarni yopishtiring
Panellarni yopishtiring
Panellarni yopishtiring

Endi pastki panelni qarag'ay yadrosining pastki qismiga, so'ng MDF davlat chegara panelini qarag'ay yadrosigacha yopishtirish vaqti keldi. Men buni amalga oshirish uchun faqat bir qator qisqichlardan foydalandim.

6 -qadam: LEDni Friction Fit bilan ulang va Arduino -ni ulang

LEDlarni Friction Fit bilan ulang va Arduino -ni ulang
LEDlarni Friction Fit bilan ulang va Arduino -ni ulang
LEDlarni Friction Fit bilan ulang va Arduino -ni ulang
LEDlarni Friction Fit bilan ulang va Arduino -ni ulang
LEDlarni Friction Fit bilan ulang va Arduino -ni ulang
LEDlarni Friction Fit bilan ulang va Arduino -ni ulang

Bu dahshatli ish bu erda ishqalanishga bardoshliligi bilan juda oddiy edi. Qalamning orqa uchidan foydalanib, ularni joyiga bosdim. Haqiqatan ham, kuchli kuchsiz chiqib ketgan va chiqmaydi. Loyihaning bu qismi uchun hech qanday elim ishlatilmadi. Bu montajni osonlashtiradi! Men ko'plab loyihalarni amalga oshirdim, u erda simlarni soatlab tortishishim kerak edi va bu 10 daqiqa davom etdi. Bu eng oson yo'li. Men shtatni zigzag tartibida ulashga harakat qildim, shunda har bir tuman mag'lubiyat bo'ylab ketma -ket joylashgan edi.

Arduino -ga ulanish oddiy non paneli va ulash simlari yordamida oddiy edi. Elektr ta'minoti ebaydan sotib olingan. 5V va 8amps bu loyiha uchun juda katta, lekin qo'shimcha xarajatlarni beradi. Bu narsalarni sim bilan ulash juda oddiy. VCC piniga +5v, erga ulagichga erga ulang, so'ngra simni xuddi shu 5v manba bilan quvvatlang. Qolgan yagona pin - bu mag'lubiyatni quvvatlaydigan ma'lumotlar pimi! Mening holatimda, men D7 -ni ma'lumotlar uchun ishlatardim. Endi dasturlash bilan shug'ullaning!

7 -qadam: Arduino -ni kodlash

Arduino kodlash
Arduino kodlash
Arduino kodlash
Arduino kodlash

LEDlar arduino tomonidan quvvatlanadi, bu esa kodlash kekini ishlab chiqaradi. Dastlabki tartiblarning ba'zilari github -dagi zo'r ws2813fx kutubxonasidan olingan (ya'ni. O'g'irlangan). Men xohlagan narsani qilish uchun bu tartiblarni o'zgartirish oson edi. Kodning to'liq hajmini to'liq tushuntirish qiyin bo'lar edi, lekin bu erda bir nechta diqqatga sazovor joylar bor!

Mana mavjud namoyish tartiblari:

#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 aniqlash 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 #FX_MODE_HYPER_SPARKLE 25 ni belgilang #FX_MODE_STROBE 26 ni belgilang #FX_MODE_STROBE_RAINBOW 27 ni belgilang 27 #FX_MODE_MULTI_STROBE 28ni belgilang 28 FD_FOD_FOFFOR_FOF_FOF_FOR_FOX nima 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

Va namunali tartiblardan birini ko'rib chiqing.

uint16_t WS2812FX:: mode_breath (void) {// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // uint16_t breath_delay_steps = {7, 9, 13, 15, 16, 17, 18, 930, 19, 18, 15, 13, 9, 7, 4, 5, 10}; // nafas olish uchun sehrli raqamlar LED uint8_t breath_brightness_steps = {150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255}; // undan ham sehrli raqamlar!

agar (SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = nafas_ yorqinligi_qadamlari [0] + 1; // biz yorqinlikni saqlash uchun aux_param -dan foydalanamiz}

uint8_t breath_brightness = SEGMENT_RUNTIME.aux_param;

agar (SEGMENT_RUNTIME.counter_mode_step <8) {nafas_ yorqinligi--; } boshqa {nafas_brightness ++; }

// maqsadli yorqinlikka erishilganda joriy kechikish indeksini yangilang, oxirgi qadamdan keyin boshlang

if (breath_brightness == nafas_brightness_steps [SEGMENT_RUNTIME.counter_mode_step]) {SEGMENT_RUNTIME.counter_mode_step = (SEGMENT_RUNTIME.counter_mode_step + 1) % (size_brightness_steps_) }

int lum = xarita (nafasning yorqinligi, 0, 255, 0, _ yorqinligi); // foydalanuvchi tomonidan o'rnatilgan yorqinlikdan pastda yorqinlikni saqlang

uint8_t w = (SEGMENT.colors [0] >> 24 & 0xFF) * lum / _brightness; // RGBW ranglarini yorqinlik ma'lumoti bilan o'zgartiring 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 / _ yorqinligi; uchun (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i ++) {Adafruit_NeoPixel:: setPixelColor (i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = nafasning yorqinligi;

nafasni kechiktirish qadamlarini qaytarish [SEGMENT_RUNTIME.counter_mode_step]; }

To'liq manbani ws2812fx github omboridan yuklab olish mumkin.

8 -qadam: badiiy yorug'lik displeyidan rohatlaning

Men natijadan juda xursand bo'ldim! Haqiqatan ham tomosha qilish quvonchli va men turli xil displey konfiguratsiyalari bilan o'ynashni davom ettirmoqchiman. Menga savollar berishni xohlamang yoki men o'tkazib yuborgan har qanday ma'lumot uchun menga qo'ng'iroq qiling.

LED tanlovi 2017
LED tanlovi 2017
LED tanlovi 2017
LED tanlovi 2017

LED tanlovida 2017 yilgi ikkinchi mukofot

Arduino tanlovi 2017
Arduino tanlovi 2017
Arduino tanlovi 2017
Arduino tanlovi 2017

Arduino 2017 musobaqasida ikkinchi o'rinni egalladi

Tavsiya: