İçindekiler:

Arduino Matris Saati: 6 Adım
Arduino Matris Saati: 6 Adım

Video: Arduino Matris Saati: 6 Adım

Video: Arduino Matris Saati: 6 Adım
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Temmuz
Anonim
Arduino Matris Saati
Arduino Matris Saati

Açıklama:

Arduino, matris ekran ve Gerçek Zamanlı Saat (RTC) modülü kullanarak saatinizi oluşturun. Bu, yeni başlayanlar için harika olduğunu düşündüğüm eğlenceli ve basit bir proje. Saat, zamanı, günü, ayı ve yılı doğru bir şekilde izlemek için RTC modülünü kullanır. Ek olarak, modülde yerleşik bir sıcaklık sensörü bulunur. Burada DS3231 modülü ve bunun için kullanılan I2C iletişim veriyolu hakkında daha fazla bilgi edinebilirsiniz. Son olarak, saati, haftanın gününü, ayı vb. görüntülemek için bir Dot Matrix Display kullanacağız. Aşağıdaki veri sayfasında ekran ve MAX7219 IC sürücüsü hakkında daha fazla bilgi edinebilirsiniz.

Bu projenin pdf versiyonunu da buradan indirebilirsiniz. Bu talimatla hemen hemen aynı.

[GÜNCELLEME: 2/22/19] Pdf kılavuzunu kullanmayın, bu talimatı güncelledim ancak bu değişiklikler henüz pdf'ye yansıtılmadı.

Adım 1: Bileşenleri Toplayın

Bu proje için ihtiyacınız olacak bileşenler:

  • Max7219 Nokta Vuruşlu Ekran [Buradan satın alın] [Veri sayfası]
  • RTC DS3231 [Buradan satın alın] [Veri sayfası]
  • 3V CR3032 pil (DS3231 için)

Ek olarak, herhangi bir türden bir Arduino'ya (projenin boyutunu en aza indirmek için tercihen bir Nano), bir devre tahtasına, atlama kablolarına ve ayrıca PC'nizde kurulu Arduino IDE'ye ihtiyacınız olacak.

2. Adım: Kitaplıklar

Kütüphaneler
Kütüphaneler

Aşağıdaki kütüphaneleri indirin ve Sketch > Include Library > Add. Zip library'e giderek.zip dosyasını Arduino IDE'ye kurun.

NOT: VERSİYONLAR ÖNEMLİ!!

* İndirmeden önce doğru sürümlere sahip olduğunuzu doğrulayın. Güvenli tarafta olmak için Arduino IDE içindeki her kütüphaneyi indirmenizi tavsiye ederim.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternatif olarak, Arduino IDE'de Sketch > Include Library > Manage Libraries'e gidin ve arama çubuğuna “MAX72XX” yazın ve aşağıdakini görmelisiniz (Resme bakın):

Yalnızca MD_MAX72XX ve MD_Parola'yı kurun. MD_MAXPanel gerekli DEĞİLDİR.

Adım 3: Bileşenlerinizi Test Etme

Kitaplıkları kurduktan sonra, gerektiği gibi çalıştıklarından emin olmak için bileşenlerinizi ayrı ayrı test edin. Lütfen her şeyi birbirine bağlamadan önce bu adımları izleyin

DS3231 RTC Modülünü test etmek için DS3231'i Arduino'ya bağlayın (aşağıdaki Kablolama bölümüne bakın). Ardından Arduino IDE'de Dosyalar > Örnekler > DS3231 > DS3231_Test'e gidin ve çizimi yükleyin. Seri Monitörü açın ve doğru tarih, saat, gün vb. bilgileri alıp almadığınızı kontrol edin.

Matris ekranını test etmek için önce onu Arduino'ya bağlayın (aşağıdaki Kablolama bölümüne bakın). Ardından, Arduino IDE'de Dosyalar > Örnekler > MD_Parola > Parola_HelloWorld'e gidin ve çizimi yükleyin. Ekranda HELLO'nun yazılı olduğunu görmelisiniz ve ters yazdırılmış olabilir veya olmayabilir. Metin geriye doğruysa, aşağıdaki satırı değiştirmelisiniz:

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW

NS

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW

Krokiyi tekrar yükleyin ve sorun çözülmeli.

Bileşenlerimizi test ettiğimize göre artık her şeyi birbirine bağlamaya hazırız!

Adım 4: Kablolama

kablolama
kablolama
kablolama
kablolama
kablolama
kablolama

Şemaya veya şemaya veya tabloya bakın

Adım 5: KOD

Kodu buradan alın

Not: Orijinal olarak Electronic Projects tarafından sağlanan bir kod kullandım, ancak mevcut (tamamlanma anında) kitaplıkları desteklemek için değiştirdim.

Saat Özellikleri:

Saat otomatik olarak 24 saat formatında zamanı gösterecek şekilde ayarlanır, ancak kolayca 12 saat olarak değiştirilebilir. Saat ayrıca sıcaklığı da gösterecektir (hem Celsius hem de Fahrenheit cinsinden). "KAPALI" olarak ayarlanmış "Uyku Modu" adlı bir özelliği de ekledim (Ayrıntılar için aşağıdaki Uyku Moduna bakın).

12saat Formatı: Saati 12saat formatında zamanı gösterecek şekilde ayarlamak için, 88. satıra yorum yazmanız gerekir.

saat =Saat.gethour(h12, PM); //24 saat Formatı

Ve 93'ten 100'e kadar olan yorum satırları

if (Clock.getHour(h12, PM)>=13 || Clock.getHour(h12, PM)==0)

{ h = Clock.getHour(12, PM) - 12; } else { h = Clock.getHour(h12, PM); }

Uyku modu:

Bu, özellikle uyuduğumuz saatlerde saatin parlaklığını azaltmaya yardımcı olan bir özelliktir. Gecenin bir yarısı ve bu saate kör olarak uyanmak isteyeceğini sanmıyorum. En düşük ayarda bile çok parlak. Uyku modunu etkinleştirmek için 177 ila 184 arasındaki satırları kaldırın

if(h == 12 || h<8) //Zaman aralıkları (bu durumda, 12AM - 8AM arası) { P.setIntensity(0); //Ekran parlaklığını en düşük ayara ayarlayın } else { P.setIntensity(6); //Ekran parlaklığını 6'ya ayarla (15 en parlaktır) }

Not: Saat 12 saat moduna ayarlıyken uyku modunu kullanırken bir sorunla karşılaştım. Her ikisi de 8 olarak yorumlandığından, sabah 8 ve akşam 8 olarak yorumlandığından günde iki kez çalışacağını fark edeceksiniz. Yani, Uyku Modu'nu akşam 9'dan akşam 7'ye kadar aktif olarak ayarlarsanız, aynı zamanda sabah 9'dan akşam 7'ye kadar aktif olacaktır. ANCAK, saat 24 saat moduna ayarlanmışsa bu sorun oluşmaz.

6. Adım: Sonuç

Tebrikler!!! Çalışan bir saatiniz var. Benimki böyle çıktı [Saat Galerisi]. Umarım sadece bileşenler ve kodlama hakkında biraz daha fazla şey öğrenmemişsinizdir, aynı zamanda oraya giden yolculuktan keyif almışsınızdır. Lütfen bu kılavuz hakkındaki düşüncelerinizi [email protected] adresinden benimle paylaşın. Bu aslında benim ilk proje rehberim ve işinize yarayacağını umuyordum. Daha birçok rehber oluşturmayı umuyorum. Ayrıca, projeyle ilgili herhangi bir sorunuz, öneriniz ve/veya iyileştirmeniz varsa, bana mesaj atmaktan çekinmeyin.

Önerilen: