Mündəricat:
- Addım 1: Başlayın
- Addım 2: Layout
- Addım 3: Dikiş ipuçları
- Addım 4: Komponentlərin tikilməsi
- Addım 5: Arduino IDE
- Addım 6: Test Skriptləri
- Addım 7: Son Ssenari
- Addım 8: Batareya Paketi
- Addım 9: Nəticə
Video: Arduino Light Up Kazak: 9 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Çirkin süveter partiyaları bayramın əsasını təşkil edir. Hər il oyununuzu artırmalı və tapa biləcəyiniz ən yaxşı kazağı geyinməlisiniz. Ancaq bu il birini daha yaxşı edə və ən yaxşı kazağı hazırlaya bilərsiniz. Dostlarınızı və ailənizi heyran edəcək gözəl işıqlı bir kazak yaratmaq üçün Adafruit Wearables istifadə edirik.
Adafruit, Wearables ətrafında bir çox möhtəşəm layihələr yaratdı, buna görə də bu layihəni Sparkle Skirt layihəsindən həyata keçirmək üçün onların dəyişdirilmiş kodundan istifadə edirik.
Bu təlimatda siz:
- Geyim əşyalarından istifadə etməyi öyrənin
- Arduino ilə işıqlandırmaq üçün Flora ana kartınızı, akselerometrinizi və NeoPixellərinizi kodlayın
Addım 1: Başlayın
Adafruit Flora Wearables, bir batareya paketi, keçirici iplik və bir bayram kazağı istifadə edəcəyik. Daimi iplərə, iynələrə və dırnaq boyalarına ehtiyacınız olacaq. Zamanla hər şeyin mənası olacaq. Bizim versiyamız Şaxta babaya gözlər açacaq, amma bütün dinləri, bayramları və inancları dəstəkləyirik, buna görə də yaradıcı olun!
- Adafruit Flora Ana İdarə Heyəti (https://www.adafruit.com/product/659)
- Flora Akselerometri (https://www.adafruit.com/product/1247)
- Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
- Batareya Paketi (https://www.adafruit.com/product/727)
- İletken Mövzu (https://www.adafruit.com/product/641)
Addım 2: Layout
Dikiş prosesinə başlamazdan əvvəl pikselləri, ana lövhəni və sürətləndiricini düzəltməliyik. Piksellərin məlumat bağlantısı olacaq, güc üçün + və torpaq üçün. Akselerometr 3V, SCL, SDA və torpaq üçün əlaqələrə ehtiyac duyur.
Kazağı tikməyi planlaşdırdığınız zaman pikselləri, ana lövhəni və akselerometrini düzəldin. Heç bir tikiş keçməyəcəyinizə əmin olun, çünki bu şorta səbəb olacaq. Lövhəmizi üzümüzə və NeoPixellərimizə baxdığımız üçün NeoPixelləri birləşdirmək üçün 3V, Pin 9 və Ground -dan istifadə edirik.
NeoPixels -də məlumat bağlantısının Flora ana kartından növbəti NeoPixel -ə necə keçməsi lazım olduğunu göstərən bir ox var. Bütün NeoPixellərin eyni şəkildə üzbəüz düzüldüyünə əmin olun.
Addım 3: Dikiş ipuçları
Dikişin vacib hissəsi üç şeydir; şort yoxdur/dikişlərin kəsişməməsi, dikişi bitirdikdə sıx düyünlər və Geyim əşyaları ilə yaxşı əlaqələr.
Şort/Dikiş Keçidi yoxdur
Dikişlərinizin keçməməsi üçün geyinə biləcəyiniz əşyaları düzəltdiyinizə əmin olun. Açığı, xətlər kəsişməməlidir. Bütün dikişlərin ayrı qalmasını təmin edən bir plana sahib olduğunuzda, dikiş edərkən sıx olduğundan əmin olmalısınız. Çox boşluq buraxsanız, ipin toxunmasına icazə verə bilərsiniz. Dikişi bitirdikdən sonra artıq uclarını kəsin ki, heç bir sapma yoxdur.
Sıx düyünlər
Bir dikiş xəttinə son verərkən, sıx bir düyün, dikişin açılmamasını təmin edəcək. Hiylə, düyünə kiçik bir şəffaf dırnaq boyası qoyub qurutmaqdır. Bu, düyünü yapışqan kimi yerində saxlamağa kömək edir. Keçirici iplik adi bir iplikdə olduğu kimi yaxşı bir şəkildə tutmur, buna görə də dırnaq boyası istifadə etməyi məsləhət görürəm, yoxsa dikişlər boşa çıxa bilər.
Yaxşı Əlaqələr
Sancaqlardakı döngələrin sıx olduğundan əmin olun. Bu, dövrəniz işləmirsə, problemin əlaqələr olmadığını bildiyimizi təmin etməyə kömək edəcəkdir. Həmişə yaxşı bir əlaqə olacağından əmin olmaq üçün sancaqlar arasından 2-3 dəfə keçə bilərsiniz.
Məsləhətlər/Fəndlər
Geyim əşyanızın açılarkən və açılarkən açılmadığından əmin olun. Bu mövzuya toxunmağın və qısalmanın ən asan yoludur. Geyim əşyası rahat şəkildə açılana qədər batareya paketinizi açmayın.
Addım 4: Komponentlərin tikilməsi
Əlavə etməyimiz lazım olan ilk parça Flora Ana Kartıdır. İstifadə etməyi planlaşdırmadığınız iki sancaqla nizamlı ipdən istifadə edərək lövhəni kazağınıza yapışdırın. Bu, lövhəni yerində saxlayacaq və keçirici ipdən istifadə edərək tikişi asanlaşdıracaq. Hərəkət etməməsi üçün bir neçə sadə döngə kifayətdir.
Sonra, Flora Ana Kartı və Akselerometrdən dörd əlaqəni bir -birinə bağlamalısınız. Bu Power, Ground, SCL və SDA olacaq. Akselerometri ana lövhənin sol üst hissəsinə yerləşdirsəniz, əlaqələr birbaşa düzülür. Beləliklə, iki lövhəni birləşdirmək üçün dörd ayrı dikişiniz olacaq. Açılmaması üçün hər iki uc düyündə bir az şəffaf dırnaq boyası istifadə edin. Lövhələrdəki bir az dırnaq lakı onlara zərər verməyəcək.
Nəhayət, Flora Ana kartından 3V, torpaq və məlumat əlaqələrini NeoPixellərə bağlamalısınız. Zəmin və güc üçün iki uzun, davamlı dikiş edə bilərsiniz, çünki bunlar NeoPixellərin alt və üst hissələrindədir. Pin 9 -dan verilən məlumat əlaqələri üçün hər bir NeoPixeldən digərinə ayrı tikişlər etməlisiniz.
Addım 5: Arduino IDE
Flora Ana Kartı Arduino ilə uyğundur, buna görə kodumuz üçün Arduino IDE istifadə edəcəyik. Ən son versiyanı bu linkdən yükləyə bilərsiniz.
Bu link vasitəsilə bir veb versiyası da var.
NeoPixels və Accelerometer istifadə etmək üçün əlavə edilməli olan dörd kitabxana var. Sketch -ə gedin, Kitabxanaya daxil olun, Kitabxanaları idarə edin. Hər biri üçün onu adla axtarmalı, ən son versiyanı seçməlisiniz və quraşdırma düyməsini basmalısınız.
- Adafruit NeoPixel
- Adafruit Vahid Sensor
- Adafruit TSL2561
- Adafruit LSM303DLHC
Bunlar quraşdırıldıqdan və tikiş tamamlandıqdan sonra hər şeyin işlədiyinə əmin olmaq üçün kazağımızı sınamağa hazırıq.
Addım 6: Test Skriptləri
Layihəmizi sınamaq üçün Adafruit ana kartımızı USB kabelindən istifadə edərək kompüterinizə bağlamalıyıq. Sonra Alətlər, Limana gedin və siyahıdan Flora Ana lövhənizi seçin.
Test edəcəyimiz ilk şey, akselerometrin düzgün işlədiyidir. Fayl, Nümunələr, Adafruit LSM303DLHC, sürətləndiriciyə gedin. Bu, sensorun bağlı olub olmadığını yoxlayan və koordinat dəyərlərini oxuyan bir skript açacaq. Lövhənizə yükləyin və Arduino IDE -nin sağ üst hissəsindəki Serial Monitoru açın. Sürətölçəni hərəkət etdirərkən fotoşəkildə olduğu kimi Serial Monitorda dəyərlərin dəyişdiyini görürsünüzsə işləyir!
Test edəcəyimiz ikinci şey, NeoPixellərin işlək olmasıdır. Fayl, Nümunələr, Adafruit NeoPixels, strandtest bölməsinə keçin. Bu skriptə başlamazdan əvvəl, Pin -i 9 -a və piksel sayını 6 -ya (və ya layihəniz üçün istifadə etdiyiniz hər şeyi) dəyişdirin. Lövhənizə yükləyin və bütün piksellər yanarsa, son skriptə hazırsınız!
Addım 7: Son Ssenari
İndi son kodumuzu yükləməyin vaxtı gəldi. Aşağıdakı kodu yeni bir layihə faylına kopyalayın. Pin 9 -a, NeoPixel sayı isə 6 -ya təyin olunur. Fərqli bir şey istifadə edirsinizsə, bu skriptə başlamazdan əvvəl bunları dəyişdirin. R, G, & B dəyərlərini 0-255 arasında dəyişərək sevdiyiniz rəngləri tənzimləyə bilərsiniz. Yeni bir xətt əlavə edərək daha çox sevdiyiniz rəngləri əlavə edə bilərsiniz. Hərəkət həddi də tənzimlənə bilər. Sayı nə qədər aşağı olarsa, hərəkəti aşkar etmək və NeoPixelləri açmaq daha asandır. İstədiyiniz dəyişiklikləri etdikdən sonra qeyd edin və Flora Ana Kartına yükləyin. Akselerometr ətrafında hərəkət etsəniz, piksellərin işıqlandığını görə bilməlisiniz. Kompüterdən ayıra biləcəyinizi gördükdən sonra batareya paketimizə qoşula bilərik.
#include #include #include #include #define PIN 9 #PIXELCOUNT 6 təyin edin // Parametr 1 = zolaqdakı piksel sayı // Parametr 2 = pin nömrəsi (əksəriyyəti yaxşıdır, amma 9 -dan istifadə edirik) // Parametr 3 = piksel növü bayraqlar, lazım olduqda əlavə edin: // NEO_RGB Pikselləri RGB bit axını üçün bağlanır (v1 FLORA pikselləri, v2 deyil) // NEO_GRB Pikselləri GRB bit axını üçün bağlanır (istifadə etdiyimiz NeoPixel məhsullarının əksəriyyəti) // NEO_KHZ400 400 KHz (klassik 'v1' (v2 deyil) FLORA pikselləri, WS2811 sürücüləri) // NEO_KHZ800 800 KHz bit axını (WS2812 LED -ləri olan NeoPixel məhsullarının çoxu. istifadə etdiyimiz məhsul) Adafruit_NeoPixel şeridi = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEOO_GRB) Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified (54321); // R, G, B-ni 0-255-dən tənzimləyin və // daha çox rəng üçün yeni {nnn, nnn, nnn} əlavə edin // RGB uint8_t myFavoriteColors {] [3] 255, 255, 255}, // ağ {255, 0, 0}, // qırmızı {0, 255, 0}, // yaşıl}; // #define FAVCOLORS sizeof (myFavoriteColors) altındakı sətri redaktə etməyin /3 // bu nömrə hərəkət həssaslığını tənzimləyir // aşağı nömrə = daha həssas #define MOVE_THRESHOLD 5 // super həssas hazırdavoid setup () {Serial.begin (9600); // Çipi aşkar edə bilmədiyimiz halda işə salmağa və xəbərdar etməyə çalışın // Çapı görmək üçün Serial Monitordan istifadə edin (! Accel.begin ()) {Serial.println ("Bir problemimiz var. Bu sən deyil, mən … LSM303 -ü işə sala bilmədim. Kabellərin sürətli yoxlanılması ilə başlayardım "); isə (1); } strip.begin (); strip.show (); // Pikselləri 'off' olaraq təyin edin} void loop () {/ * Yeni bir sensor hadisəsi alın */ sensors_event_t hadisə; accel.getEvent (& hadisə); // Serial.print ("Accel X:"); Serial. çap (hadisə. sürətləndirmə.x); Serial.print (""); // Serial.print ("Y:"); Serial. çap (hadisə. sürətləndirmə.y); Serial.print (""); // Serial.print ("Z:"); Serial. çap (hadisə.acceleration.z); Serial.print (""); // 3 oxlu vektorun böyüklüyünü (uzunluğunu) əldə edin double storageVector = event.acceleration.x*hadisə.acceleration.x; storageVector += hadisə.acceleration.y*hadisə.acceleration.y; storageVector += hadisə.acceleration.z*hadisə.acceleration.z; storageVector = sqrt (storageVector); // Serial.print ("Len:"); Serial.println (storageVector); // bir az gecikmə gözləyin (250); // yeni məlumatlar əldə edin! accel.getEvent (& hadisə); ikiqat newVector = hadisə.acceleration.x*hadisə.acceleration.x; newVector += hadisə.acceleration.y*hadisə.acceleration.y; newVector += hadisə.acceleration.z*hadisə.acceleration.z; newVector = sqrt (newVector); // Serial.print ("Yeni Len:"); Serial.println (newVector); // hələ hərəkət edirik? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println ("Parlaq! Flaş! Flaş! McFlash!"); flashRandom (10, 2); // ilk nömrə 'gözləmə' gecikməsidir, daha qısa num == daha qısa parıltı flashRandom (10, 4); // ikinci nömrə, eyni anda flashRandom (10, 6) yandırmaq üçün neçə neopikseldir; }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// təsadüfi seçilmiş rənglərdən int c = təsadüfi (FAVCOLORS); int ağ = myFavoriteColors [c] [0]; int qırmızı = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // üçün sırayla açılacaq piksellər (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print ("Piksel açıq"); Serial.println (i); // indi (int x = 0; x = 0; x--) {int w = white * x; w /= 3; int r = qırmızı * x; r /= 3; int g = yaşıl * x; g /= 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); gecikmə (gözləmək); }} // LEDlər bitdikdə sönəcək (onlar 0 -a çevrilir)}
Addım 8: Batareya Paketi
Kazağınızın davamlı işləməsi üçün bir batareya paketi istifadə edəcəyik. Yalnız taxtadan asılmaması üçün paket üçün bir qoşqu düzəltməliyik. Batareya cibim kimi köhnə yastıq kılıfının küncündən istifadə etdim. Açıq tərəfi tikdim və üst tərəfin bir tərəfini ana lövhəyə kifayət qədər yaxın olan kazakla bağladım ki, asanlıqla bağlasın və çəkməsin.
Batareya paketini ana lövhəyə qoşun, ana lövhədəki kiçik açarı söndürün və yandırın. Kazağınız artıq işləməli və geyinməyə hazır olmalıdır.
Addım 9: Nəticə
İndi bütün dostlarınızı və ailənizi heyran edəcək yüngül bir kazak hazırladınız! Ancaq bu sadəcə bir bayram layihəsi deyil. Sevgililərinizi Müqəddəs Patrik Günü üçün ürəkaçan bir kazak edin və ya köynək yandırın. Təsəvvürünüzdən istifadə edin və yaratdıqlarınızı bizə bildirin!
Tövsiyə:
BookWorm Light-Up Book Light və Bookmark: 13 Addım (Şəkillərlə birlikdə)
BookWorm Light-Up Book Light və Bookmark: Kitab işığı kimi ikiqat artan bu əyləncəli kitab qurdu əlfəcini olun! Çap edəcəyik, kəsəcəyik, rəngləndirəcəyik və bəzəyəcəyik və qaranlıqda oxuya biləcəyiniz üçün gecəni işıqlandırmaq üçün ondan istifadə edəcəklər. Yalnız bir neçə materialdan hazırlanmışdır və əla bir ilk iş görür
Merry Grinchmas Kazak, Termal Yazıcı + GemmaM0: 5 Addım (Şəkillərlə)
Merry Grinchmas Kazak, Termal Yazıcı + GemmaM0: Merry Grinchmas kazak, Grinchin papaq pomponuna kimsə toxunduqda şikayət kimi geniş çaplı çap edilmiş mesajlar təqdim edən interaktiv bir geyimdir. Nəzarət olunan bir termal printerdən gələn Milad əleyhinə mesajlar
Yanıp sönən kazak: 5 addım
Yanan Sviter: Bu layihədə Nordic üslubunda tipik ulduz şəkli olan ənənəvi bir kazak toxudum. Kiçik bir sviterdir, buna görə toxuculuq etmək çox vaxt çəkmir. İki rənglə toxunmaq çətindirsə, yalnız birini istifadə edə bilərsiniz. Örgüdən sonra tikdim
Animasiya Mood Light & Night Light: 6 Addım (Şəkillərlə)
Animasiya Mood İşıq və Gecə İşığı: İşıqla vəsvəsə ilə məhdudlaşan bir cazibəyə sahib olaraq, hər hansı bir ölçüdə RGB işıqlı ekranlar yaratmaq üçün istifadə edilə bilən kiçik modul PCB -lərdən ibarət bir seçim yaratmağa qərar verdim. Modul PCB hazırladıqdan sonra onları bir yerə yığmaq fikrinə düşdüm
Fərdi "şamlarla" işıq saçan Chanukah kazak: 7 addım (şəkillərlə)
Fərdi "şamlarla" işıq saçan Chanukah Kazağı: Bayram partiyası mövsümü və bu il işıq saçan menorah kazağı ilə partiyanın parlaq ulduzu ola bilərsiniz! Bu, onlayn və sənətkarlıq mağazasında asanlıqla tapılan nisbətən ucuz materiallardan istifadə edərək tikilmiş bir dövrə layihəsidir. Daha yaxşı