Mündəricat:

İnteraktiv həyət işıqları, keçid işıqları: 3 addım
İnteraktiv həyət işıqları, keçid işıqları: 3 addım

Video: İnteraktiv həyət işıqları, keçid işıqları: 3 addım

Video: İnteraktiv həyət işıqları, keçid işıqları: 3 addım
Video: Heydər Əliyev və Həyat yoldaşını Birdə belə görün #azerbaijan #president #prezident #xeberler #xeber 2024, Noyabr
Anonim
İnteraktiv həyət işıqları, keçid işıqları
İnteraktiv həyət işıqları, keçid işıqları
İnteraktiv həyət işıqları, gediş yolları işıqları
İnteraktiv həyət işıqları, gediş yolları işıqları

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

Solor işıqlarını bağlayın
Solor işıqlarını bağlayın
Solor işıqlarını bağlayın
Solor işıqlarını bağlayın
Solor işıqlarını bağlayın
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ı

Daha Yaxşı İşıqların Quraşdırılması
Daha Yaxşı İşıqların Quraşdırılması
Daha Yaxşı İşıqların Quraşdırılması
Daha Yaxşı İşıqların Quraşdırılması
Daha Yaxşı İşıqların Quraşdırılması
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ə: