Πίνακας περιεχομένων:

Έξυπνος χάρτης του Αϊντάχο με δεδομένα LED + Τέχνη: 8 βήματα (με εικόνες)
Έξυπνος χάρτης του Αϊντάχο με δεδομένα LED + Τέχνη: 8 βήματα (με εικόνες)

Βίντεο: Έξυπνος χάρτης του Αϊντάχο με δεδομένα LED + Τέχνη: 8 βήματα (με εικόνες)

Βίντεο: Έξυπνος χάρτης του Αϊντάχο με δεδομένα LED + Τέχνη: 8 βήματα (με εικόνες)
Βίντεο: The Light Gate Welcomes Mike Clelland, August 7th, 2023- UFOs 2024, Ιούλιος
Anonim
Image
Image

Ακολουθήστε περισσότερα από τον συγγραφέα:

Έξυπνος παγκόσμιος χάρτης με οθόνες δεδομένων και προγραμματιζόμενο φωτισμό DMX
Έξυπνος παγκόσμιος χάρτης με οθόνες δεδομένων και προγραμματιζόμενο φωτισμό DMX
Bearded Iris - Divide and Conquer
Bearded Iris - Divide and Conquer
Bearded Iris - Divide and Conquer
Bearded Iris - Divide and Conquer
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου Web, συγχρονισμένο διακομιστή χρόνου
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου Web, συγχρονισμένο διακομιστή χρόνου
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου Web, συγχρονισμένο διακομιστή ώρας
Ρολόι κινούμενων σχεδίων SMART LED συνδεδεμένο στο Web με πίνακα ελέγχου Web, συγχρονισμένο διακομιστή ώρας

Πάντα ήθελα έναν τρόπο καλλιτεχνικής και δυναμικής εμφάνισης γεωγραφικών δεδομένων «ζωγραφίζοντας» έναν χάρτη με φως. Ζω στο Αϊντάχο και αγαπώ την πολιτεία μου, οπότε σκέφτηκα ότι αυτό θα ήταν ένα εξαιρετικό μέρος για να ξεκινήσω! Εκτός από ένα έργο τέχνης με δροσερά εφέ φωτισμού, παρέχει επίσης χρήσιμες πληροφορίες. Για παράδειγμα, μπορείτε να εμφανίσετε έναν "χάρτη θερμότητας" ανά αριθμό πυκνότητας πληθυσμού, επίπεδα βροχοπτώσεων, μέγιστα/ελάχιστα υψομέτρων, αριθμό στρεμμάτων ερημικής περιοχής κ.λπ. Αφού κάνω αυτόν τον χάρτη του Αϊντάχο, έχω κίνητρο να κάνω κάτι παρόμοιο σε παγκόσμια κλίμακα!

Για αυτό το διδακτικό θα χρειαστείτε τα ακόλουθα:

  • (2) 2'x4 'φύλλο 1/4MDF
  • (1) 10 'κομμάτι 1 "x8" Πίνακας πεύκου
  • (1) φύλλο ακρυλικού διάχυτου φωτός
  • 2 χορδές (50) ws2812B προ -ενσύρματη ευρετήριο LED
  • Τροφοδοτικό 5 volt
  • Λεκές, χρώματα, κόλλα
  • Arduino Micro ή ισοδύναμο

Απαιτούνται εργαλεία

  • Μηχανή CNC
  • Συγκολλητικό σίδερο
  • Σφιγκτήρες
  • Χαρτί άμμου

Βήμα 1: Κολλήστε το ξύλο

Κολλήστε το ξύλο
Κολλήστε το ξύλο
Κολλήστε το ξύλο
Κολλήστε το ξύλο
Κολλήστε το ξύλο
Κολλήστε το ξύλο
Κολλήστε το ξύλο
Κολλήστε το ξύλο

Κάθε φορά που κολλάω ξύλινα πάνελ, πάντα τα μπισκότα τα ενώνω. Αυτό αποτρέπει τη διάσπαση λόγω συρρίκνωσης καθώς το ξύλο στεγνώνει. Αυτό είναι ιδιαίτερα σημαντικό σε αυτό το έργο καθώς η επιφάνεια που συνδέει τα κομμάτια μεταξύ τους θα μειωθεί λόγω των εργασιών θύλαξης CNC. Αφού πάρετε μια καλή κόλλα κόλλας και στις δύο πλευρές καθώς και στα δύο μισά των κοιλοτήτων μπισκότου, σφίξτε και αφήστε για 24 ώρες.

Αφού τραβήξετε τους σφιγκτήρες, χρησιμοποιήστε τριβείο παλάμης (ή αν είστε γενναίος λειαντήρας ζώνης) και τρίψτε τους αρμούς λεία. Πάντα θα έχετε κόλλα να πιέζει τις αρθρώσεις και θέλετε να τρίψετε τη σανίδα προς τα κάτω για να είναι όσο το δυνατόν πιο επίπεδη και χωρίς ατέλειες.

τώρα που έχουμε τα τρία πάνελ που θα χρειαστούμε, ας προχωρήσουμε στην εργασία CNC!

Βήμα 2: CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)

CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)
CNC οι τρεις πίνακες (Border Panel, Pine Core και LED Panel)

Υπάρχουν τρία πάνελ που απαρτίζουν το έργο. Μπορείτε να δείτε τα μοντέλα στο λογισμικό που χρησιμοποιώ. Τα δεδομένα του χάρτη αγοράστηκαν από τα εξαιρετικά πακέτα χαρτών maptorian χωρίς δικαιώματα. Εκπληκτική λεπτομέρεια και αξία εδώ! Τα αρχεία CAD επισυνάπτονται στο επόμενο βήμα, εάν θέλετε είτε το DXF για το CAD είτε το αρχείο Vector.

Ο βασικός πίνακας LED είναι βασικά ένα φύλλο MDF 1/4 "που φέρει τις λυχνίες LED με σφιχτή εφαρμογή τριβής. Θα παρατηρήσετε σε αυτόν τον πίνακα μια μεγάλη" τσέπη "γύρω από το LED. Αυτό θα επιτρέψει στο φως να διαχέεται τόσο γρήγορα όσο είναι δυνατόν έτσι ώστε να αποφύγετε τα καυτά σημεία στο ακρυλικό.

Ο πυρήνας είναι το φύλλο πεύκου που κολλήσαμε στο προηγούμενο βήμα και αντιπροσωπεύει το φόντο για το έργο. Για να φτάσει το φως στα ακρυλικά πάνελ, κατεργάσαμε κάθε νομό.

Τέλος, ο επάνω πίνακας είναι επεξεργασμένος μόνο με τα περιγράμματα των κομητειών και του συνοριακού κράτους. Κάθε νομός έχει ένα μικρό ράφι που θα δέχεται το ακρυλικό διάχυσης φωτός 1/8.

Μιλώντας για ακρυλικό, ήρθε η ώρα να τα επεξεργαστούμε στη συνέχεια.

Βήμα 3: Μηχανήστε τις κομητείες από ένα ακρυλικό φύλλο

Image
Image
Μηχανήστε τις κομητείες από ένα ακρυλικό φύλλο
Μηχανήστε τις κομητείες από ένα ακρυλικό φύλλο
Μηχανήστε τις κομητείες από ένα ακρυλικό φύλλο
Μηχανήστε τις κομητείες από ένα ακρυλικό φύλλο

Η κατεργασία των κομητειών από ακρυλικό πήρε μια μικρή δοκιμή και λάθος. Το ακρυλικό μπορεί να λιώσει αν υποστεί αργή κατεργασία, οπότε είναι απαραίτητος ένας σωστός τροφοδότης για να έχετε καλά αποτελέσματα. Μια άλλη συμβουλή είναι να χρησιμοποιήσετε όσο το δυνατόν μεγαλύτερο εργαλείο με καλή αναρρόφηση για να καθαρίσετε τα τσιπ. Τα μικρά εργαλεία τείνουν να μην καθαρίζουν τα τσιπ τόσο εύκολα και να δημιουργούν θερμότητα που προκαλεί αυτό το ανεπιθύμητο τήγμα.

Wasμουν σε θέση να πάρω την ανάλυση που χρειαζόμουν με ένα σπειροειδές bit φλάουτου 1/8 στις 18, 500rpm και τροφοδοσία 200 pm. Ένας καλός υπολογιστής τροφοδοσίας και ταχύτητας είναι χρήσιμος εδώ! Θα συνιστούσα αυτό στο cnccookbook.com. Ένα μόνο κομμάτι φλάουτου θα λειτουργούσε ακόμα καλύτερα, αλλά δεν το είχα στο χέρι. Το να κρατάτε μικρές καρτέλες σε αυτά τα κομμάτια στο έργο CAM είναι σημαντικό για να μην τελειώσουν τα τελειωμένα κομμάτια και να μην προβάλλονται στο δωμάτιο!

Η μαγική μετατόπιση για την κατασκευή των νομών στο σωστό μέγεθος, αποδείχθηκε ότι ήταν.075 υποχώρηση από την κεντρική γραμμή στο σχέδιο cad. Αυτό επέτρεψε το 1/2 του περιγράμματος 1/8 συν λίγο επιπλέον για να πέσει ο πίνακας στη θέση του. Απαιτήθηκε μικρή ποσότητα λείανσης σε ορισμένα κομμάτια για να μπουν στη θέση τους. Και πάλι, μια δέσμη τριβών τα κατάλληλα κομμάτια έκαναν αυτή τη γρήγορη και εύκολη δουλειά.

Η προσαρμογή όλων των κομητειών σε ένα μόνο κομμάτι ακρυλικού ήταν εύκολη δουλειά με το βεκτρικό λογισμικό μου που διαθέτει μια λειτουργία ένθεσης για μεγιστοποίηση της χρήσης φύλλων.

Απλώς για διασκέδαση άρχισα να δοκιμάζω την τοποθέτηση μερικών κομματιών. Άρχισε να έρχεται. Δροσερός!

Θέλετε τα αρχεία για την κατεργασία των κομητειών. Σίγουρος! Βλέπε συνημμένο.

Βήμα 4: Χρωματίστε και λερώστε

Χρώμα και λεκές
Χρώμα και λεκές
Χρώμα και λεκές
Χρώμα και λεκές
Χρώμα και λεκές
Χρώμα και λεκές

Πριν συναρμολογήσουμε όλα μας τα κομμάτια, θα πρέπει πρώτα να βάψουμε και να λεκιάσουμε. Χρησιμοποίησα έναν συνδυασμό λεκέδων για το ξύλινο πάνελ, σπρέι βαφής για το περιθώριο και ένα αντανακλαστικό λευκό για το στρώμα LED. Γρήγορη δουλειά και προχωράμε στη συνέλευση. Περναω καλα!

Βήμα 5: Κολλήστε τα πάνελ

Κολλήστε Πάνελ
Κολλήστε Πάνελ
Κολλήστε Πάνελ
Κολλήστε Πάνελ
Κολλήστε Πάνελ
Κολλήστε Πάνελ

Τώρα ήρθε η ώρα να κολλήσετε το κάτω πλαίσιο στο κάτω μέρος του πυρήνα του πεύκου και, στη συνέχεια, το πλαίσιο συνόρων του MDF στο προς τον πυρήνα του πεύκου. Μόλις χρησιμοποίησα μια σειρά σφιγκτήρων για να το κάνω αυτό.

Βήμα 6: Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino

Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino
Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino
Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino
Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino
Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino
Συνδέστε τα LED με προσαρμογή τριβής και συνδέστε το Arduino

Αυτή η εφιαλτική δουλειά ήταν εξαιρετικά απλή με τις ανοχές προσαρμογής τριβής εδώ. Χρησιμοποίησα το πίσω άκρο ενός στυλό για να τα πιέσω στη θέση τους. Ουσιαστικά μπήκε και δεν θα βγει χωρίς σημαντική δύναμη. Δεν χρησιμοποιήθηκε κόλλα κανενός είδους για αυτό το μέρος του έργου. Αυτό καθιστά εύκολη τη συναρμολόγηση! Έχω κάνει πολλά έργα όπου έπρεπε να τσακώσω την καλωδίωση για ώρες και αυτό κυριολεκτικά κράτησε 10 λεπτά. Αυτός είναι μακράν ο ευκολότερος τρόπος. Προσπάθησα να συνδέσω την κατάσταση με τη ζιγκ -ζαγκ διατηρώντας τις ομαδοποιήσεις έτσι ώστε κάθε νομός να είναι διαδοχική κατά μήκος της χορδής.

Η σύνδεση με το arduino ήταν απλή με τη χρήση ενός μικρού breadboard και καλωδίων σύνδεσης. Το τροφοδοτικό ήταν μια αγορά ebay. 5v και 8amps είναι υπερβολικά για αυτό το έργο, αλλά δίνει πολλά έξοδα. Η καλωδίωση αυτών των πραγμάτων είναι απλή. +5v στον πείρο VCC, Γειώστε τον πείρο γείωσης και στη συνέχεια τροφοδοτήστε το σκέλος με την ίδια πηγή 5v. Το μόνο pin που απομένει είναι το pin δεδομένων που τροφοδοτεί τη συμβολοσειρά! Στην περίπτωσή μου, χρησιμοποίησα το D7 για δεδομένα. Πάμε τώρα στον προγραμματισμό!

Βήμα 7: Κωδικοποίηση του Arduino

Κωδικοποίηση του Arduino
Κωδικοποίηση του Arduino
Κωδικοποίηση του Arduino
Κωδικοποίηση του Arduino

Τα LED τροφοδοτούνται από ένα arduino που κάνει κέικ κωδικοποίησης. Μερικές από τις αρχικές ρουτίνες δανείστηκαν (δηλ. Έκλεψαν) από την εξαιρετική βιβλιοθήκη ws2813fx στο github. Easyταν εύκολο να τροποποιήσω αυτές τις ρουτίνες για να κάνω αυτό που χρειαζόμουν. Το πλήρες εύρος του κώδικα θα ήταν δύσκολο να εξηγηθεί στο σύνολό του, αλλά εδώ είναι μερικά κυριότερα σημεία!

Ακολουθούν οι διαθέσιμες ρουτίνες επίδειξης:

#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 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_BOD_EXE_FIN_FOHE_FIN_FOH_FOHE_BOH_FIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_HIN_FIN_COME_BIN_BOW_BOW_BIN_BOW 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

Και μια ματιά σε μια από τις ρουτίνες του δείγματος.

uint16_t WS2812FX:: mode_breath (κενό) {// 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}; // μαγικοί αριθμοί για την αναπνοή LED uint8_t breath_brightness_steps = {150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255}. // ακόμα πιο μαγικοί αριθμοί!

εάν (SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = βήματα_πνοής_φώτα [0] + 1; // χρησιμοποιούμε aux_param για να αποθηκεύσουμε τη φωτεινότητα}

uint8_t breath_brightness = SEGMENT_RUNTIME.aux_param;

εάν (SEGMENT_RUNTIME.counter_mode_step <8) {breath_brightness--; } else {breath_brightness ++; }

// ενημέρωση ευρετηρίου τρέχουσας καθυστέρησης όταν επιτευχθεί η φωτεινότητα στόχου, ξεκινήστε από την αρχή μετά το τελευταίο βήμα

εάν (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)/ }

int lum = χάρτης (breath_brightness, 0, 255, 0, _brightness); // κρατήστε τη φωτεινότητα κάτω από τη φωτεινότητα που έχει οριστεί από τον χρήστη

uint8_t w = (SEGMENT.colors [0] >> 24 & 0xFF) * lum / _brightness; // τροποποίηση χρωμάτων RGBW με πληροφορίες φωτεινότητας 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; για (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i ++) {Adafruit_NeoPixel:: setPixelColor (i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = φωτεινότητα της αναπνοής;

επιστροφή breath_delay_steps [SEGMENT_RUNTIME.counter_mode_step]; }

Μπορείτε να κατεβάσετε την πλήρη πηγή από το αποθετήριο github ws2812fx.

Βήμα 8: Απολαύστε την Καλλιτεχνική Οθόνη Φωτός

Iμουν πολύ ευχαριστημένος με το αποτέλεσμα! Είναι πραγματικά χαρά να το παρακολουθώ και είμαι ενθουσιασμένος που θα συνεχίσω να παίζω με διάφορες διαμορφώσεις εμφάνισης δεδομένων! Μη διστάσετε να κάνετε οποιεσδήποτε ερωτήσεις ή να με χτυπήσετε για οποιαδήποτε πληροφορία έχασα.

Διαγωνισμός LED 2017
Διαγωνισμός LED 2017
Διαγωνισμός LED 2017
Διαγωνισμός LED 2017

Δεύτερο Βραβείο στον Διαγωνισμό LED 2017

Διαγωνισμός Arduino 2017
Διαγωνισμός Arduino 2017
Διαγωνισμός Arduino 2017
Διαγωνισμός Arduino 2017

Επόμενοι στο Διαγωνισμό Arduino 2017

Συνιστάται: