Mündəricat:

Sonsuzluq Saatı - Arduino - WS2813 və DS3231: 5 addım (şəkillərlə)
Sonsuzluq Saatı - Arduino - WS2813 və DS3231: 5 addım (şəkillərlə)

Video: Sonsuzluq Saatı - Arduino - WS2813 və DS3231: 5 addım (şəkillərlə)

Video: Sonsuzluq Saatı - Arduino - WS2813 və DS3231: 5 addım (şəkillərlə)
Video: Infinity Mirror LED Clock - An Open sourc #computer #ambient #arduinoboard #arduino #time 2024, Dekabr
Anonim
Image
Image
Sonsuzluq Saatı - Arduino - WS2813 və DS3231
Sonsuzluq Saatı - Arduino - WS2813 və DS3231

Sonsuzluq Saatı - Arduino - WS2813 və DS3231

Bir saat qurmaq istədim və Arduino ilə sonsuz bir saat hazırlamaqda əlimi sınamaq fikrini bəyəndim. İstədim ki, bunu ümumi elementlərdən düzəldim və proqramı özüm yazım.

Sonsuzluq Saatı nədir?

3D illüziya güzgü effekti, bir işıq şüasını qeyri -müəyyən (nəzəri olaraq sonsuz) dəfə dəfələrlə sıçraya bilən iki paralel yansıtıcı səth olduqda meydana gəlir. İşıq əslində məsafəni keçdiyi üçün əkslər uzaqlaşır. Infinity güzgüsünə rəngli LED -lər əlavə edərək, saat əqrəbləri kimi geri çəkilən rəngli işığı istifadə edərək analog saatı simulyasiya etməyə çalışırıq.

Bu təlimatda, Sonsuzluq Saatı yaratmaq üçün addımlar atacağam və sonra proqramdakı bəzi tənzimlənən parametrləri nəzərdən keçirəcəyəm.

Addım 1: Bu layihə üçün lazım olan hissələr

Bu layihə üçün lazım olan hissələr
Bu layihə üçün lazım olan hissələr

Parça siyahısı:

  1. Taydaelektronikada Arduino Uno 6 dollar
  2. Arduino uno üçün protoshield. Amazon -da 2.50 üçün birini buradan əldə edə bilərsiniz.
  3. DS3231 plus batareya. Amazon -da təxminən 3.00 üçün birini əldə edə bilərsiniz.
  4. 1 metr üçün WS2813 LED 144. Burada Amazonda 20 dollar.
  5. Taydaelectronics -də 470 OHM 1 W Karbon film müqaviməti.
  6. 1000uf 16V elektrolitik kondansatör Taydaelektronikada 9 qəpik
  7. 5v enerji təchizatı- Köhnə bir böyürtkən şarj cihazı istifadə etdim.
  8. 6 dairəvi güzgü. Amazonda təxminən 5 dollar
  9. Amazonda 10 ətrafında 6in Akril Disk
  10. Amazonda 2 - 6 "taxta tikmə halqaları (bəli doğru) hər biri 2 dollardır
  11. Gümüş bir tərəfli güzgü filmi. Ebay ən ucuzdur.
  12. Müxtəlif tellər.
  13. 3/8 "taxta kvadrat dübel HomeDepot 1.27 dollara
  14. köhnə taxta saat bazası və ya digər nümayiş stendi.
  15. 2 kiçik fermuar.

Prototip qalxanı tələb olunmur, ancaq Arduino -dan istifadə etmək istəsəniz, bu layihələrin hazırlanmasında çox lazımlı olduğunu görəcəksiniz. Gerekirse, prototip qalxanını çörək taxtası ilə dəyişdirin.

Bir lehimləmə dəmirinə də ehtiyacınız ola bilər.

Layihənin təxminən 40,00 dollara başa gələcəyini gözləyirdim

Addım 2: PC qurun

PC qurun
PC qurun
PC qurun
PC qurun
PC qurun
PC qurun

Bu ilk arduino layihənizdirsə:

  1. Arduino proqramını arduino.cc saytından yükləyin
  2. USB kabel ilə Arduino'yu PC -yə qoşun.
  3. Proqramı işə saldıqdan sonra üç kitabxana qurmalısınız:

    • "Eskiz" menyusuna, sonra "Kitabxanaları Daxil et" ə və sonra "Kitabxanaları İdarə et …" ə basın.
    • İki kitabxananı quraşdırın: FastLED və RTClib. Daha ətraflı məlumat üçün şəkillərə baxın.
  4. Github -dan Arduino eskizini alın

    • Kodun sonunda nəzərdən keçirəcəyəm, buna görə də lazım olduqda onu dəyişdirə bilərsiniz.
    • Bu nöqtədə proqramı yükləyin Infinity_Clock_DS3231_WS2813.ino
  5. Arduino yükləmək üçün Sketch və Yüklə bölməsinə keçin.
  6. Təlimatın son bölməsi konfiqurasiya edilə bilən bəzi parametrləri əhatə edir.

Eskizi indi yükləmək ən yaxşısıdır, çünki xarici güc əlavə edildikdən sonra onu PC -yə bağlamamaq daha yaxşıdır.

Addım 3: Layihənin kabel çəkilməsi

Layihənin naqilləri
Layihənin naqilləri
Layihənin naqilləri
Layihənin naqilləri

ProtoType Shield istifadə edirsinizsə, Arduino üzərinə qoyun.

Kablolama, layihənin ən mürəkkəb hissəsidir. Nə etdiyimi görməyinizə kömək etmək üçün şəkillər əlavə etdim. Yandırmadan əvvəl bütün əlaqələri iki dəfə yoxlamağı məsləhət görürəm.

DS3231 - Real vaxt saatı modulu

DS3231 modulunu çörək taxtasına qoyun və şəkildəki kimi bağlayın.

  • Arduino Ground - GND
  • Arduino 5V - VCC
  • Arduino A4 -dən SDA -ya
  • Arduino A5 -dən SCL -ə

Şəkildə 5v və Ground -u çörək taxtasında öz işinizlə əlaqələndirirəm, çünki sonradan xarici güc bağlamaq istəyəcəyik.

WS2813 LED şeridini bağlayın

  • arduino 5V -dən 5V gücünə qədər.
  • Orta iki bağlayıcı artıq məlumat pinləridir. pin 7 -ə gedirlər

    Pin7 və iki məlumat ucu arasında 470 OHM rezistor qoyduğunuzdan əmin olun

  • Arduino Ground son bağlayıcıya qədər.

Xarici 5V enerji təchizatı bağlayın (LED şeridini arduino gücündən uzun müddət işlətmək məsləhət görülmür).

  • Kabellərin arasına 1000uf elektrolitik kondansatör qoyun.
  • Güc və zəmini Arduino Power (5V) və Ground (GND) ilə birləşdirin

Xarici gücü və USB -ni Arduino -ya eyni vaxtda bağlamağı məsləhət görmürəm.

Addım 4: Sonsuzluq Güzgüsünü yaradın

Sonsuzluq Güzgüsünü yaradın
Sonsuzluq Güzgüsünü yaradın

Sonsuzluq Güzgü qurmaq üçün addımlar:

  1. Filmi akril laklara tətbiq edin. Bu, bir tərəfli aynanız olacaq.
  2. Akrilik diski Nakış halqasına qoyun. Sürüşməməsi üçün vidayı sıxın
  3. Güzgünü digər Nakış halqasına qoyun. Vidayı aşağı salın.
  4. Kvadrat dübeli kiçik hissələrə kəsin. təxminən 1/2"
  5. LED şeridini dairənin içərisinə işarə edərək döndərin.

    1. Ledi yerində saxlamaq üçün fermuar bağlarından istifadə edin.
    2. Fermuar bağlamaq üçün bir çentik kəsmək lazım ola bilər.
  6. Döngəni güzgüyə qoyun

    1. Aralıq kimi taxta bloklardan istifadə edin
    2. Blokları yerə yapışdırın. Ledləri yerində saxlayacaq qədər etibarlı olmalıdırlar.
  7. Akrilik güzgünü güzgü/LED -lərin üstünə qoyun və yapışdırın.

Addım 5: Kod

Kod
Kod
Kod
Kod

Proqram Real Time Clock kitabxanasından və Fastled kitabxanasından istifadə edir.

Davranışı fərdiləşdirmək üçün bəzi kod parçaları.

  • OFSET - üst -üstə düşmədir. Proqram, üst -üstə düşmənin LED0 -dən olmasını gözləyir. 3 LED ofsetim var.
  • CLOCKSTART - günorta saatının olduğu yerdir. LED 30, elektrik əlaqələrinə zidd olaraq qoyur.

HTML rənglərindən istifadə etmək üçün proqramı yazdım. Onları https://htmlcolorcodes.com/ saytından əldə edə bilərsiniz, sadəcə proqramdakı # nömrəsini 0x ilə əvəz edin.

Səhər/axşam fonunu dəyişə bilərsiniz

  • backgroundAM = 0x070707;
  • backgroundPM = 0x646D7E;

Saat LED -ləri:

  • hourHand = 0x000FFF;
  • minHand = 0x00CC00;
  • secHand = 0xcc0000;

Vurğulamaq üçün saat əli üçün 3 LED -ə malik olmaq üçün bir seçim əlavə etdim, ancaq fərqləndirmək üçün ortanın hər iki tərəfindəki rəngi dəyişməyə icazə verdim.

  • theeledhour = doğru; // doğru və ya yanlış edə bilərsiniz
  • extraHourHand = 0x00001F;

Başqa bir gözəl xüsusiyyət, RTClib, DS3231 -in batareyanın çıxarıldığını aşkarlayacaq və kompüterin tərtib edilmə vaxtını təyin edəcək. Yeni DS3231 üçün yaxşı bir xüsusiyyətdir.

Sənədin əvvəlində eskiz almamısınızsa, GitHub -da tapa bilərsiniz

Bu Təlimatı oxuduğunuz üçün təşəkkürlər. Oğlum kömək etdi və bizim üçün əyləncəli bir layihə oldu. Ümid edirəm ki, optik yarışmasında nəzərə alınacağıq.

Tövsiyə: