Cuprins:

Harta inteligentă a Idaho cu date LED + artă: 8 pași (cu imagini)
Harta inteligentă a Idaho cu date LED + artă: 8 pași (cu imagini)

Video: Harta inteligentă a Idaho cu date LED + artă: 8 pași (cu imagini)

Video: Harta inteligentă a Idaho cu date LED + artă: 8 pași (cu imagini)
Video: FEMEIA De 399 De ANI ! #shorts 2024, Iulie
Anonim
Image
Image

De către jwolin Urmăriți mai multe de la autor:

Harta lumii inteligente cu ecrane de date și iluminare programabilă DMX
Harta lumii inteligente cu ecrane de date și iluminare programabilă DMX
Iris cu barbă - Împarte și cucerește
Iris cu barbă - Împarte și cucerește
Iris cu barbă - Împarte și cucerește
Iris cu barbă - Împarte și cucerește
Ceas de animație SMART LED conectat la web cu panou de control bazat pe web, Time Server sincronizat
Ceas de animație SMART LED conectat la web cu panou de control bazat pe web, Time Server sincronizat
Ceas de animație SMART LED conectat la web cu panou de control bazat pe web, Time Server sincronizat
Ceas de animație SMART LED conectat la web cu panou de control bazat pe web, Time Server sincronizat

Întotdeauna mi-am dorit o modalitate de a afișa artistic și dinamic datele geografice „pictând” o hartă cu lumină. Locuiesc în Idaho și îmi iubesc starea, așa că m-am gândit că acesta ar fi un loc minunat pentru a începe! Pe lângă faptul că este o piesă de artă cu efecte de iluminare reci, oferă și informații utile. De exemplu, puteți afișa o „hartă de căldură” pe număr de densitate a populației, niveluri de precipitații, maxime / minime de înălțime, numărul de acri din zona sălbatică etc. După ce am făcut această hartă a Idaho, sunt motivat să fac ceva similar pe la scară globală!

Pentru acest instructiv, veți avea nevoie de următoarele:

  • (2) Foaie 2'x4 'de 1 / 4MDF
  • (1) Bucată de pin de 10 "1" x8 "Pin
  • (1) foaie de acril cu difuzie a luminii
  • 2 șiruri de (50) ws2812B LED indexabil precablat
  • Alimentare de 5 volți
  • Pata, vopsea, lipi
  • Arduino Micro sau echivalent

Instrumente necesare

  • Mașină CNC
  • Ciocan de lipit
  • Cleme
  • Hârtie de nisip

Pasul 1: lipiți lemnul

Lipiți lemnul
Lipiți lemnul
Lipiți lemnul
Lipiți lemnul
Lipiți lemnul
Lipiți lemnul
Lipiți lemnul
Lipiți lemnul

Ori de câte ori lipesc panouri de lemn, întotdeauna mă unesc cu biscuiți. Acest lucru previne despicarea datorită contractării pe măsură ce lemnul se usucă. Acest lucru este deosebit de important în acest proiect, deoarece suprafața care leagă piesele împreună va fi redusă datorită operațiilor de buzunare CNC. După ce ați obținut o bucată bună de lipici pe ambele părți, precum și în ambele jumătăți ale cavităților biscuiților, strângeți și lăsați timp de 24 de ore.

După ce ați îndepărtat clemele, folosiți o șlefuitoare pentru palmă (sau dacă sunteți curajoasă o șlefuitoare cu curea) și șlefuiți articulațiile netede. În mod invariabil, veți avea lipici pentru a strânge articulațiile și doriți să șlefuiți placa pentru a fi cât mai plană și fără defecte.

acum că avem cele trei panouri de care vom avea nevoie, să trecem la lucrul CNC!

Pasul 2: CNC cele trei panouri (panoul de margine, nucleul de pin și panoul LED)

CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)
CNC cele trei panouri (panoul de frontieră, nucleul de pin și panoul cu LED-uri)

Există trei panouri care alcătuiesc proiectul. Puteți vedea modelele în software-ul pe care îl folosesc. Datele hărții au fost achiziționate din pachetele excelente de hărți maptoriene fără redevențe. Detalii și valoare uimitoare aici! Fișierele CAD sunt atașate la pasul următor, dacă doriți fie DXF pentru fișierele CAD, fie Vector.

Panoul central al LED-ului este în esență o foaie MDF prelucrată de 1/4 "care ține LED-urile cu o potrivire strânsă prin frecare. Veți observa pe acest panou un" buzunar "mare în jurul LED-ului. Aceasta este pentru a permite luminii să difuzeze la fel de repede ca posibil, astfel încât să se evite punctele fierbinți pe acril.

Miezul este panoul de pin pe care l-am lipit în pasul anterior și reprezintă fundalul proiectului. Pentru ca lumina să ajungă la panourile acrilice am prelucrat fiecare județ.

În cele din urmă, panoul superior este prelucrat doar cu contururile județelor și ale frontierei de stat. Fiecare județ are un raft mic care va primi acrilic de difuzie a luminii de 1/8.

Apropo de acrilic, este timpul să le prelucrați în continuare.

Pasul 3: Utilizați județele dintr-o foaie acrilică

Image
Image
Utilizați județele dintr-o foaie acrilică
Utilizați județele dintr-o foaie acrilică
Utilizați județele dintr-o foaie acrilică
Utilizați județele dintr-o foaie acrilică

Prelucrarea județelor din acrilic a necesitat o mică încercare și eroare. Acrilul se poate topi dacă este prelucrat lent, astfel încât este necesară o avansare adecvată pentru a obține rezultate bune. Un alt sfat este să folosiți un instrument cât mai mare posibil, cu o aspirație bună pentru a îndepărta chipsurile. Instrumentele mici tind să nu șteargă așchii la fel de ușor și să acumuleze căldură care produce acea topire nedorită.

Am reușit să obțin rezoluția de care aveam nevoie cu un bit spiralat cu două flauturi de 1/8 la 18, 500 rpm și o viteză de avans de 200ipm. Un calculator bun de viteze și viteze este util aici! Aș recomanda-o pe cnccookbook.com O singură bucată de flaut ar fi funcționat și mai bine, dar eu nu aveam una la îndemână. Păstrarea unor file mici pe aceste piese în lucrarea CAM este importantă pentru a împiedica piesele finite să se desprindă și să fie proiectate în cameră!

Compensarea magică pentru a face județele dimensiunea potrivită, sa dovedit a fi o îndoială de 0,075 de la linia centrală pe desenul cad. Acest lucru a permis o jumătate din marginea de 1/8 , plus un pic suplimentar pentru ca panoul să cadă în poziție. O cantitate mică de șlefuire a fost necesară pe anumite piese pentru a le face să cadă la locul lor. Din nou, o grămadă de frecare piesele potrivite au făcut acest lucru rapid și ușor.

Obținerea tuturor județelor pentru a se potrivi pe o singură bucată de acril a fost o lucrare ușoară cu software-ul meu vectric, care are o caracteristică de cuibărire pentru a maximiza utilizarea foilor.

Doar pentru distracție, am început să testez montarea unor piese. Începând să vină. Misto!

Vrei fișierele pentru prelucrarea județelor. Sigur! Vezi atașamentul.

Pasul 4: Vopsiți și patați

Vopsea și pata
Vopsea și pata
Vopsea și pata
Vopsea și pata
Vopsea și pata
Vopsea și pata

Înainte de a ne asambla toate piesele, ar trebui să pictăm și să pătăm mai întâi. Am folosit o combinație de pete pentru panoul de lemn, vopsea spray pentru stratul de margine și un alb reflectorizant pentru stratul LED. Muncă rapidă și suntem la asamblare. A te distra!

Pasul 5: lipiți panourile

Lipiți panourile
Lipiți panourile
Lipiți panourile
Lipiți panourile
Lipiți panourile
Lipiți panourile

Acum este timpul să lipiți panoul de jos în partea inferioară a miezului de pin și apoi panoul de bordură de stat MDF până în partea centrală a miezului de pin. Tocmai am folosit o serie de cleme pentru a face acest lucru.

Pasul 6: conectați LED-urile cu Friction Fit și conectați Arduino

Conectați LED-urile cu Friction Fit și conectați Arduino
Conectați LED-urile cu Friction Fit și conectați Arduino
Conectați LED-urile cu Friction Fit și conectați Arduino
Conectați LED-urile cu Friction Fit și conectați Arduino
Conectați LED-urile cu Friction Fit și conectați Arduino
Conectați LED-urile cu Friction Fit și conectați Arduino

Această muncă de coșmar a fost super simplă, cu toleranțele de potrivire la frecare aici. Am folosit capătul din spate al unui stilou pentru a le apăsa în poziție. Practic, a intrat și nu va ieși fără o forță semnificativă. Pentru această parte a proiectului nu a fost utilizat niciun fel de adeziv. Acest lucru face ca asamblarea, WAY ușor! Am făcut multe proiecte în care a trebuit să lupt cablurile ore în șir și acest lucru a durat literalmente 10 minute. Acesta este de departe cel mai simplu mod. Am încercat să conectez statul în ordine zigzag, păstrând grupările astfel încât fiecare județ să fie secvențial de-a lungul șirului.

Conectarea la arduino a fost simplă prin utilizarea unei plăci mici și a cablurilor de conectare. Alimentarea cu energie electrică a fost o achiziție eBay. 5v și 8amps sunt excesive pentru acest proiect, dar oferă o mulțime de cheltuieli generale. Cablarea acestor lucruri este foarte simplă. + 5v la pinul VCC, împământare la pinul de masă și apoi alimentați firul cu aceeași sursă de 5v. Singurul pin rămas este pinul de date care alimentează șirul! În cazul meu, am folosit D7 pentru date. Acum, la programare!

Pasul 7: Codificarea Arduino

Codificarea Arduino
Codificarea Arduino
Codificarea Arduino
Codificarea Arduino

LED-urile sunt alimentate de un arduino care face codificarea tortului. Unele dintre rutinele inițiale au fost împrumutate (adică furate) din excelenta bibliotecă ws2813fx de pe github. A fost ușor să modific aceste rutine pentru a face ceea ce aveam nevoie de ele. Sfera de aplicare completă a codului ar fi dificil de explicat în întregime, dar iată câteva aspecte importante!

Iată rutinele demonstrative disponibile:

#define FX_MODE_STATIC 0 # defini 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 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_MOD 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

Și o privire asupra uneia dintre rutinele eșantion.

uint16_t WS2812FX:: mode_breath (void) {// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // pas uint16_t breath_delay_steps = {7, 9, 13, 15, 16, 17, 18, 930, 19, 18, 15, 13, 9, 7, 4, 5, 10}; // numere magice pentru LED-ul de respirație uint8_t breath_brightness_steps = {150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255}; // și mai multe numere magice!

if (SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = breath_brightness_steps [0] + 1; // folosim aux_param pentru a stoca luminozitatea}

uint8_t breath_brightness = SEGMENT_RUNTIME.aux_param;

if (SEGMENT_RUNTIME.counter_mode_step <8) {breath_brightness--; } else {breath_brightness ++; }

// actualizați indicele de întârziere curentă la atingerea luminozității țintei, începeți din nou după ultimul pas

if (breath_brightness == breath_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 = hartă (lumină_respirație, 0, 255, 0, _ luminozitate); // mențineți luminozitatea sub luminozitatea setată de utilizator

uint8_t w = (SEGMENT.colors [0] >> 24 & 0xFF) * lum / _luminositate; // modificați culorile RGBW cu informații despre luminozitate uint8_t r = (SEGMENT.colors [0] >> 16 & 0xFF) * lum / _brightness; uint8_t g = (SEGMENT.colors [0] >> 8 & 0xFF) * lum / _luminositate; uint8_t b = (SEGMENT.colors [0] & 0xFF) * lum / _luminositate; pentru (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i ++) {Adafruit_NeoPixel:: setPixelColor (i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = luminozitatea respirației;

returnează respirația_delii_pasii [SEGMENT_RUNTIME.counter_mode_step]; }

Sursa completă poate fi descărcată din depozitul gsub ws2812fx.

Pasul 8: Bucurați-vă de afișajul luminii artistice

Am fost foarte fericit cu rezultatul! Este cu adevărat o bucurie de urmărit și sunt încântat să continuu să mă joc cu diverse configurații de afișare a datelor! Simțiți-vă liber să puneți orice întrebare sau să mă loviți pentru orice informație pe care am ratat-o.

Concurs LED 2017
Concurs LED 2017
Concurs LED 2017
Concurs LED 2017

Premiul II la Concursul LED 2017

Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017

Locul doi în concursul Arduino 2017

Recomandat: