İçindekiler:
- Adım 1: Görüntüleme Alanının Tanımlanması
- 2. Adım: RTC (Gerçek Zamanlı Saat)
- Adım 3: Saati Kodlamak
- Adım 4: Çalıştırma
- Adım 5: Kutulayın
- Adım 6: Blok Kod Tasarımı
- 7. Adım: 3D Baskı
- Adım 8: Doldurun
- Adım 9: Montaj
- Adım 10: Sonunda
Video: Mikro İkili Saat: 10 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Tinkercad Projeleri »
Daha önce ikili kullanarak sınırlı görüntüleme alanından yararlanan bir Eğitilebilir (İkili DVM) oluşturmuş olmak.
Daha önce Decimal to Binary dönüşümünün Binary Clock oluşturmaya yönelik ana kod modülünü oluşturmak yalnızca küçük bir adımdı, ancak eksik olan tek şey bir RTC (Gerçek Zamanlı Saat) idi.
Ancak, Microbit'in RTC'de bir yapısı yoktur.
RTC, pil yedeği ile saat projelerinin gerçekleştirilmesini sağlar.
Bu nedenle, aşağıdaki proje, İkili ekranlı 24 saatlik bir saat oluşturmak için bir Microbit ve bir Kitronik RTC kullanır ve ayrıca bir alarm seçeneğine sahiptir.
Microbit üzerinde çalışacak proje yazılımı Makecode Blocks içerisinde oluşturulacaktır.
Gereçler:
MicroBit V1 veya V2
MicroBit koruyucu kılıf (isteğe bağlı)
Makecode
Kitronik RTC
CR2032
kod blokları
Cura
3 boyutlu yazıcı
1 * SPDT (açık - açık) anahtarı
1 * SPDT (açma - kapama - açma) anahtarı
2 * SPST (normalde açık), anlık geçiş
4 * M3 (10+6mm), M3 somunlu M/F zıtlıkları
4 * M3 (8mm), vidalar
Atlama kablosu M/F konektörü, 100mm, 28AWG, fiş ve priz ile önceden yapılmıştır.
1 * Piezo Buzzer (Sürücü yok)
Bu sarf malzemeleri çeşitli satış noktalarından temin edilebilir ve kendi tercih ettiğiniz tedarikçiniz olabilir.
Adım 1: Görüntüleme Alanının Tanımlanması
Görüntüleme alanı, herhangi bir zamanda gösterilebilecek veri miktarıyla sınırlı olmasına rağmen, ideal olarak bit verilerinin görüntülenmesine uygundur.
Bu nedenle, bildirimler ve seçim modları ile zamanı temsil etmek için 4 x 4 bit ikili sözcükleri görüntülemek için yeterli alan vardır.
Ekran 3 ana alana bölünmüştür; Zaman, Seçim ve Modlar.
Zaman
On altı LED, Zaman'a atanır, 4 LED'in her sütunu bir zaman aralığına atanır, aralıklar H, H, M ve M şeklindedir.
İkili kelimenin her biti, LSB 4. satırda ve MSB 1. satırda olmak üzere 1, 2, 4 ve 8'lik bir ağırlığa sahiptir.
Her İkili 4 bit sözcük, 0 ila 15 arasında bir sayıya izin verir; bu, 24 saatlik zaman biçimi için fazlasıyla yeterli olup, sütun başına 2, 9, 5 ve 9'luk bir maksimum sayım gerektirir.
seçim
0 satırında bir sıra 4 LED, zaman girerken seçilen zaman sütununu tanımlamak için kullanılır.
Modlar
4. sütundaki 5 LED'in bir sütunu Modları, Fonksiyonları ve Çalışmayı tanımlamak için kullanılır.
Tick - LED 4, 0 yanıp sönme açık ve kapalı, Saniye ve çalışmayı belirtmek için kullanılır.
Zaman - LED 4, 1 açık olduğunda Zaman modunu gösterir. (Açıldığında varsayılan mod)
Alarm - LED 4, 2 açıkken Alarm modunu gösterir.
Alarm Bildirimi - Alarm tetiklendiğinde LED 4, 3 ve LED 4, 4 yanıp söner.
2. Adım: RTC (Gerçek Zamanlı Saat)
RTC, uygulamanın atan kalbidir ve doğru zamanın ayarlanmasını ve korunmasını sağlar.
RTC ile ilgili daha fazla ayrıntı Kitronik'te bulunabilir.
RTC, Microbit'e kendi USB veya JST konektörü ile güç verme ihtiyacını ortadan kaldıran düzenlenmiş bir besleme sağlar ve güç kaybı durumunda süreyi korumak için pil yedeklemesi sağlanır.
RTC'yi kullanmadan önce Uzantı paketini yüklemeniz gerekecektir.
Ayarlar simgesinden Makecode'u kullanarak Uzantılar'ı seçin ve aramaya Kitronik RTC yazın.
Yüklemek için paketi seçin ve diğer uzantılara eklenecektir.
RTC'den okumak ve RTC'ye yazmak için bir dizi kod bloğu vardır.
Binary Clock için bu kod bloklarından sadece 4 tanesine ihtiyacımız olacak.
Bunlar, ayarlanan zamanı RTC'ye yazmak ve saat ekranını güncellemek için zamanı geri okumak için kullanılacaktır.
Adım 3: Saati Kodlamak
Kodun ilk kısmı, değişkenlerin, dizilerin ve bilgilendirici metnin program başlatmasıdır.
İçinde
Bclk – İkili Saat
<Sel - Bir düğme, zaman ayarı için ayarlanacak sütunu seçer.
Inc – B düğmesi süreyi artırır.
Her iki A ve B düğmesine birlikte basmak, modu Zaman ve Alarm arasında değiştirir.
Strval – RTC'den döndürülen "SS:DD:SS" biçimindeki zamanı içeren dize değeridir.
Saati görüntülemek veya ayarlamak için yalnızca SS ve MM kullanılır.
Mod – A+B düğme kombinasyonu ile seçilen Zaman = 1 ve Alarm = 2 için mod değerini korur.
Dönem – A düğmesi ile seçilen zaman sütununun değeridir.
0 = sütun 0 (H), 1 = sütun 1 (H), 2 = sütun 2 (M), 3 = sütun 3 (M)
Tick_en – Etkinleştirir = 1 veya Devre Dışı Bırakır = 0 onay (saniye), gösterge.
Inc – Artımlı zaman ayarı değerinin ara depolanması.
Tm_list – ayar sırasında her zaman sütununun değerini saklar.
Alarm – Alarm göstergesini Etkinleştirir veya Devre Dışı Bırakır.
Sonsuza dek sürekli olarak kene işlevini çağırır.
kene
Normalde etkin olan tik işlevi, işlemi ve saniyeleri belirtmek için sağ üst köşede değişen bir açma/kapama LED'i görüntüler.
Ek olarak, RTC'yi okuyan ve bunun ikili olarak görüntülenmesini işleyen showtm işlevini çağırır, ayrıca alarm_mode'u çağırır, eğer bu etkinleştirilirse sağ alt köşede alarm bildirim LED'lerini görüntüler.
Gösterim
showtm işlevi, rdtime'ı çağırır ve bundan kullanılan değer, zaman dizesini içeren strval'dir.
Her bir sayıyı çıkaran ve “:” ayırıcısını yok sayan strval yoluyla artan bir döngü oluşturulur.
Her bir sayı daha sonra dec2bin işleviyle ikili eşdeğerine dönüştürülür ve doğru sütuna atanır.
Rdtime
rdtime işlevi, RTC'den döndürülen dizedeki ilk 5 karakteri okur (saniye bölümünü yok sayar) ve onu strval'e iletir.
Alarm ayarlanmışsa (Mod = 2), alarm ayar değerleri RTC tarafından döndürülen değerlerle karşılaştırılır, eşleşme varsa alarm = 1, eşleşme alarmı yoksa = 0.
Alarm_mode etkinleştirildiğinde, sütun 4'ün sağ alt köşesinde iki açık/kapalı alternatif LED görüntüler.
Ara2bin
dec2bin işlevi, ondalık bir sayıyı ikili sayıya dönüştürür ve doğru sütunda görüntüler.
Dönüştürülecek sayı değer aracılığıyla iletilir ve görüntüleme sütunu sütun aracılığıyla iletilir.
List2, ikili dönüştürme işleminden gelen 4 bitlik ikili sözcüğün depolandığı dizidir.
Değeri 2'ye bölmeye devam eden bir döngü başlatılır, kalan dizi öğesinde saklanır, tamsayı değeri 2'ye bölünür, bu tamsayı değeri <=1 olana kadar tekrarlanır ve bu son değer diziye yerleştirilir.
En büyük tek basamaklı ondalık değer 9'dur ve ikili sistemde bu, 4 bitlik bir kelime olarak 1001'dir.
Dizinin daha sonra doğru sonuç için ters sırada işlenmesi gerekir.
Daha sonra uygun sütunda doğru LED'i açmak için bir döngü başlatılır, bu, 4 bitlik ikili kelimede birin her oluşumu için gerçekleştirilir.
İnsan arayüzü butonlarla gerçekleştirilir.
A düğmesi
Bu, zaman değerinin girileceği sütunu seçer ve 4. satırda seçilen sütun üzerinde yanan bir LED görüntüler.
Tüm zaman sütunları güncellendikten sonra, seçimi 5. sütuna artırmak zaman değişkenini günceller.
Eğer mod = 1 ise RTC güncellenir, aksi halde Alarm zamanı güncellenir.
B düğmesi
Bu, artırma düğmesidir ve seçilen zaman sütununu artırır.
Hataları azaltmak ve doğru değere ulaşmada zaman kazanmak için sütun başına girilebilecek maksimum değer, 24 saatlik bir zaman sistemi için zaman değerine göre sınırlandırılmıştır.
Bu maksimum değerler, her zaman sütununda bir tane olmak üzere tm_max içinde saklanır ve zaman sütununa göre otomatik olarak seçilir.
Maksimum değerler H = 2, H = 9, M = 5, M = 9'dur.
Artış değeri dec2bin'de ikiliye dönüştürülür ve ekran güncellenir.
Düğme A+B Modu seçimi
Her iki düğmeye birlikte basılması, Zaman modu veya Alarm modu arasında seçim yapılmasını sağlar, uygun mod ekranda görüntülenir.
Hangi modun seçildiğine bağlı olarak ekran, Saat veya Alarm ayar saatini gösterecek şekilde güncellenir.
Adım 4: Çalıştırma
Hex dosyasını Microbit'e indirin, RTC'ye bir CR2032 pil takın.
Microbit'i RTC'ye takın ve RTC kartına USB veya vidalı terminaller aracılığıyla güç verin.
Tick LED'i yanıp sönmeye başlayacak ve bundan kısa bir süre sonra saat görüntülenecektir.
Bu ilk kullanım ise, görüntülenen saatin yanlış olması çok muhtemeldir ve doğru zamana ayarlanması gerekecektir.
Mod seçimi
Seçim (A) ve Artırma (B) düğmelerine birlikte basmak, Mod seçeneklerinin Zaman ve Alarm arasında geçiş yapmasını sağlar.
Zamanı Ayarlama
Zaman ayarı 24H modundadır.
LED'i üst sıra boyunca hareket ettirmek için Seçim düğmesini (A) kullanın, bu, zamanın değiştirilebileceği sütunu gösterir. Seçim sütunları H, H, M ve M'ye karşılık gelir.
Burada H = Saat ve M = Dakika.
Bir sütun seçtikten sonra, her basışta sayımı birer birer artırmak için Arttırma düğmesine (b) art arda basın. Sayılar ikili olarak gösterilir, sonuçta bir İkili Saat.
Arttırma düğmesi yalnızca sayımı artırır ve maksimum değere ulaşıldığında sıfırlanır, daha fazla basış sayıyı tekrar artırır.
İlk sütun zamanı ayarlandıktan sonra, bir sonraki sütun için Seçim düğmesine basın ve ardından sütun süresini ayarlamak için Artırma düğmesini kullanın.
Not: *** Saati veya Alarmı ayarladığınızda, sütundaki saat değişmeden kalsa bile seçili sütuna bir zaman girmeniz gerekecektir, çünkü bir sütunu atlamak o sütun süresini sıfıra ayarlar ****
4 sütunun tümü kullanılarak zaman ayarlanana kadar işlemi tekrarlayın.
Beşinci sütuna taşımak için Seçim düğmesine beşinci kez basın ve saat ayarlanır.
Alarmı Ayarlama
Alarm zamanının ayarlanması, Zaman ile tamamen aynı şekilde yapılır.
Alarmın istenilen zamanda tetiklenebilmesi için Mod ayarını Alarm olarak bırakın.
Alarmı kapatmak için Modu Zamana ayarlayın.
Alarm zaman ayarını görüntülemek için, Modu Zaman ve Alarm arasında değiştirin ve mevcut saati görüntülemeye geri dönmeden önce Alarm zamanı kısa bir süre için görüntülenecektir.
Alarm zamanı RTC'de saklanmaz, bu nedenle güç kesilirse, sıfırlanması gerekir.
Adım 5: Kutulayın
Proje saati görmek için uygun açıda oturacak, ancak bir kutu kalıcılık hissi katıyor.
Uygun boyutta bir kutu satın alabilir ve Microbit'in sokete oturmasını sağlamak için uygun alanları kesip delebilirsiniz.
Yine de; ayrıca Microbit düğmelerini diğer kontroller ve göstergelerle birlikte çoğaltmak istedim.
Tipik olarak, düğmeleri tanımlamak için kutuya açıklamaların uygulanması gerekir.
Bunlar elle uygulanabilir; boyalı, kazınmış veya yapıştırılmış etiketler.
Tüm bu seçenekleri gerçekleştirmenin bir yolu, kutuyu 3D yazdırmak olabilir, ancak önce yazıcı dosyasını oluşturacağımız bir CAD dosyası oluşturmamız gerekir.
Dosya oluşturma seçenekleri elle veya kodla çizilmiştir.
Tinkercad CodeBlocks kullanarak "kodla çizmeyi" seçtim
Kutu Kapağı ve Kutu Tabanı dosyaları Tinkercad CodeBlocks'ta bulunabilir.
Adım 6: Blok Kod Tasarımı
Kutu, bir taban ve bir kapaktan oluşan iki parçalı bir tasarımdır.
USB fişinin girişine izin vermek için sol tarafta bir oyuk ile kapağı sabitlemek için dört köşe vida deliği kullanılacaktır.
Kapak, Microbit konektörü ve gerekli anahtarlar için bir oyuğa sahip olacak, ayrıca herhangi bir metin doğrudan kapağın üzerine basılacak ve vida delikleri taban direkleriyle aynı hizada olacak.
RTC kartı, 4 sütun ve 4 vida ile kapağın alt tarafına bağlanacaktır.
Kutu artı kapak boyutu 70 x 105 x 31 mm'dir.
Kapak ve Taban için kod TinkerCad CodeBlocks'ta mevcuttur.
7. Adım: 3D Baskı
Dosyaları Cura'ya yükleyin ve tercih ettiğiniz dilimleyici ayarlarınızı uygulayın.
Uygulanan ayarlar
Kalite: 0.15mm
Dolgu: %80, Üçlü Altıgen
Baz: ağız
Dosyalarınızı kaydedin ve yazdırın.
Cura ile her iki dosyayı birlikte aynı yazdırma alanına yükleyebilir ve tek seferde yazdırabilirsiniz.
Adım 8: Doldurun
Kutu kapağı, renkli 2 kısım epoksi reçine ile doldurulacak gömme metin ile basılmıştır.
Reçine, 2 kısım reçineye 1 kısım sertleştirici oranında karıştırılır, ardından opak bir renk pigmenti karıştırılır.
Seçilen renk, arka planla kontrast oluşturmak için Sarı idi. Beyaz başka bir seçim olurdu.
Karıştırıldıktan sonra reçine, harflerdeki girintiyi kademeli olarak doldurmak için kullanılan küçük reçine damlacıklarını aktarmak için bir kokteyl çubuğu kullanılarak girintiye damlatılır.
Tek seferde çok fazla reçine koymaktan kaçının, çünkü muhtemelen hava kabarcıkları ile karşılaşacaksınız ve/veya çevredeki yüzeye çok fazla taşma yaratacaksınız, bu da kürlendikten sonra temizleme ve zımparalama için daha fazlasına sahip olacağınız anlamına gelir.
Bu nedenle, mektubun alt kısmının kaplandığından emin olarak yavaşça doldurun ve hafifçe yükseltilmiş bir yüzeyle bitirin.
Reçine kürlendikten sonra, yüzeyi düzleştirmek için biraz hafif zımparalama gerekecektir, pürüzsüz bir yüzey elde etmek için gerektiği gibi daha ince derecelere ilerleyen P240 derecesi ile başlayın ve son olarak bir cila ile bitirin.
Çok fazla basınç ve çok fazla hız uygulamayın, aksi takdirde PLA'yı ve reçineyi aşırı ısıtarak kum toplaması nedeniyle mat bir yüzeye neden olursunuz, zımparalama işlemi sırasında uygulanan biraz su bir yağlayıcı ve soğutucu görevi görür.
Adım 9: Montaj
Microbit, RTC'nin uzağa bakan ana kısmına bakacak şekilde iki yönde sokete sığacaktır.
RTC'nin ana kısmına bakıyorsa link bağlantıları kullanılamaz, ancak Microbit kartın ana kısmına bakıyorsa bu bağlantıları kullanabiliriz.
Montaj, dik açılı bir SIL pin başlığını RTC'ye lehimleyerek başlar, bu, bağlantıların push fit konnektörlerle yapılmasını sağlamak içindir.
RTC, 4 * M3 (10+6mm), kapağa 4 * M3 (8mm) ile sabitlenen M3 somunlu M/F ayırıcılar, prefabrik deliklerdeki vidalarla takılır.
Anahtarlar, kapaktaki önceden hazırlanmış deliklere yerleştirilmiştir.
Gerekli bağlantılar şunlardır:
GND, 3V, P1 (set), P2 (uyarı), P5 (sel) & P11 (inc)
Not *** Dirençler (1R), P5 ve P11 için şemada sadece referans bağlantı noktalarıdır, çünkü Microbit in Code bloklarındaki bu pinlere doğrudan bağlantı şu anda mevcut değildir. ***
P5, bir SPST anlık anahtarı ile bağlanan Düğme A için harici bağlantıdır. Bir bağlantı P5'e ve diğer pin GND'ye bağlıdır bu buton zaman ayarı sırasında kolon seçimi içindir.
P11, bir SPST anlık anahtarı ile bağlanan B Düğmesi için harici bağlantıdır. Bir bağlantı P11'e ve diğer pin GND'ye bağlıdır, butonu zaman ayarı sırasında sayı artışı içindir.
P1, ayar seçeneklerini etkinleştirmek veya devre dışı bırakmak için kullanılan bir SPDT (on-on) anahtarıdır. Merkez pimi P1'e giderken, bir pim GND'ye, diğeri ise 10k direnç üzerinden 3V'a bağlanır. Bu, bu pime bir H (3V) ve L (0V) uygulanmasını sağlar. P1 3V'a bağlandığında bu, zaman ayar seçeneklerini etkinleştirir ve 0V zaman ayarını devre dışı bıraktığında. Böylece A & B düğmelerinin herhangi bir etkisinin olup olmadığı kontrol edilir.
P2, uyarı sirenini ve isteğe bağlı harici ışıkları etkinleştirmek veya devre dışı bırakmak için kullanılan bir SPDT (açma-kapama-açma) anahtarıdır.
Uyarı siren, Microbit tarafından sağlanan bir darbe tahriki gerektiren bir Piezo Buzzer'dır (sadece çift taraflı yapışkan bir ped ile yapıştırılmıştır).
Adım 10: Sonunda
Kutudaki elemanları bir araya getirdiniz, Microbit'i programladınız ve kutunun üzerindeki sokete yerleştirdiniz.
Ardından gücü uygulayın ve zamanı ayarlayın.
Eğlence.
Blok Kod Yarışmasında İkincilik
Önerilen:
BigBit İkili Saat Göstergesi: 9 Adım (Resimlerle)
BigBit İkili Saat Ekranı: Bir önceki Instructable'da (Microbit Binary Clock), ekran oldukça küçük olduğu için proje taşınabilir bir masaüstü cihazı olarak idealdi. Bu nedenle, bir sonraki versiyonun bir şömine veya duvara monte versiyon olması, ancak çok daha büyük olması uygun görünüyordu.
DIY Arduino İkili Çalar Saat: 14 Adım (Resimlerle)
DIY Arduino İkili Çalar Saat: Yine klasik ikili saat! Ama bu sefer daha fazla ek işlevle! Bu talimatta, Arduino ile size sadece zamanı değil, tarihi, ayı, hatta zamanlayıcı ve alarm eğlencesiyle bile gösterebilen ikili bir çalar saatin nasıl oluşturulacağını göstereceğim
Ses Görselleştirme, İkili Saat ve FM Alıcılı Masa Amplifikatörü: 8 Adım (Resimlerle)
Ses Görselleştirmeli, İkili Saatli ve FM Alıcılı Masa Amplifikatörü: Amplifikatörleri severim ve bugün son zamanlarda yaptığım düşük güçlü masa amplifikatörümü paylaşacağım. Tasarladığım amplifikatörün bazı ilginç özellikleri var. Entegre bir ikili saate sahiptir ve saat ve tarih verebilir ve genellikle ses olarak adlandırılan sesi görselleştirebilir
Arduino İkili Saat - 3D Baskılı: 5 Adım (Resimlerle)
Arduino Binary Clock - 3D Printed: Bir süredir ofis masam için Binary saatlere bakıyorum, ancak oldukça pahalılar ve/veya çok fazla özelliklere sahip değiller. Bu yüzden onun yerine bir tane yapmaya karar verdim. Saat yaparken dikkat edilmesi gereken bir nokta, Arduino / Atmega328
Neopiksel Kullanan İkili Saat: 6 Adım (Resimlerle)
Neopiksel Kullanan İkili Saat: Merhaba millet, LED ile ilgili her şeyi seviyorum ve ayrıca onlardan farklı ilginç şekillerde yararlanmayı seviyorum Evet, İkili Saatin burada birkaç kez yapıldığını biliyorum ve her biri nasıl yapılacağına dair mükemmel örnekler kendi saatini yarat. Gerçekten hayranım