Mündəricat:
- Addım 1: Solor işıqlarını bağlayın
- Addım 2: Daha Yaxşı İşıqların Quraşdırılması
- Addım 3: Kodlaşdırma
Video: İnteraktiv həyət işıqları, keçid işıqları: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Arxa həyətim üçün bir növ interaktiv həyət işıqları qurmaq istədim. Fikir, kimsə bir tərəfə getdiyi zaman, getdiyin istiqamətdə bir animasiya quracaqdı. Dollar General 1.00 dollarlıq günəş işığı ilə başladım
Addım 1: Solor işıqlarını bağlayın
İlk addım daha əyləncəli şeylərə yol açmaq üçün işıqları söndürmək idi. Orijinal led və batareyanı kəsməklə başladım. Başqa bir layihədə faydalı olacağı üçün bu hissələri saxladığınızdan əmin olun, günəş işığının altındakı xrom günbəzini də çıxarıb fotoşəkillərdə göründüyü kimi üstə yapışdırdım.
Addım 2: Daha Yaxşı İşıqların Quraşdırılması
led üçün burada tapa biləcəyim suya davamlı ws2811b istifadə etdim
www.ebay.com/itm/50-X-12mm-LED-Module-RGB-…
Əvvəlcə günəş işıqlarının içərisinə PIR sensorlar qoymağı planlaşdırmışdım. amma bu problemli olduğunu sübut etdi, çünki sensor əsasən plastikdən keçmişi görə bilmədi. bir növ UV filtrləmə xüsusiyyətinə malik olmalıdır. buna görə daha çox belə bir şey seçdim
www.thingiverse.com/thing:2590216
Addım 3: Kodlaşdırma
İşıqların sensordan istifadə etməməsini və ya hər zaman işləməsini istəsəniz, sadəcə "bayraq vəziyyətinin dəyişməsi" olaraq yazılan yeri axtarın və eter 1 və ya 0 olaraq təyin edin, bunu özüm üçün tamamladığımda daha çox şəkil əlavə edəcəyəm hələ də davam edən bir işdir, amma dərhal paylaşmamaq üçün çox səliqəli olduğunu düşünürəm. baxdığınız üçün təşəkkürlər
boş quraşdırma () {
// quraşdırma kodunuzu buraya qoyun, bir dəfə işləsin: FastLED.addLeds (ledlər, NUM_LEDS); Serial.begin (9600); pinMode (düyməPin1, GİRİŞ); pinMode (düyməPin2, GİRİŞ); }
boşluq döngəsi () {
Serial.println (FlagState);
if (FlagState == 0) {ForwardLeds (); } if (FlagState == 1) {RevLeds (); } if (FlagState == 2) {Waiting (); }}
void ForwardLeds () {
FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; led [LastLed] = CRGB:: Ağ; led [FirstLed] = CRGB:: Ağ; gecikmə (750); FastLED.show (); Serial.print ("ağ keçid"); Serial. çap (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; led [LastLed] = CRGB:: Mavi; led [FirstLed] = CRGB:: Mavi; gecikmə (250); FastLED.show (); Serial.print ("Mavi keçid"); Serial. çap (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; led [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; gecikmə (250); FastLED.show (); Serial.print ("Qırmızı keçid"); Serial. çap (i); Serial.println ("of 8"); } FirstLed = -1; LastLed = 16; for (int i = 0; i <8; i ++) {LastLed--; FirstLed ++; led [LastLed] = CRGB:: Qara; led [FirstLed] = CRGB:: Qara; gecikmə (250); FastLED.show (); Serial.print ("Ledin söndürülməsi"); Serial. çap (i); Serial.println ("of 8"); } FlagState = 2; // bayraq vəziyyətinin dəyişdirilməsi} void RevLeds () {Serial.println ("tərsinə"); FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; led [LastLed] = CRGB:: Ağ; led [FirstLed] = CRGB:: Ağ; gecikmə (750); FastLED.show (); Serial.print ("Ağ keçid"); Serial. çap (i); Serial.println ("of 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; led [LastLed] = CRGB:: Mavi; led [FirstLed] = CRGB:: Mavi; gecikmə (250); FastLED.show (); Serial.print ("Mavi keçid"); Serial. çap (i); Serial.println ("of 8"); } FirstLed = 8; LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; led [LastLed] = CRGB:: Purple; leds [FirstLed] = CRGB:: Purple; gecikmə (250); FastLED.show (); Serial.print ("Qırmızı keçid"); Serial. çap (i); Serial.println ("of 8"); }
FirstLed = 8;
LastLed = 7; for (int i = 0; i <8; i ++) {LastLed ++; FirstLed-; led [LastLed] = CRGB:: Qara; led [FirstLed] = CRGB:: Qara; gecikmə (250); FastLED.show (); Serial.print ("Ledin söndürülməsi"); Serial. çap (i); Serial.println ("of 8"); } FlagState = 2; // bayraq vəziyyətinin dəyişdirilməsi} void Waiting () {buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); if (buttonState1 == HIGH) {Serial.println ("irəli tetiklendi"); FlagState = 0; } else if (buttonState2 == HIGH) {Serial.println ("Rev tetiklendi"); FlagState = 1; } Serial.println ("döngə Gözləmə tamamlandı"); }
Tövsiyə:
ESP8266 ESP-01 LED Tel Keçid: 6 addım
ESP8266 ESP-01 LED Tel Keçid: Bu layihə, sevgilimlə birlikdə otaqda çox gözəl bir LED bayramı telləri qurduqdan sonra yarandı. Hər dəfə yatanda otağın ətrafında qaçmalı və telləri bağlamalı idik. Ötən gün dönmək məcburiyyətində qaldıq
Christopher Serafin tərəfindən yaradıcı keçid layihəsi: 4 addım
Christopher Serafin tərəfindən yaradıcı keçid layihəsi: salamlar! Bu yaradıcı keçid layihəsi üçün çiyin çantasına LED işıqlar əlavə etməyə çalışmağa qərar verdim, bu halda Nintendo 3DS çantasına. Daimi çiyin çantaları bir az darıxdırıcı ola bilər, amma bəzi LED işıqları ilə əlbəttə ki, hər hansı bir çantanı işıqlandıra bilər
LP-2010 AES17 1998 Kommutasiya Gücləndiricisi Aşağı keçid (aşağı keçid) Filtri: 4 addım
LP-2010 AES17 1998 Kommutasiya Gücləndiricisi Aşağı Keçid (aşağı keçid) Filtri: Bu, aşağı ötürmə filtrinin böyük bir D sinfi gücləndiricisidir. İncə işçilik, superiro performans, asan əlaqə bu məhsulun istifadəsini asanlaşdırır və sahibinə sahib olmağa dəyər. yüksək xərc performansı
Geyilə bilən, Lilypad, Akselerometr, İşıqları olan İnteraktiv 3D Çaplı Kumaş: 13 addım
Geyilə bilən, Lilypad, Akselerometr, İşıqları olan İnteraktiv 3D Kumaş
DIY Milad İşıqları Musiqiyə Quruldu - Xoreoqrafik Ev İşıqları: 15 Addım (Şəkillərlə)
DIY Milad İşıqları Musiqiyə Quruldu - Xoreoqrafiya Edilmiş Ev İşıqları: Musiqiyə Qurulan DIY Milad İşıqları - Xoreoqrafiya Edilmiş Ev İşıqları Bu yeni başlayan DIY deyil. Elektronika, dövrə, BASIC proqramlaşdırma və elektrik təhlükəsizliyi haqqında ümumi müdrikliklərə dair möhkəm bir anlayışa ehtiyacınız olacaq. Bu DIY təcrübəli bir adam üçündür, buna görə də