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

Easy Infinity Mirror With Arduino Gemma & NeoPixels: 8 βήματα (με εικόνες)
Easy Infinity Mirror With Arduino Gemma & NeoPixels: 8 βήματα (με εικόνες)

Βίντεο: Easy Infinity Mirror With Arduino Gemma & NeoPixels: 8 βήματα (με εικόνες)

Βίντεο: Easy Infinity Mirror With Arduino Gemma & NeoPixels: 8 βήματα (με εικόνες)
Βίντεο: Tutorial: NeoPixel Spats with Gemma M0 and MakeCode @adafruit #adafruit #cosplay 2024, Νοέμβριος
Anonim
Easy Infinity Mirror με Arduino Gemma & NeoPixels
Easy Infinity Mirror με Arduino Gemma & NeoPixels

Βλέπω! Κοιτάξτε βαθιά στον μαγευτικό και απατηλά απλό καθρέφτη απείρου! Μια λωρίδα LED λάμπει προς τα μέσα σε ένα σάντουιτς καθρέφτη για να δημιουργήσει το αποτέλεσμα της ατελείωτης αντανάκλασης. Αυτό το έργο θα εφαρμόσει τις δεξιότητες και τις τεχνικές από την εισαγωγική μου τάξη Arduino και θα τα συνδυάσει όλα σε μια τελική μορφή χρησιμοποιώντας έναν μικρότερο πίνακα Arduino Gemma.

Δείτε ένα webinar αυτού του έργου! Ρίξτε μια ματιά σε αυτό το webinar που έκανα στις 28 Ιουνίου 2017 για να με δείτε να ολοκληρώνω αυτήν την κατασκευή!

Για να συμβαδίσετε με αυτό που δουλεύω, ακολουθήστε με στο YouTube, το Instagram, το Twitter, το Pinterest και εγγραφείτε στο newsletter μου.

Βήμα 1: Προμήθειες

Προμήθειες
Προμήθειες

Για να παρακολουθήσετε αυτό το μάθημα θα χρειαστείτε:

  • Κοφτερό μαχαίρι χρησιμότητας
  • Μεταλλικός χάρακας ή τετράγωνο Τ
  • Χαλί κοπής ή θραύσματα από χαρτόνι
  • Εκτυπωτής για πυξίδα προτύπου ή κύκλου
  • Πλαστικό μαχαίρι βαθμολόγησης (προαιρετικό αλλά ωραίο)
  • Πυροβόλο κόλλα θερμής τήξης ή κόλλα E6000/Quick Hold
  • Μανταλάκι ρούχων (προαιρετικά, για χρήση ως σφιγκτήρας κόλλας)
  • Στρογγυλός καθρέφτης 4"
  • Διαφανές πλαστικό καθρέφτη
  • Μαύρη σανίδα αφρού, πάχους 3/16"
  • Arduino Uno και ψωμί χωρίς κόλλα σε πλάκα στερέωσης
  • Καλώδιο USB A-B
  • Μικρό κουμπί (που συγκολλήσατε νωρίτερα)
  • Σύρματα Breadboard
  • Λωρίδα RGBW NeoPixel (ή άλλη λωρίδα LED WS2812b RGBW) (19 εικονοστοιχεία, χρησιμοποιεί την ίδια λωρίδα που συγκολλήσατε νωρίτερα)
  • Συγκολλητικό σίδερο & συγκόλληση
  • Απογυμνωτές καλωδίων
  • Ξεπλύνετε διαγώνιους κόφτες
  • Εργαλείο τρίτου χεριού
  • Πολύμετρο (προαιρετικό)
  • Μικρές πένσες βελόνας
  • Τσιμπιδακι ΦΡΥΔΙΩΝ
  • Πίνακας Arduino Gemma
  • Καλώδιο Micro USB
  • Διανομέας USB, εάν ο υπολογιστής σας διαθέτει θύρες USB 3 μόνο (όπως νεότερα Mac)
  • Καλώδιο επέκτασης USB (προαιρετικό)
  • Προσαρμογέας ρεύματος USB
  • Μπαταρία και φορτιστής Lipoly (προαιρετικά)

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

Εικόνα
Εικόνα

Arduino Gemma - Το έργο καθρέφτη άπειρου μικροσκοπίζει το κύκλωμα Arduino αντικαθιστώντας το Arduino Uno με ένα Arduino Gemma. Το Gemma είναι ένας μικροσκοπικός πίνακας χτισμένος γύρω από τον μικροελεγκτή ATTiny85, ο οποίος έχει λιγότερη μνήμη και λιγότερες δυνατότητες από τον Atmega328 του Uno, αλλά είναι επίσης μικρότερος και χαμηλότερος. Τα μεγάλα μαξιλάρια είναι εξαιρετικά εύκολο να κολληθούν (και να ράβονται με αγώγιμο νήμα, αλλά αυτό είναι ένα θέμα για διαφορετική τάξη). Η Gemma χρησιμοποιεί καλώδιο micro USB για σύνδεση με τον υπολογιστή σας και διαθέτει θύρα JST για σύνδεση μπαταρίας. Θα μάθετε πώς να προγραμματίζετε το Gemma από το λογισμικό Arduino και να το ενσωματώνετε στο τελικό έργο. Μπορείτε επίσης να χρησιμοποιήσετε ένα Adafruit Gemma, αλλά θα χρειαστεί να εκτελέσετε ένα επιπλέον βήμα για να διαμορφώσετε το λογισμικό Arduino.

Εικόνα
Εικόνα

RGBW NeoPixel strip - Αυτή η ψηφιακά διευθυνόμενη λωρίδα περιέχει τσιπ WS2812b που ελέγχει σύνθετα LED σε κόκκινο, πράσινο, μπλε και λευκό. Το NeoPixel είναι το εμπορικό σήμα της Adafruit, αλλά μπορείτε επίσης να βρείτε αυτήν τη λωρίδα αναζητώντας την "λωρίδα WS2812b RGBW" στον ιστότοπο του αγαπημένου σας προμηθευτή. Το δείγμα κώδικα που παρέχεται σε αυτήν την κατηγορία δεν θα λειτουργήσει με ταινία RGB (χωρίς λευκό), αναλογική λωρίδα LED ή με οποιοδήποτε άλλο είδος ψηφιακού τσιπ ελέγχου (όπως το APA104 ή αλλιώς DotStar)

Βήμα 2: Κόψτε κομμάτια πλαισίου

Κόψτε κομμάτια πλαισίου
Κόψτε κομμάτια πλαισίου

Ετοιμαστείτε για χαρτοποιία! Αυτό το βήμα περιλαμβάνει αιχμηρά εργαλεία και απαιτεί προσοχή στη λεπτομέρεια, οπότε βεβαιωθείτε ότι έχετε ξεκουραστεί καλά, αλλά ούτε και υπερβολικά καφεΐνη. Χρησιμοποιήστε έντονο φωτισμό και μια μεγάλη, καθαρή επιφάνεια εργασίας που προστατεύεται από ένα χαλί κοπής ή απορρίμματα από χαρτόνι.

Εάν είστε νέοι στο κόψιμο και την κόλληση της σανίδας αφρού, πάρτε επιπλέον για εξάσκηση και λάθη- ένα πακέτο τριών τεμαχίων 16x20in σανίδων θα αρκεί (και μπορείτε να κάνετε άλλα έργα με αυτό αν σας περισσεύει). Για να αποφύγετε τραυματισμούς, χρησιμοποιήστε αιχμηρή λεπίδα, μεταλλικό χάρακα, αργό ρυθμό και πολλή προσοχή. Είναι φυσιολογικό να ξανακάνετε μερικά κομμάτια λόγω λανθασμένου γλιστρήματος ή μπλοκαρίσματος της λεπίδας.

Υπάρχουν δύο τρόποι για να δημιουργήσετε τα σχήματα που θα κόψετε: εκτυπώστε το πρότυπο ή σχεδιάστε τα σχήματα με μια πυξίδα σχεδίασης κύκλου. Δεν υπάρχει ιδιαίτερο πλεονέκτημα σε κανένα από τα δύο, αλλά οι ικανότητες και τα εργαλεία σας μπορεί να σας επηρεάσουν με τον έναν ή τον άλλο τρόπο. Το πρότυπο είναι διαθέσιμο ως πλακίδιο PDF για χαρτί μεγέθους γραμμάτων, το οποίο θα κολλήσετε μαζί και θα χρησιμοποιήσετε κολλητικό για να το κολλήσετε στο αφρώδες σας. Υπάρχει επίσης μια απροσδιόριστη έκδοση του αρχείου προτύπου σε περίπτωση που θέλετε να το εκτυπώσετε σε εκτυπωτή μεγάλου σχήματος ή να κάνετε αλλαγές.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Είναι πραγματικά απλό να σχεδιάζετε τα σχήματα με το χέρι, ωστόσο, το υπόσχομαι! Πρώτα σχεδιάστε έναν κύκλο για να ταιριάζει με το μέγεθος του καθρέφτη σας, ρυθμίζοντας την πυξίδα στην ακτίνα της (ακτίνα 4 "= 2") και σχεδιάζοντας έναν κύκλο στο αφρώδες σας τουλάχιστον 5 ίντσες από κάθε άκρη. Σίγουρα, μπορείτε απλά να εντοπίσετε την περιφέρεια του καθρέφτη, αλλά στη συνέχεια θα πρέπει να βρείτε και να σημειώσετε το κέντρο! Η πυξίδα κάνει μια εσοχή στο κεντρικό σημείο που είναι βολικό για τη δημιουργία του δεύτερου ομόκεντρου κύκλου.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Το επάνω/μπροστινό κομμάτι πρέπει να είναι λίγο μεγαλύτερο, οπότε διευρύνετε την πυξίδα σας στα 4 3/16 και τραβήξτε το σε ασφαλή απόσταση από το κάτω κομμάτι.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα

Επισημάνετε αυτό το κομμάτι μέσα στον μικρότερο κύκλο, ο οποίος θα κοπεί σε λίγες στιγμές.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Κατά μήκος μιας μεγάλης πλευράς του αφρού σας, σημειώστε και κόψτε μια λωρίδα σε πλάτος 1/2 "και άλλη σε πλάτος 1".

Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Για να κόψετε τους κύκλους! Κάποια φινέτσα και υπομονή είναι χρήσιμα εδώ. Μου αρέσει να χρησιμοποιώ ένα μικρότερο μαχαίρι χειροτεχνίας για να κόβω κύκλους γιατί νιώθω ότι έχω περισσότερο έλεγχο. Το συγκεκριμένο μαχαίρι που χρησιμοποιώ εδώ παίρνει κανονικές λεπίδες X-acto και το βρήκα στο διάδρομο scrapbooking.

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

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Για τον καμπυλωτό εσωτερικό δακτύλιο, κάντε εγκάρσιες περικοπές κάθε 1/4 περίπου κατά μήκος της λεπτότερης λωρίδας αφρού, αλλά μην το κόβετε μέχρι τέλους! Είναι πιο εύκολο από ό, τι ακούγεται- απλώς κάντε δύο ελαφρές πάσες και θα πάρετε Κολλήστε το γρήγορα. Αυτές οι περικοπές επιτρέπουν στο κομμάτι να καμπυλώνει ενώ παράλληλα παρέχει μια λεία εσωτερική επιφάνεια.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα

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

Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Κόψτε ένα κομμάτι από το πλαστικό καθρέφτη σας για να είναι μεγαλύτερο από τον καθρέφτη σας, αλλά μικρότερο από το εξωτερικό πλαίσιο. Μην μπείτε στον κόπο να προσπαθήσετε να το κόψετε σε κύκλο. Εάν έχετε ένα πλαστικό μαχαίρι βαθμολόγησης, αυτό είναι καλύτερο. Σύρετε το gouge κατά μήκος του χάρακά σας μερικές φορές και, στη συνέχεια, ασφαλίστε το πλαστικό κατά μήκος της παρτιτούρας. Ωστόσο, ένα μαχαίρι χρησιμότητας κόβει εύκολα και αυτό το λεπτό υλικό, αν και με κάποιο ξεφλούδισμα του υλικού του καθρέφτη κατά μήκος της κοπής, το οποίο έτσι κι αλλιώς θα κρυφτεί μέσα στο πλαίσιο.

Βήμα 3: Συναρμολόγηση πλαισίου

Συναρμολόγηση πλαισίου
Συναρμολόγηση πλαισίου
Συναρμολόγηση πλαισίου
Συναρμολόγηση πλαισίου

Προστατέψτε την επιφάνεια εργασίας σας με λίγο παλιοσίδερα. Ζεστάνετε το πιστόλι κόλλας σας και προετοιμάστε ένα μπολ με παγωμένο νερό για να το κρατήσετε κοντά, σε περίπτωση που καείτε. Εάν προτιμάτε, μπορείτε να χρησιμοποιήσετε διαφορετικές κόλλες για αυτό το έργο.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα

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

Βήμα 4: Διάγραμμα κυκλώματος & udευδοκώδικας

Κυκλωματικό Διάγραμμα & udευδοκώδικας
Κυκλωματικό Διάγραμμα & udευδοκώδικας

Αν και είστε ευπρόσδεκτοι να αναφέρετε το διάγραμμα που εμφανίζεται εδώ καθ 'όλη τη διάρκεια της κατασκευής σας, σας ενθαρρύνω ιδιαίτερα να σχεδιάσετε το δικό σας. Θα έχετε μια αναφορά με την πρώτη ματιά καθώς φτιάχνετε το breadboard και τα τελευταία σας πρωτότυπα και η διαγράμμιση των κυκλωμάτων σας θα διευκολύνει τον σχεδιασμό των δικών σας έργων στο μέλλον. Ο σκοπός ενός διαγράμματος κυκλώματος είναι να δείξει όλες τις ηλεκτρικές συνδέσεις σε ένα κύκλωμα, όχι απαραίτητες τις φυσικές τους θέσεις ή προσανατολισμούς.

Οι συνδέσεις έχουν ως εξής:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (δεδομένα σε) -> ψηφιακός ακροδέκτης I/O Arduino (διαμορφώσιμος)

μία πλευρά του στιγμιαίου διακόπτη με κουμπί -> Arduino ψηφιακή ακίδα εισόδου/εξόδου (διαμορφώσιμη)

άλλη πλευρά του στιγμιαίου διακόπτη κουμπιού -> Arduino GND

Αυτό το κύκλωμα συνδυάζει τη λωρίδα NeoPixel με ένα κουμπί για ενεργοποίηση διαφορετικών κινούμενων εικόνων LED και θα χρησιμοποιήσει μια εσωτερική αντίσταση έλξης, όπως είδατε στο μάθημα εισόδου/εξόδου. Χρησιμοποιώντας όλες αυτές τις πληροφορίες, μπορούμε να γράψουμε ένα αναγνώσιμο από τον άνθρωπο πρόγραμμα του Arduino, που ονομάζεται "ψευδοκώδικας:"

Μεταβλητές: Αριθμός καρφιτσών NeoPixel, αριθμός καρφιτσών κουμπιού, πόσες λυχνίες LED υπάρχουν, πόσο φωτεινές πρέπει να είναι οι λυχνίες LED

Εφάπαξ εργασίες: προετοιμάστε την καρφίτσα του κουμπιού ως είσοδο με εσωτερική αντίσταση έλξης, προετοιμάστε τη λωρίδα NeoPixel, περιγράψτε κινούμενα σχέδια LED

Εργασίες περιστροφής: ελέγξτε για να δείτε αν έχει πατηθεί το κουμπί και αν έχει πατήσει, μεταβείτε σε διαφορετική κίνηση LED

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

Βήμα 5: Πρωτότυπο Breadboard

Πρωτότυπο Breadboard
Πρωτότυπο Breadboard

Πιάστε το Arduino και το breadboard σας και βεβαιωθείτε ότι το καλώδιο USB είναι αποσυνδεδεμένο. Τα NeoPixels σας είναι ακόμα συνδεδεμένα από νωρίτερα; Μεγάλος! Εάν όχι, συνδέστε τα: 5V στη ράγα τροφοδοσίας, Din στο Arduino pin 6, GND στη γείωση.

Στη συνέχεια, προσθέστε ένα στιγμιαίο κουμπί στην πλάκα ψωμιού σας, περνώντας από την κεντρική διαχωριστική γραμμή. Συνδέστε το ένα πόδι στη σιδηροτροχιά του εδάφους και το γειτονικό του πόδι στο pin Arduino 2. Κατεβάστε τον κώδικα για αυτό το έργο απευθείας ή στην ενότητα Autodesk Circuits παραπάνω, κάντε κλικ στο κουμπί "Επεξεργαστής κώδικα", στη συνέχεια "Λήψη κώδικα" και ανοίξτε το αρχείο Arduino, ή αντιγράψτε και επικολλήστε τον κώδικα σε ένα νέο κενό σκίτσο Arduino.

Εικόνα
Εικόνα

Συνδέστε το καλώδιο USB και ανεβάστε τον κωδικό στον πίνακα Arduino. Πάτα το κουμπί; θα πρέπει να ενεργοποιήσει μια νέα κίνηση για αναπαραγωγή στα NeoPixels. Η ράγα 5V είναι αρκετή για αυτά τα λίγα pixel με περιορισμένη φωτεινότητα, αλλά για μελλοντικά έργα με περισσότερα LED, θα χρειαστείτε ξεχωριστό τροφοδοτικό, όπως συζητήθηκε στο μάθημα δεξιοτήτων της εισαγωγικής μου τάξης Arduino.

Βήμα 6: Κωδικός

Ας εξετάσουμε τον κώδικα με περισσότερες λεπτομέρειες:

#define BUTTON_PIN 2 // Digitalηφιακή ακίδα IO συνδεδεμένη στο κουμπί. Αυτό θα είναι

// οδηγείται με αντίσταση έλξης, ώστε ο διακόπτης να // τραβήξει τον πείρο στη γείωση στιγμιαία. Σε υψηλή -> χαμηλή μετάβαση // η λογική του κουμπιού θα εκτελεστεί. #define PIXEL_PIN 6 // Digitalηφιακή ακίδα IO συνδεδεμένη με τα NeoPixels. #define PIXEL_COUNT 19 #define BRIGHTNESS 100 // 0-255 // Παράμετρος 1 = αριθμός εικονοστοιχείων στη λωρίδα // Παράμετρος 2 = αριθμός καρφιτσών (οι περισσότεροι είναι έγκυροι) // Παράμετρος 3 = σημαίες τύπου pixel, προσθέστε μαζί όπως απαιτείται: / / NEO_RGB Τα εικονοστοιχεία είναι συνδεδεμένα για RGB bitstream // NEO_GRB Τα εικονοστοιχεία είναι ενσύρματα για bitstream GRB, διορθώστε εάν τα χρώματα αλλάζουν κατά τη δοκιμή // NEO_RGBW Τα εικονοστοιχεία είναι συνδεδεμένα για RGBW bitstream // NEO_KHZ400 400 KHz bitstream (π.χ. FLORA pixels) // NEO_KHZ8 bitstream (π.χ. λωρίδα LED υψηλής πυκνότητας), σωστή για ραβδί neopixel Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800). bool oldState = HIGH? int showType = 0;

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

void setup () {

pinMode (BUTTON_PIN, INPUT_PULLUP); strip.setBrightness (BRIGHTNESS); strip.begin (); strip.show (); // Αρχικοποίηση όλων των εικονοστοιχείων σε "απενεργοποίηση"} Η συνάρτηση ρύθμισης ορίζει τον ακροδέκτη 2 σε μια είσοδο με την εσωτερική αντίσταση έλξης ενεργοποιημένη, ρυθμίζει την παγκόσμια φωτεινότητα των εικονοστοιχείων και ξεκινά τη σύνδεση δεδομένων εικονοστοιχείων.

void loop () {

// Λήψη τρέχουσας κατάστασης κουμπιού. bool newState = digitalRead (BUTTON_PIN); // Ελέγξτε αν η κατάσταση άλλαξε από υψηλή σε χαμηλή (πατήστε το κουμπί). εάν (newState == LOW && oldState == HIGH) {// Κουμπί σύντομης καθυστέρησης στην κατάργηση. καθυστέρηση (20)? // Ελέγξτε αν το κουμπί είναι ακόμα χαμηλό μετά την κατάργηση. newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; εάν (showType> 6) showType = 0; startShow (showType); }} // Ορίστε την τελευταία κατάσταση κουμπιού στην παλιά κατάσταση. oldState = newState; }

Η λειτουργία βρόχου ελέγχει πρώτα την τρέχουσα κατάσταση του κουμπιού και το αποθηκεύει σε μια μεταβλητή boolean (μπορεί να είναι μία από τις δύο καταστάσεις: HIGH ή LOW). Στη συνέχεια, ελέγχει και διπλασιάζει για να διαπιστωθεί εάν αυτή η κατάσταση πηγαίνει από Υ HIGHΗΛΗ σε ΧΑΜΗΛΗ. Αν το έκανε, το showType αυξάνεται κατά ένα και καλείται η λειτουργία startShow, με το τρέχον showType να περνά σε αυτό ως επιχείρημα (το showType περιορίζεται σε 0-6). Η μεταβλητή oldState ενημερώνεται για να αντικατοπτρίζει ποια ήταν η τελευταία κατάσταση κουμπιού.

void startShow (int i) {

switch (i) {case 0: colorWipe (strip. Color (0, 0, 0), 50); // Μαύρο/off διάλειμμα. θήκη 1: colorWipe (λωρίδα. Χρώμα (255, 0, 0), 50); // Κόκκινο διάλειμμα? θήκη 2: colorWipe (λωρίδα. Χρώμα (0, 255, 0), 50); // Πράσινο διάλειμμα. θήκη 3: colorWipe (λωρίδα. Χρώμα (0, 0, 255), 50). // Μπλε διάλειμμα? περίπτωση 4: pulseWhite (5); Διακοπή; θήκη 5: rainbowFade2White (3, 3, 1). Διακοπή; περίπτωση 6: fullWhite (); Διακοπή; }}

Η λειτουργία startShow περιέχει μια εντολή switch/case, η οποία είναι απλώς ένας φανταχτερός γρήγορος τρόπος για να στοιβάζετε μια δέσμη προτάσεων if/else. Η περίπτωση μεταγωγής συγκρίνει τη μεταβλητή i με τις τιμές κάθε περίπτωσης και στη συνέχεια εκτελεί τον κώδικα σε αυτήν τη δήλωση. Τη λέξη -κλειδί

Διακοπή;

εξέρχεται από τη δήλωση switch/case. Αυτός ο διακόπτης/θήκη χρησιμοποιείται για την κλήση διαφορετικών λειτουργιών κίνησης κάθε φορά που πατάτε το κουμπί.

Εικόνα
Εικόνα

Τώρα που έχετε ένα λειτουργικό πρωτότυπο breadboard, ήρθε η ώρα να το μετατρέψετε σε ένα ολοκληρωμένο έργο χρησιμοποιώντας ένα Arduino Gemma, το οποίο είναι μικρότερο, λιγότερο πλήρως εξοπλισμένο και χαμηλότερο κόστος από το Arduino Uno. Μπορείτε επίσης να χρησιμοποιήσετε ένα Adafruit Gemma, αλλά θα χρειαστεί να εκτελέσετε ένα επιπλέον βήμα για να διαμορφώσετε το λογισμικό Arduino.

Αρχικά, αλλάξτε τη μεταβλητή καρφίτσα NeoPixel από 6 σε 1 στον κωδικό σας:

#define PIXEL_PIN 1 // Digitalηφιακή ακίδα IO συνδεδεμένη με τα NeoPixels.

Συνδέστε το Arduino Gemma στον υπολογιστή σας χρησιμοποιώντας καλώδιο USB και επιλέξτε "Arduino Gemma" ως τύπο πλακέτας στο μενού Arduino Tools.

Εικόνα
Εικόνα

Οι περιορισμένες λειτουργίες του μικροελεγκτή ATTiny85 επί του σκάφους δεν υποστηρίζουν σειριακή θύρα με τον ίδιο τρόπο όπως το Uno, οπότε δεν χρειάζεται να επιλέξετε τίποτα από το μενού Port. Ωστόσο, φροντίστε να επιλέξετε "Arduino Gemma" κάτω από το στοιχείο μενού Programmer.

Εικόνα
Εικόνα

Ο πίνακας χρειάζεται λίγη βοήθεια γνωρίζοντας πότε προσπαθείτε να τον προγραμματίσετε, οπότε πατήστε το κουμπί επαναφοράς στον πίνακα και ενώ η κόκκινη λυχνία LED χτυπά, πατήστε το κουμπί Μεταφόρτωση για να φορτώσετε το σκίτσο σας στο Gemma. Εάν η κόκκινη λυχνία LED δεν αναβοσβήνει όταν πατάτε το κουμπί επαναφοράς, το καλώδιο USB ενδέχεται να είναι μόνο για τροφοδοσία και πρέπει να αντικατασταθεί με καλώδιο USB που διαθέτει συνδέσεις τροφοδοσίας και δεδομένων. Ένας άλλος λόγος που ενδέχεται να μην σφύζει η λυχνία LED είναι εάν χρησιμοποιείτε θύρα USB 3 (όλα τα νεότερα Mac), τα οποία αντιμετωπίζουν προβλήματα στην αναγνώριση του προγράμματος εκκίνησης Gemma. Χρησιμοποιήστε μια θύρα USB 2 στον υπολογιστή σας ή ένα διανομέα USB μεταξύ του υπολογιστή σας και του Gemma.

Βήμα 7: Κύκλωμα συγκολλήσεων

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

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

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 ~ (ψηφιακή ακίδα 1)
  • NeoPixel GND -> η μία πλευρά του κουμπιού -> Gemma GND
  • άλλη πλευρά του κουμπιού -> Gemma 2 (ψηφιακή ακίδα 2)

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

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Κολλήστε ζεστά το Gemma σας στη θέση του με τη θύρα USB στραμμένη προς την άκρη του κύκλου.

Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα
Εικόνα

Εφαρμόστε το μπροστινό/επάνω κάλυμμα και χειριστείτε την άκρη για να στερεώσετε καθαρά τα κομμάτια. Youσως χρειαστεί να κόψετε λίγο τον κάτω κύκλο σας για να ταιριάξει, και επίσης να τραβήξετε την άκρη για να χωρέσει ο σύντροφός του. Κολλήστε το κουμπί στη θέση του όπου θέλετε.

Βήμα 8: Χρησιμοποιήστε το

Συνδέστε ένα καλώδιο USB, πατήστε το κουμπί και απολαύστε! Μπορείτε να αλλάξετε τα χρώματα και τις κινούμενες εικόνες αλλάζοντας τον κώδικα. Χρησιμοποιήστε έναν προσαρμογέα τροφοδοσίας USB εάν θέλετε να τον τοποθετήσετε σε έναν τοίχο. Σε αυτό το σημείο μπορείτε να φτιάξετε ένα άλλο μικρό αφρώδες κομμάτι για να κλείσετε το υπόλοιπο, αν το επιθυμείτε. Μερικές προτεινόμενες χρήσεις: κρεμάστε το στον τοίχο σας, κρατήστε το στο γραφείο σας, δώστε το σε έναν φίλο!

Εικόνα
Εικόνα

Μπορείτε εύκολα να εκτελέσετε αυτό το έργο με εσωτερική μπαταρία αντί να συνδέσετε καλώδιο USB. Ο προσανατολισμός στον οποίο κολλάτε το Gemma θα καθορίσει την πρόσβαση στη θύρα της μπαταρίας, οπότε μπορεί να θέλετε να το ξανακολλήσετε σε διαφορετική γωνία. 19 εικονοστοιχεία RGBW επί 80ma μέγιστη τρέχουσα κλήρωση (συν ma 10ma για το Gemma) ισούται με 1530ma, πράγμα που σημαίνει ότι χρειαζόμαστε τεχνικά μια μπαταρία με τουλάχιστον τόσα mAh. Ωστόσο, ο κωδικός για τον καθρέφτη δεν πλησιάζει τη χρήση των LED των τεσσάρων εικονοστοιχείων σε πλήρη φωτεινότητα μαζί, οπότε στην πραγματικότητα η μέγιστη τρέχουσα έλξη είναι πολύ μικρότερη. Ένας υγιής συμβιβασμός είναι η επαναφορτιζόμενη μπαταρία λιπόλης 1200mAh.

Εικόνα
Εικόνα

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

Συνιστάται: