İçindekiler:

Infinity Clock - Arduino - WS2813 ve DS3231: 5 Adım (Resimlerle)
Infinity Clock - Arduino - WS2813 ve DS3231: 5 Adım (Resimlerle)

Video: Infinity Clock - Arduino - WS2813 ve DS3231: 5 Adım (Resimlerle)

Video: Infinity Clock - Arduino - WS2813 ve DS3231: 5 Adım (Resimlerle)
Video: Making the best Arduino Clock for beginners 2024, Kasım
Anonim
Image
Image
Sonsuz Saat - Arduino - WS2813 ve DS3231
Sonsuz Saat - Arduino - WS2813 ve DS3231

Sonsuz Saat - Arduino - WS2813 ve DS3231

Bir saat yapmak istedim ve bir Arduino ile sonsuzluk saati yapmak için elimi deneme fikrini sevdim. Onu ortak öğelerden oluşturmasını ve programı kendim yazmasını istedim.

Sonsuz Saat nedir?

3D illüzyon ayna efekti, bir ışık huzmesini belirsiz (teorik olarak sonsuz) kez ileri geri yansıtabilen iki paralel yansıtıcı yüzey olduğunda üretilir. Işık aslında mesafeyi kat ettiği için yansımalar uzaklaşıyor gibi görünüyor. Infinity aynasına renkli LED'ler ekleyerek, uzaklaşan renkli ışığı saat ibreleri olarak kullanarak bir analog saati simüle etmeye çalışıyoruz.

Bu talimatta, Infinity Clock oluşturma adımlarında size yol göstereceğim ve ardından programdaki bazı ayarlanabilir parametreleri gözden geçireceğim.

Adım 1: Bu Proje İçin Gerekli Parçalar

Bu Proje İçin Gerekli Parçalar
Bu Proje İçin Gerekli Parçalar

Parça listesi:

  1. Arduino Uno taydaelectronics'te 6 $
  2. arduino uno için protoshield. Amazon'da 2.50'ye buradan bir tane alabilirsiniz.
  3. DS3231 artı pil. Amazon'da yaklaşık 3.00'e buradan bir tane alabilirsiniz.
  4. 1 metre için WS2813 LED 144. Amazon'da 20 dolar burada.
  5. 470 OHM 1 W Karbon film direnci Taydaelectronics'te yaklaşık 1 cent.
  6. Taydaelectronics'te 1000uf 16V Elektrolitik kondansatör 9 sent
  7. 5v güç kaynağı- Eski bir böğürtlen şarj cihazı kullandım.
  8. 6 inç yuvarlak ayna. Amazon'da yaklaşık 5 dolar
  9. Amazon'da yaklaşık 10 inç Akrilik Disk
  10. 2 - 6 "ahşap nakış kasnakları (evet doğru) amazon'da her biri 2 dolar
  11. Gümüş tek yönlü ayna filmi. Ebay ucuz görünüyor.
  12. Çeşitli teller.
  13. 1,27 $ için 3/8" ahşap kare dübel HomeDepot
  14. eski ahşap saat tabanı veya diğer ekran standı.
  15. 2 küçük fermuar.

Prototip kalkan gerekli değildir, ancak Arduino'yu kullanmayı seviyorsanız, bu projeleri oluştururken çok kullanışlı bulacaksınız. Gerekirse prototip kalkanını bir devre tahtası ile değiştirin.

Ayrıca bir havyaya da ihtiyacınız olabilir.

Projenin yaklaşık 40,00 dolara mal olmasını beklerdim

Adım 2: Bilgisayarınızı Kurun

Bilgisayarınızı Kurun
Bilgisayarınızı Kurun
Bilgisayarınızı Kurun
Bilgisayarınızı Kurun
Bilgisayarınızı Kurun
Bilgisayarınızı Kurun

Bu ilk arduino projenizse:

  1. arduino yazılımını arduino.cc'den indirin
  2. Arduino'yu usb kablosu ile PC'ye bağlayın.
  3. Yazılımı başlattıktan sonra üç kitaplık kurmanız gerekecek:

    • "Çizim" menüsüne tıklayın, ardından "Kütüphaneleri Dahil Et"e ve ardından "Kütüphaneleri Yönet…"e tıklayın.
    • İki kitaplığı kurun: FastLED ve RTClib. Daha fazla ayrıntı için resimlere bakın.
  4. Github'ımdan Arduino çizimini al

    • Sonunda kodu gözden geçireceğim, böylece gerektiği gibi değiştirebilirsiniz.
    • Bu noktada Infinity_Clock_DS3231_WS2813.ino programını yükleyin
  5. Arduino'yu yüklemek için Sketch ve Upload'a gidin.
  6. Instructable'ın bu son bölümü, bazı yapılandırılabilir parametreleri kapsar.

Krokiyi şimdi yüklemek en iyisidir, çünkü harici güç eklendikten sonra PC'nize bağlamamak en iyisidir.

Adım 3: Projeyi Kablolama

Proje Kablolama
Proje Kablolama
Proje Kablolama
Proje Kablolama

ProtoType Shield kullanıyorsanız, Arduino'ya koyun.

Kablolama, projenin en karmaşık kısmıdır. Ne yaptığımı görmenize yardımcı olmak için resimler ekledim. Açmadan önce tüm bağlantıları iki kez kontrol etmenizi öneririm.

DS3231 - Gerçek Zamanlı Saat Modülü

DS3231 modülünü devre tahtasına koyun ve resimdeki gibi bağlayın.

  • Arduino Ground'dan GND'ye
  • Arduino 5V'den VCC'ye
  • Arduino A4'ten SDA'ya
  • Arduino A5'ten SCL'ye

Resimde 5v ve Topraklamayı breadboard üzerinde kendi çalıştırmalarına bağladım çünkü daha sonra harici güç eklemek isteyeceğiz.

WS2813 LED Şeridi'ni takın

  • 5V gücünüze arduino 5V.
  • Ortadaki iki konektör yedekli veri pinleridir. pin 7'ye gidiyorlar

    Pin7 ile iki veri kablosu arasına 470 OHM direnç koyduğunuzdan emin olun

  • Arduino Son konektöre topraklayın.

Harici 5V güç kaynağını takın (LED şeridinin arduino gücünden uzun süre çalıştırılması önerilmez).

  • Kabloların arasına 1000uf elektrolitik kondansatör koyun.
  • Gücü ve toprağı Arduino Gücüne (5V) ve Toprağa (GND) bağlayın

Harici gücü ve USB'yi aynı anda Arduino'ya bağlamanızı önermiyorum.

Adım 4: Sonsuzluk Aynasını Oluşturun

Sonsuzluk Aynasını Oluşturun
Sonsuzluk Aynasını Oluşturun

Infinity Mirror'ı oluşturma adımları:

  1. Filmi Akrilik disklere uygulayın. Bu sizin tek yönlü aynanızı yapacaktır.
  2. Akrilik diski Nakış kasnağına yerleştirin. Kaymasını önlemek için vidayı sıkın
  3. Aynayı diğer Nakış kasnağına koyun. Vidayı sıkın.
  4. Kare dübelleri küçük parçalar halinde kesin. yaklaşık 1/2"
  5. LED şeridi, LED'ler dairenin içine bakacak şekilde döndürün.

    1. Led'i yerinde tutmak için fermuarları kullanın.
    2. Fermuarda bir çentik kesmeniz gerekebilir.
  6. Döngüyü aynaya koy

    1. Tahta blokları ara parça olarak kullanın
    2. Blokları yerine yapıştırın. Led'i yerinde tutacak kadar güvenli olmalıdırlar.
  7. Akrilik aynayı aynanın/LED'lerin üzerine koyun ve yerine yapıştırın.

Adım 5: Kod

kod
kod
kod
kod

Program, Gerçek Zamanlı Saat kitaplığını ve Fastled kitaplığını kullanır.

İşte davranışı özelleştirmek için bazı kod parçacıkları.

  • OFFSET - örtüşmedir. Program, örtüşmenin LED0'dan olmasını bekler. 3 LED ofsetim var.
  • CLOCKSTART - saatin öğlen olduğu yerdir. LED 30, elektrik bağlantılarının karşısına koyar.

Programı HTML renklerini kullanacak şekilde yazdım. Bunları https://htmlcolorcodes.com/ adresinden alabilirsiniz. Programda # ile 0x'i değiştirmeniz yeterlidir.

am/pm için arka planı değiştirebilirsiniz

  • arkaplanAM = 0x070707;
  • arkaplanPM = 0x646D7E;

Saatin LED Elleri:

  • saatEl =0x000FFF;
  • minEl = 0x00CC00;
  • secHand = 0xcc0000;

Öne çıkması için akrep için 3 LED'e sahip olma seçeneği ekledim, ancak öne çıkması için ortadaki her iki taraftaki rengi değiştirmenize izin verdim.

  • theeledhour=true; // doğru veya yanlış yapabilirsiniz
  • extraHourHand = 0x00001F;

Bir başka güzel özellik de, RTClib'in DS3231'inizin pilinin çıkarıldığını algılayacak ve zamanı PC derleme süresine ayarlayacaktır. Yeni DS3231 için iyi bir özellik.

Belgenin başında taslağı almadıysanız, GitHub'da bulunabilir.

Bu Talimatı okuduğunuz için teşekkür ederiz. Oğlum yardımcı oldu ve bizim için eğlenceli bir proje oldu. Umarım optik yarışmasında değerlendiriliriz.

Önerilen: