İçindekiler:

Mikro İkili Saat: 10 Adım (Resimlerle)
Mikro İkili Saat: 10 Adım (Resimlerle)

Video: Mikro İkili Saat: 10 Adım (Resimlerle)

Video: Mikro İkili Saat: 10 Adım (Resimlerle)
Video: OKULAR BAŞLADIĞI İÇİN SINIFLARA GÖRE KALEMLER 2024, Temmuz
Anonim
Mikro İkili Saat
Mikro İkili Saat
Mikro İkili Saat
Mikro İkili Saat

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ının Tanımlanması
Görüntüleme Alanının Tanımlanması
Görüntüleme Alanının Tanımlanması
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 (Gerçek Zamanlı Saat)
RTC (Gerçek Zamanlı Saat)
RTC (Gerçek Zamanlı Saat)
RTC (Gerçek Zamanlı Saat)
RTC (Gerçek Zamanlı Saat)
RTC (Gerçek Zamanlı Saat)
RTC (Gerçek Zamanlı Saat)
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

Saati Kodlamak
Saati Kodlamak
Saati Kodlamak
Saati Kodlamak
Saati Kodlamak
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

Operasyon
Operasyon
Operasyon
Operasyon
Operasyon
Operasyon

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

kutula
kutula
kutula
kutula

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ı

Blok Kod Tasarımı
Blok Kod Tasarımı
Blok Kod Tasarımı
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ı

3D Baskı
3D Baskı
3D Baskı
3D Baskı
3D Baskı
3D Baskı
3D Baskı
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

dolgu
dolgu
dolgu
dolgu
dolgu
dolgu

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

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

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 Kodu Yarışması
Blok Kodu Yarışması
Blok Kodu Yarışması
Blok Kodu Yarışması

Blok Kod Yarışmasında İkincilik

Önerilen: