Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Duży zegar 7-segmentowy na diodach programowalnych WS2811

kmmepl 06 Gru 2015 14:27 13980 14
  • Duży zegar 7-segmentowy na diodach programowalnych WS2811 Dzisiejszy artykuł opisuje budowę zegara wykonanego na diodach RGB. Projekt wyróżnia się tym, że posiada:

    • duże wymiary cyfr (każda jest wielkości kartki A4)
    • niewielką grubość, co umożliwia zamontowanie go w ramie na obraz
    • zdolność do automatycznego przyciemniania w zależności od światła panującego w pokoju

    Użyte elementy

    Do zbudowania opisywanego urządzenia wykorzystano następujące części:

    Elektronika:

    1. Klon Arduino nano V3.0 (2.9$).
    2. Cyfrowy moduł z fotorezystorem (0.99$).
    3. Zegar czasu rzeczywistego DS3231 AT24C32 (0.99$).
    4. Przetwornica DC-DC Step Down oparta na LM2596 (0.90$).
    5. 4-metrowe paski diod WS2811 30 LED/m (12$).

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Dodatkowe rzeczy:

    1. Rurki termokurczliwe – 33m (7.99$)
    2. 20 Płytek prototypowych 5 x 7 cm (3$)
    3. 3 Mikroprzełączniki (1$)
    4. Cyna (1$)
    5. Topnik (1$)
    6. Kabel UTP
    7. Tektura
    8. Płytka polistyrenowa (1.50$)

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Przygotowanie szablonów

    Do zrobienia szablonów posłużono się stroną z gotowymi wzorami cyfr. Następnie dostosowano je do własnych potrzeb, a na końcu wydrukowano i wycięto.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Wycinanie tektury i pasków ledowych

    Przy użyciu wcześniej wydrukowanych szablonów, przycięto tekturę na wymiar. Potem odlutowano konektory z pasków ledowych i pocięto je na zestawy składające się z 3 diod.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Montaż pasków ledowych

    W celu zamontowania diod, odrysowano ich kontury i upewniono się, że wszystkie będą ułożone w równych odstępach. Zabieg ten bardzo pomógł w polepszeniu ostatecznego wyglądu.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Lutowanie diod

    W celu zachowania przejrzystości w kablach, zachowano następujące kolory:

    • Niebieski dla masy
    • Zielony do danych
    • Pomarańczowy dla 12V

    Do oddzielenia godzin i minut użyto jednego paska ledowego i zaklejono środkową diodę.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811

    Połączenie modułów i test

    Wszystkie elementy podłączono jak wskazuje poniższa tabela, niestety schematu nie ma, gdyż autor nie posiada umiejętności rysowania schematów. Po wgraniu testowego kodu (zamieszczonego na końcu tego artykułu) do Arduino i załadowaniu biblioteki o nazwie FASTLED, diody powinny świecić jednym z kolorów, a następnie cyklicznie zmieniać barwę świecenia.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811

    Programowanie zegara

    Autor samodzielnie napisał program obsługujący wszystkie moduły. Na pochwałę zasługuje fakt, iż zamieszczono w nim wiele komentarzy, co ułatwia zrozumienie kodu. Do zmiany koloru świecenia diod wystarczy zmiana jednej wartości zmiennej w 22 linijce.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Formy polistyrenowe

    Do wykonania form można użyć skalpela, jednak tutaj użyto wycinarki do styropianu. Jest możliwe kupno takiej wycinarki, choć zrobienie jej nie jest bardzo skomplikowane. Autor do wycinania użył zasilacza 12V i struny gitarowej.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Poniżej znajduje się wideoporadnik, jak wykonać taką wycinarkę.

    Spoiler:


    Końcowe klejenie cyfr i dodanie filtru

    Po wycięciu styropianowych form, przyklejono je do tektury wraz z paskami diodowymi za pomocą taśmy dwustronnej. Do rozproszenia światła wykorzystano kartkę papieru formatu A2 zgiętą na pół. Na końcu całą konstrukcję umieszczono w ramce na obraz.

    Duży zegar 7-segmentowy na diodach programowalnych WS2811 Duży zegar 7-segmentowy na diodach programowalnych WS2811


    Jak widać na powyższym zdjęciu, wielkość tego zegara dorównuje wymiarom obrazu znajdującego się obok. Czy zatem w waszym odczuciu, konstrukcja ta polepsza walory estetyczne pokoju, czy może całe urządzenie za bardzo rzuca się w oczy?

    źródło: http://www.instructables.com/id/Big-auto-dim-room-clock-using-arduino-and-WS2811/?ALLSTEPS

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    kmmepl
    Poziom 12  
    Offline 
    kmmepl napisał 73 postów o ocenie 305, pomógł 7 razy. Jest z nami od 2013 roku.
  • #3
    sim_
    Poziom 17  
    Witam. Coś lepszego z dokładnym opisem na forum Atnel Link . Pozdrawiam Janek
  • #4
    Freddy
    Poziom 43  
    sim_ napisał:
    Witam. Coś lepszego z dokładnym opisem na forum Atnel Link . Pozdrawiam Janek
    To jest DIY zagranica, dokładniejsze opisy są pod podanym linkiem.
  • #5
    mick
    Poziom 15  
    Gdybym wiedział wcześniej, że są takie ledy!

    Zrobiłem zegar i każda cyfra sterowana jest z PCF8574, wyszło tak, że jest mnóstwo przewodów i ogólnie pajęczyna, na razie działa. Jednak zrobienie zegara na takich taśmach to ułamek roboty, którą ja włożyłem :|

    oloelektro napisał:
    mam pytanie jak ten zegar wygląda w świetle dziennym widoczne to jest ?

    Wszystko zależy co masz na myśli przez światło dzienne, bo w mocnym słońcu to nawet sygnalizacja świetlna na skrzyżowaniu jest słabo widoczna.
    Pewnie w pokoju wieczorem trzeba mocno ściemniać, żeby nie raziło.

    Zegar, który zrobiłem z taśmy led (120 czerownych led na metr) wieczorem wystarczy pwm ustawić na ok 15% i jest wystarczająco jasny.


    Gostek pisze, że kupił 4m taśmy na aliexpress za 12 $, ja widzę , że ceny są jednak trochę wyższe ok. 6$ za metr co najmniej.
  • #6
    Malano
    Poziom 5  
    ten zegar normalnie działa jak zwykły zegar ?"
  • #7
    HD-VIDEO
    Poziom 40  
    Działa jak normalny zegar a ale z uwagi na typ zastosowanych diod są bardzo duża możliwość (po zmodyfikowaniu kodu) różnego prezentowania czasu; zmiany kolorów, każda cyfra inny kolor, płynięcia kolorów, itd.
  • #8
    TKUCZ
    Poziom 10  
    witam
    zmontowałem ten zegar ,załadowałem program do Nano . ok led WS2812B działa ,że jest 22:38 a na "zagarze" 20.H0.
    RTC DS1307.??? Może ktoś ruszyć ten zegar.? na ds1307?
  • #10
    TKUCZ
    Poziom 10  
    Duży zegar 7-segmentowy na diodach programowalnych WS2811
    Jak na załączonym obrazku czas RTC działa poprawnie . Nie mam pojęcia czemu w tym zegarze jest d..pa. OK poprawiłem wyświetlanie cyfr . I od 2 dni męczę by pokazał aktualną godzinę.



    Zmieniłem RTC i wszystko działa ... z PIERWSZEGO
  • #11
    TKUCZ
    Poziom 10  
    zastanawiam się czy ktoś modernizował projekt oryginalny z dodaniem pomiarów przez bluetooh . Dodanie stacji meteo do zegara ?
  • #12
    TKUCZ
    Poziom 10  
    witam
    potrzebuję małej pomocy w dopisaniu paru linijek ;) .
    Do sedna zegar z ds18b20 wyświetla temperaturę , problem w tym że w 1 kolorze. potrzebuję wyświetlić temp. ujemną na niebiesko a temp. dodatnią naa czerwoną .
    Code:
    if (i==1){
    
          Serial.print("Digit 4 is : ");
          Serial.print(digit);
          Serial.print(" ");
       cursor = 44;  // 4 digit begins
          for(int k=0; k<=13;k++){
            Serial.print(digits[11][k]);
            if (digits[11][k]== 1){leds[cursor]=ledColor;}
             else if (digits[11][k]==0){leds[cursor]=0x000000;};
             cursor ++;
            };
          Serial.println();
        }
    //////////////////////////// 3 digit control:
        else if (i==2){
          Serial.print("Digit 3 is : ");
          Serial.print(digit);
          Serial.print(" ");
       cursor =30;  // 3 digit begins
          for(int k=0; k<=13;k++){
            Serial.print(digits[10][k]);
            if (digits[10][k]== 1){leds[cursor]=ledColor;}
            else if (digits[10][k]==0){leds[cursor]=0x000000;};
             cursor ++;
            };
          Serial.println();
          }
     //////////////////////////// 2 digit control: 
        else if (i==3){
          int digit = abs(celsius % 10);  // taking only module (only temperature value without minus sign)
          Serial.print("Digit 2 is : ");
          Serial.print(digit);
          Serial.print(" ");
         
       cursor =14;  // 2 digit begins
         
          for(int k=0; k<=13;k++){
            Serial.print(digits[digit][k]);
            if (digits[digit][k]== 1){leds[cursor]=ledColor;}
             else if (digits[digit][k]==0){leds[cursor]=0x000000;};
             cursor ++;
            };
          Serial.println();
          }
     //////////////////////////// 1 digit control:
        else if (i==4){
          int digit = abs(celsius / 10);  // taking only module (only temperature value without minus sign)
          Serial.print("Digit 1 is : ");
          Serial.print(digit);
          Serial.print(" ");
       cursor =0;  // 1 digit begins
           for(int k=0; k<=13;k++){
          //Serial.print(digits[digit][k]);
           
                  if (digits[digit][k]==1){leds[cursor]=ledColor;}
             else if (digits[digit][k]==0){leds[cursor]=0x000000;};
             cursor ++;
            };
          Serial.println();
          }
  • #13
    robarco
    Poziom 9  
    Było by super z ujemnymi temperaturami.
    Ja starałem sie żeby ktoś wstawił dodatkowo wyświetlanie wilgotności lecz bez powodzenia.

    Pozdrawiam.

    Na marginesie zegar działa OK nawet w słonecznym miejscu.
    Mój ma drukowane obudowy segmentów PLA 180mm wysokości
    i dyfuzor biały plexy glass 1mm
    Do obudowy wykorzystałem ramkę do obrazków z Ikea
    Pozdrowienia...
  • #14
    kamilek2207
    Poziom 9  
    Witam, mam pytanie czy ktoś robił w podobny sposób matrix led ws2811 z arduino ?