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

Πουλόβερ Arduino Light Up: 9 Βήματα
Πουλόβερ Arduino Light Up: 9 Βήματα

Βίντεο: Πουλόβερ Arduino Light Up: 9 Βήματα

Βίντεο: Πουλόβερ Arduino Light Up: 9 Βήματα
Βίντεο: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Ιούλιος
Anonim
Image
Image

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

Η Adafruit δημιούργησε μερικά εξαιρετικά έργα γύρω από τα Wearables, έτσι χρησιμοποιούμε τον τροποποιημένο κώδικα για να υλοποιήσουμε αυτό το έργο από το έργο Sparkle Skirt.

Σε αυτό το σεμινάριο θα:

  • Μάθετε να χρησιμοποιείτε Wearables
  • Κωδικοποιήστε την κύρια πλακέτα Flora, το επιταχυνσιόμετρο και τα NeoPixels για να ανάψουν χρησιμοποιώντας το Arduino

Βήμα 1: Ξεκινώντας

Ξεκινώντας
Ξεκινώντας

Θα χρησιμοποιήσουμε το Adafruit Flora Wearables, μια μπαταρία, αγώγιμο νήμα και ένα πουλόβερ διακοπών. Θα χρειαστείτε επίσης κανονικό νήμα, βελόνες και βερνίκι νυχιών. Όλα θα έχουν νόημα με τον καιρό. Η εκδοχή μας θα δώσει στον Άγιο Βασίλη φωτεινά μάτια, αλλά υποστηρίζουμε όλες τις θρησκείες και τις γιορτές και τις πεποιθήσεις, οπότε να είστε δημιουργικοί!

  • Adafruit Flora Main Board (https://www.adafruit.com/product/659)
  • Επιταχυνσιόμετρο Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Μπαταρία (https://www.adafruit.com/product/727)
  • Αγώγιμο νήμα (https://www.adafruit.com/product/641)

Βήμα 2: Διάταξη

Σχέδιο
Σχέδιο

Πρέπει να σχεδιάσουμε τα εικονοστοιχεία, την κύρια πλακέτα και το επιταχυνσιόμετρο πριν ξεκινήσουμε τη διαδικασία ραψίματος. Τα εικονοστοιχεία θα έχουν σύνδεση δεδομένων, + για ισχύ και - για γείωση. Το επιταχυνσιόμετρο χρειάζεται συνδέσεις για 3V, SCL, SDA και γείωση.

Σχεδιάστε τα εικονοστοιχεία, την κύρια σανίδα και το επιταχυνσιόμετρο στο πουλόβερ καθώς σχεδιάζετε να το ράψετε. Βεβαιωθείτε ότι δεν θα περάσετε καμία ραφή, καθώς αυτό θα προκαλέσει σορτς. Δεδομένου ότι έχουμε την πρόσοψη της πλακέτας μας και την NeoPixels προς τα έξω, χρησιμοποιούμε το 3V, το Pin 9 και το Ground για να συνδέσουμε τα NeoPixels.

Τα NeoPixels έχουν ένα βέλος που δείχνει πώς πρέπει να μεταβεί η σύνδεση δεδομένων από τον κεντρικό πίνακα Flora στον επόμενο NeoPixel. Βεβαιωθείτε ότι όλα τα NeoPixels είναι ευθυγραμμισμένα με την ίδια όψη.

Βήμα 3: Συμβουλές ραφής

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

Χωρίς σορτς/διασταύρωση βελονιών

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

Σφιχτοί κόμβοι

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

Καλές συνδέσεις

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

ΣΥΜΒΟΥΛΕΣ

Βεβαιωθείτε ότι το ρούχο σας δεν είναι ενεργοποιημένο όταν το παίρνετε και το βγάζετε. Αυτός είναι ο ευκολότερος τρόπος για να αγγίξετε τα νήματα και να προκαλέσετε ένα σύντομο. Μην ενεργοποιείτε τη μπαταρία σας έως ότου το ρούχο είναι άνετα αναμμένο.

Βήμα 4: Συρραφή των εξαρτημάτων

Ράψιμο των εξαρτημάτων
Ράψιμο των εξαρτημάτων
Ράψιμο των εξαρτημάτων
Ράψιμο των εξαρτημάτων

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

Στη συνέχεια, πρέπει να συρράψετε τις τέσσερις συνδέσεις από τον κεντρικό πίνακα Flora και το επιταχυνσιόμετρο. Αυτό θα είναι το Power, το Ground, το SCL και το SDA. Εάν τοποθετήσετε το Επιταχυνσιόμετρο επάνω αριστερά στην κύρια πλακέτα, οι συνδέσεις θα ευθυγραμμιστούν απευθείας. Έτσι θα έχετε τέσσερις ξεχωριστές βελονιές για να συνδέσετε τις δύο σανίδες. Χρησιμοποιήστε λίγο διαφανές βερνίκι νυχιών και στους δύο τελικούς κόμβους για να μην ξετυλιχτούν. Ένα μικρό βερνίκι νυχιών στις σανίδες δεν θα τους βλάψει.

Τέλος, πρέπει να συνδέσετε τις συνδέσεις 3V, γείωσης και δεδομένων από την πλακέτα Flora Main στα NeoPixels. Μπορείτε να κάνετε δύο μακριές, συνεχείς βελονιές για το έδαφος και τη δύναμη, καθώς αυτές βρίσκονται στο κάτω και πάνω μέρος των NeoPixels. Για τις συνδέσεις δεδομένων από το pin 9 πρέπει να κάνετε ξεχωριστές βελονιές από κάθε NeoPixel στο επόμενο.

Βήμα 5: Arduino IDE

Ο κεντρικός πίνακας Flora είναι συμβατός με το Arduino, επομένως θα χρησιμοποιούμε το Arduino IDE για τον κωδικό μας. Μπορείτε να κατεβάσετε την τελευταία έκδοση μέσω αυτού του συνδέσμου.

Υπάρχει επίσης μια έκδοση ιστού μέσω αυτού του συνδέσμου.

Υπάρχουν τέσσερις βιβλιοθήκες που πρέπει να προστεθούν για να χρησιμοποιήσετε τα NeoPixels και το επιταχυνσιόμετρο. Μεταβείτε στο Sketch, Include Library, Manage Libraries. Για καθένα θα πρέπει να το αναζητήσετε κατά όνομα, να επιλέξετε την πιο πρόσφατη έκδοση και να κάνετε κλικ στην εγκατάσταση.

  • Adafruit NeoPixel
  • Ενιαίος αισθητήρας Adafruit
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

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

Βήμα 6: Δοκιμή σεναρίων

Δοκιμαστικά σενάρια
Δοκιμαστικά σενάρια

Για να δοκιμάσουμε το έργο μας, πρέπει να συνδέσουμε τον κεντρικό πίνακα Adafruit στον υπολογιστή σας χρησιμοποιώντας ένα καλώδιο USB. Στη συνέχεια, μεταβείτε στην επιλογή Εργαλεία, Θύρα και επιλέξτε τον πίνακα Flora Main στη λίστα.

Το πρώτο πράγμα που θα δοκιμάσουμε είναι αν το επιταχυνσιόμετρο λειτουργεί σωστά. Μεταβείτε στο Αρχείο, Παραδείγματα, Adafruit LSM303DLHC, accelsensor. Αυτό θα ανοίξει ένα σενάριο που ελέγχει εάν ο αισθητήρας είναι συνδεδεμένος και διαβάζει τιμές συντεταγμένων. Ανεβάστε στον πίνακα και ανοίξτε τη Σειριακή οθόνη πάνω δεξιά στο Arduino IDE. Αν δείτε τιμές να αλλάζουν στο Serial Monitor, όπως στη φωτογραφία, ενώ μετακινείτε το επιταχυνσιόμετρο, τότε λειτουργεί!

Το δεύτερο πράγμα που θα δοκιμάσουμε είναι αν τα NeoPixels λειτουργούν. Μεταβείτε στο Αρχείο, Παραδείγματα, Adafruit NeoPixels, strandtest. Πριν εκτελέσουμε αυτό το σενάριο, αλλάξτε το Pin σε 9 και τον αριθμό των pixel σε 6 (ή ό, τι χρησιμοποιείτε για το έργο σας). Ανεβάστε στον πίνακα και αν όλα τα pixel φωτιστούν, είστε έτοιμοι για το τελικό σενάριο!

Βήμα 7: Τελικό σενάριο

Τελικό σενάριο
Τελικό σενάριο

Τώρα ήρθε η ώρα να φορτώσουμε τον τελικό μας κώδικα. Αντιγράψτε τον παρακάτω κώδικα σε ένα νέο αρχείο έργου. Το Pin έχει οριστεί σε 9 και ο αριθμός των NeoPixels έχει οριστεί σε 6. Εάν χρησιμοποιείτε κάτι διαφορετικό, αλλάξτε αυτά πριν εκτελέσετε αυτό το σενάριο. Μπορείτε να προσαρμόσετε τα αγαπημένα χρώματα προσαρμόζοντας τις τιμές των R, G και B από 0-255. Μπορείτε επίσης να προσθέσετε περισσότερα αγαπημένα χρώματα προσθέτοντας μια νέα γραμμή. Το κατώφλι μετακίνησης μπορεί επίσης να ρυθμιστεί. Όσο μικρότερος είναι ο αριθμός, τόσο πιο εύκολο είναι να εντοπίσετε την κίνηση και να ενεργοποιήσετε τα NeoPixels. Μόλις κάνετε οποιεσδήποτε αλλαγές θέλετε, αποθηκεύστε και ανεβάστε στο Flora Main Board. Θα πρέπει να μπορείτε να δείτε τα εικονοστοιχεία να φωτίζονται αν μετακινήσετε το επιταχυνσιόμετρο. Μόλις δείτε ότι μπορείτε να αποσυνδεθείτε από τον υπολογιστή σας και μπορούμε να συνδεθούμε στη μπαταρία μας.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Παράμετρος 1 = αριθμός εικονοστοιχείων στη λωρίδα // Παράμετρος 2 = αριθμός pin (τα περισσότερα είναι καλά αλλά χρησιμοποιούμε 9) // Παράμετρος 3 = τύπος εικονοστοιχείου σημαίες, προσθέστε μαζί όπως απαιτείται: // NEO_RGB Τα εικονοστοιχεία είναι ενσύρματα για bitstream RGB (v1 εικονοστοιχεία FLORA, όχι v2) // NEO_GRB Τα εικονοστοιχεία είναι ενσύρματα για bitstream GRB (τα περισσότερα προϊόντα NeoPixel. προϊόν που χρησιμοποιούμε) // NEO_KHZ400 400 KHz (κλασικό «v1» (όχι v2) εικονοστοιχεία FLORA, προγράμματα οδήγησης WS2811) // NEO_KHZ800 800 KHz bitstream (τα περισσότερα προϊόντα NeoPixel με LEDs WS2812. προϊόν που χρησιμοποιούμε) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + NEO_GRB + N00) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // Προσαρμόστε το R, G, B από 0-255 και // προσθέστε νέο {nnn, nnn, nnn}, για περισσότερα χρώματα // RGB uint8_t myFavoriteColors {] [3] 255, 255, 255}, // λευκό {255, 0, 0}, // κόκκινο {0, 255, 0}, // πράσινο}; // μην επεξεργαστείτε την παρακάτω γραμμή #define FAVCOLORS sizeof (myFavoriteColors) /3 // αυτός ο αριθμός προσαρμόζει την ευαισθησία κίνησης // χαμηλότερος αριθμός = πιο ευαίσθητος #define MOVE_THRESHOLD 5 // εξαιρετικά ευαίσθητη τρέχουσα αποφυγή ρύθμισης () {Serial.begin (9600); // Προσπαθήστε να αρχικοποιήσετε και να προειδοποιήσετε εάν δεν μπορέσαμε να εντοπίσουμε το τσιπ // Χρησιμοποιήστε Serial Monitor για να δείτε την εκτύπωση εάν (! Accel.begin ()) {Serial.println ("Έχουμε πρόβλημα. Είστε εσείς, όχι εγώ … Δεν μπορώ να αρχικοποιήσω το LSM303. Θα ξεκινούσα με έναν γρήγορο έλεγχο της καλωδίωσης "); ενώ (1)? } strip.begin (); strip.show (); // Ορισμός εικονοστοιχείων σε 'off'} void loop () {/ * Λήψη νέου συμβάντος αισθητήρα */ sensors_event_t συμβάν. accel.getEvent (& event); // Serial.print ("Accel X:"); Serial.print (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Serial.print (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // Λάβετε το μέγεθος (μήκος) του διανύσματος 3 αξόνων διπλά αποθηκευμένοVector = event.acceleration.x*event.acceleration.x; storageVector += event.acceleration.y*event.acceleration.y; storageVector += event.acceleration.z*event.acceleration.z; αποθηκευμένο Vector = sqrt (αποθηκευμένο Vector); // Serial.print ("Len:"); Serial.println (αποθηκευμένο Vector); // περιμένετε λίγο καθυστέρηση (250). // λάβετε νέα δεδομένα! accel.getEvent (& event); διπλό newVector = event.acceleration.x*event.acceleration.x; newVector += event.acceleration.y*event.acceleration.y; newVector += event.acceleration.z*event.acceleration.z; newVector = sqrt (newVector); // Serial.print ("New Len:"); Serial.println (newVector); // μετακομίζουμε ακόμα; if (abs (newVector - storageVector)> MOVE_THRESHOLD) {Serial.println ("Flashy! Flash! Flash! McFlash!"); flashRandom (10, 2); // ο πρώτος αριθμός είναι «αναμονή» καθυστέρηση, μικρότερος αριθμός == μικρότερος φλας flashRandom (10, 4); // ο δεύτερος αριθμός είναι πόσα neopixel πρέπει να ανάβουν ταυτόχρονα flashRandom (10, 6). }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// τυχαία επιλεγμένο από τα αγαπημένα χρώματα int c = random (FAVCOLORS); int λευκό = myFavoriteColors [c] [0]; int κόκκινο = myFavoriteColors [c] [1]; int πράσινο = myFavoriteColors [c] [2]; // τα εικονοστοιχεία να ενεργοποιηθούν κατά σειρά για (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Pixel on"); Serial.println (i); // τώρα θα το «ξεθωριάσουμε» σε 3 βήματα για (int x = 0; x = 0; x--) {int w = white * x; w /= 3; int r = κόκκινο * x; r /= 3; int g = πράσινο * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); καθυστέρηση (αναμονή)? }} // Οι λυχνίες LED θα σβήσουν όταν τελειώσουν (έχουν ξεθωριάσει στο 0)}

Βήμα 8: Μπαταρία

Μπαταρία
Μπαταρία

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

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

Βήμα 9: Συμπέρασμα

συμπέρασμα
συμπέρασμα

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

Συνιστάται: