Obsah:
Video: Mikrobinární hodiny: 10 kroků (s obrázky)
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Projekty Tinkercad »
Po předchozím vytvoření instrukovatelného (binárního DVM), který využívá omezenou oblast zobrazení pomocí binárního.
Byl to jen malý krok předtím, než byl vytvořen hlavní modul kódu pro převod z desetinné na binární k vytvoření binárních hodin, ale jediné, co chybělo, byl RTC (hodiny v reálném čase).
Microbit však nemá sestavení v RTC.
RTC umožňuje realizaci hodinových projektů se záložní baterií.
Následující projekt jako takový používá Microbit a Kitronik RTC k vytvoření 24hodinových hodin s binárním displejem a navíc má možnost alarmu.
Projektový software, který bude běžet na Microbitu, bude vytvořen v Makecode Blocks.
Zásoby:
MicroBit V1 nebo V2
Ochranné pouzdro MicroBit (volitelně)
Makecode
Kitronik RTC
CR2032
Codeblocks
Cura
3D tiskárna
1 * přepínač SPDT (zapnuto - zapnuto)
1 * přepínač SPDT (zapnuto - vypnuto - zapnuto)
2 * SPST (normálně otevřený), chvilkový spínač
4 * M3 (10+6 mm), distanční sloupky M/F s maticemi M3
4 * M3 (8 mm), šrouby
Propojovací kabel M/F konektor, 100 mm, 28AWG předem vyrobený se zástrčkou a zásuvkou.
1 * Piezo bzučák (bez pohonu)
Tyto zásoby jsou k dispozici v řadě prodejen a můžete mít svého vlastního preferovaného dodavatele.
Krok 1: Definování oblasti zobrazení
I když je oblast zobrazení omezena v množství dat, která lze zobrazit současně, ideálně se hodí k zobrazení bitových dat.
Jako takový je dostatečná oblast pro zobrazení 4 x 4 bitových binárních slov, která představují čas s režimy upozornění a výběru.
Displej je rozdělen na 3 hlavní oblasti; Čas, výběr a režimy.
Čas
Šestnáct diod LED je přiřazeno času, každý sloupec 4 diod LED je přiřazen časovému intervalu, přičemž intervaly jsou ve tvaru H, H, M & M.
Každý bit binárního slova má váhu 1, 2, 4 a 8 s LSB na řádku 4 a MSB na řádku 1
Každé binární 4bitové slovo umožňuje počítat od 0 do 15, což je více než dostačující pro časový formát 24H, což vyžaduje maximální počet na sloupec 2, 9, 5 a 9.
Výběr
Jedna řada 4 LED v řádku 0 slouží k identifikaci časového sloupce zvoleného při zadávání času.
Režimy
Jeden sloupec s 5 LED ve sloupci 4 slouží k identifikaci režimů, funkcí a provozu.
Zaškrtněte - LED 4, 0 blikající zapnutí a vypnutí se používá k indikaci sekund a provozu.
Čas - LED 4, 1 indikuje časový režim, když je zapnutý. (Výchozí režim při zapnutí)
Alarm - LED 4, 2 indikuje zapnutý režim alarmu.
Oznámení alarmu - LED 4, 3 a LED 4, 4 blikají při spuštění alarmu.
Krok 2: RTC (hodiny v reálném čase)
RTC je bijícím srdcem aplikace, které umožňuje nastavení a udržování přesného času.
Další podrobnosti o RTC najdete na Kitronik.
RTC poskytuje regulované napájení, které vylučuje potřebu napájet Microbit vlastním konektorem USB nebo JST a je zajištěno zálohování baterie pro uchování času v případě výpadku napájení.
Před použitím RTC budete muset načíst balíček rozšíření.
Pomocí Makecode z ikony Nastavení vyberte Rozšíření a do vyhledávání zadejte Kitronik RTC.
Vyberte balíček, který chcete nainstalovat, a bude přidán do ostatních rozšíření.
Existuje řada bloků kódu, ze kterých lze číst a zapisovat do RTC.
Pro binární hodiny budeme vyžadovat pouze 4 z těchto bloků kódu.
Ty budou použity k zápisu nastaveného času do RTC a ke zpětnému načtení času pro aktualizaci zobrazení hodin.
Krok 3: Kódování hodin
První část kódu je programová inicializace proměnných, polí a informačního textu.
Init
Bclk - binární hodiny
<Sel - Tlačítko vybírá sloupec, který bude upraven pro nastavení času.
Tlačítko Inc - B zvyšuje čas.
Stisknutím obou tlačítek A a B současně změníte režim mezi časem a alarmem.
Strval - je hodnota řetězce obsahující čas ve tvaru „HH: MM: SS“vrácená z RTC
K zobrazení nebo nastavení času se používají pouze HH & MM.
Mode - zachová hodnotu režimu pro Time = 1 a Alarm = 2 zvolenou kombinací tlačítek A+B.
Period - je hodnota pro časový sloupec vybraný tlačítkem A.
0 = sloupec 0 (H), 1 = sloupec 1 (H), 2 = sloupec 2 (M), 3 = sloupec 3 (M)
Tick_en - Povolí = 1 nebo Zakáže = 0 zaškrtnutí (sekundy), indikátor.
Inc - přechodné uložení hodnoty nastavení přírůstkového času.
Tm_list - ukládá hodnotu každého časového sloupce během nastavování.
Alarm - aktivuje nebo deaktivuje indikátor alarmu.
Funkce navždy volá funkci klíště.
Klíště
Funkce zaškrtnutí, která je normálně povolena, zobrazuje v pravém horním rohu střídavou kontrolku LED pro indikaci provozu a sekund.
Navíc volá funkci showtm, která čte RTC a zpracovává ji tak, aby byla zobrazena binárně, a současně volá alarm_mode, pokud je tato možnost povolena, zobrazí v pravém dolním rohu LED diody upozornění na poplach.
Showtm
Funkce showtm, volání rdtime a hodnota použitá z toho je strval obsahující časový řetězec.
Vytvoří se smyčka, která se zvýší pomocí strval extrahováním každého jednotlivého čísla a ignorováním oddělovače „:“
Každé jedno číslo je poté převedeno na svůj binární ekvivalent s funkcí dec2bin a přiřazeno do správného sloupce.
Rdtime
Funkce rdtime, přečte prvních 5 znaků v řetězci vráceném z RTC (ignoruje část sekund) a předá ji strval.
Pokud byl nastaven alarm (režim = 2), pak jsou nastavené hodnoty alarmu porovnány s hodnotami vrácenými RTC, pokud existuje shoda, pak alarm = 1, pokud neexistuje žádný alarm shody = 0.
Režim Alarm_mode, pokud je aktivován, zobrazuje dvě střídavé LED diody zapnutí/vypnutí v pravém dolním rohu sloupce 4.
Dec2bin
Funkce dec2bin převede desetinné číslo na binární a zobrazí ho ve správném sloupci.
Číslo, které má být převedeno, je předáno prostřednictvím hodnoty a sloupec zobrazení je předán pomocí sloupce.
List2 je pole, do kterého je uloženo 4bitové binární slovo z procesu binární konverze.
Je spuštěna smyčka, která pokračuje v dělení hodnoty 2, zbytek je uložen v prvku pole, celočíselná hodnota je dělena 2, toto se opakuje, dokud není celočíselná hodnota <= 1 a tato poslední hodnota je umístěna do pole.
Největší jednociferná desetinná hodnota je 9 a v binárním formátu je to 1001 jako 4bitové slovo.
Pole pak musí být zpracováno v opačném pořadí pro správný výsledek.
Poté se inicializuje smyčka pro zapnutí správné LED v příslušném sloupci, což se provede pro každý výskyt jedné ve 4bitovém binárním slovu.
Lidské rozhraní se provádí pomocí tlačítek.
Tlačítko A
Tím se vybere sloupec, do kterého se bude zadávat časová hodnota, a na zvoleném sloupci v řádku 4 se zobrazí osvětlená LED dioda.
Jakmile byly aktualizovány všechny časové sloupce, přírůstek výběru do 5. sloupce aktualizuje časovou proměnnou.
Pokud je režim = 1, aktualizuje se RTC, jinak se aktualizuje čas alarmu.
Tlačítko B
Toto je tlačítko přírůstku a zvýší vybraný časový sloupec.
Aby se snížily chyby a ušetřil čas při přechodu na správnou hodnotu, je maximální hodnota, kterou lze zadat do sloupce, omezena na základě časové hodnoty pro 24hodinový časový systém.
Tyto maximální hodnoty jsou uloženy v tm_max , jedna za časový sloupec a jsou automaticky vybrány na základě časového sloupce.
Maximální hodnoty jsou H = 2, H = 9, M = 5, M = 9
Hodnota přírůstku se převede na binární v dec2bin a zobrazení se aktualizuje.
Tlačítko A+B Volba režimu
Stisknutím obou tlačítek současně lze vybrat mezi režimem Čas nebo režimem Alarm a příslušný režim se zobrazí na displeji.
V závislosti na zvoleném režimu se na displeji aktualizuje čas nebo nastavený čas alarmu.
Krok 4: Provoz
Stáhněte soubor Hex do Microbit, vložte baterii CR2032 do RTC.
Zapojte Microbit do RTC a napájejte desku RTC přes USB nebo šroubové svorky.
LED dioda Tick začne blikat a krátce poté se zobrazí čas.
Pokud se jedná o první použití, je velmi pravděpodobné, že bude zobrazený čas špatný a bude nutné jej nastavit na správný čas.
Volba režimu
Společné stisknutí tlačítek výběru (A) a přírůstku (B) umožní cyklování možností režimu mezi časem a alarmem.
Nastavení času
Nastavení času je v režimu 24H.
Pomocí tlačítka pro výběr (A) přesuňte kontrolku LED přes horní řádek, což označuje sloupec, ve kterém lze změnit čas. Sloupce výběru odpovídají H, H, M & M.
Kde H = hodiny a M = minuty.
Po výběru sloupce stiskněte tlačítko Přírůstek (b), opakovaným zvýšením počtu o jedno při každém stisknutí. Počty jsou uvedeny binárně, koneckonců jde o binární hodiny.
Tlačítko přírůstku pouze zvyšuje počet a jakmile je dosaženo maxima, vynuluje se, další stisknutí počet opět zvýší.
Jakmile je nastaven čas prvního sloupce, stiskněte tlačítko Výběr pro další sloupec a poté pomocí tlačítka Přírůstek nastavte čas sloupce.
Poznámka: *** Když nastavíte čas nebo alarm, budete muset zadat čas do vybraného sloupce, i když čas ve sloupci zůstane nezměněn, protože přeskočení sloupce nastaví čas sloupce na nulu ****
Opakujte postup, dokud není nastaven čas pomocí všech 4 sloupců.
Stiskněte popáté tlačítko Výběr, abyste jej přesunuli do pátého sloupce, a čas je nastaven.
Nastavení alarmu
Nastavení času alarmu se provádí přesně stejným způsobem jako pro čas.
Aby se alarm spustil v požadovaný čas, ponechte režim nastavený na Alarm.
Chcete -li alarm vypnout, nastavte režim na čas.
Chcete -li zobrazit nastavený čas alarmu, přepněte režim mezi časem a alarmem a na krátkou dobu se zobrazí čas alarmu, než se vrátíte k zobrazení aktuálního času.
Čas alarmu není uložen v RTC, takže pokud je odpojeno napájení, bude vyžadovat reset.
Krok 5: Zabalte to
Projekt bude sedět v příslušném úhlu pro zobrazení hodin, ale krabice dodává pocit trvalosti.
Můžete si koupit krabici vhodné velikosti a vyříznout a vyvrtat příslušná místa, aby se Microbit vešel do zásuvky.
Nicméně; navíc jsem chtěl duplikovat tlačítka Microbit spolu s dalšími ovládacími prvky a indikátory.
K identifikaci tlačítek bude obvykle nutné do pole použít legendy.
Ty by mohly být aplikovány ručně; malované, ryté nebo nanášení štítků.
Metoda k realizaci všech těchto možností by byla 3D tisk krabice, ale nejprve bychom museli vytvořit soubor CAD, pomocí kterého vytvoříme soubor tiskárny.
Možnosti vytváření souborů jsou ručně kresleny nebo kresleny pomocí kódu.
Rozhodl jsem se pro „nakreslené kódem“pomocí Tinkercad CodeBlocks
Soubory pro víko boxu a box základny najdete na Tinkercad CodeBlocks
Krok 6: Návrh blokového kódu
Krabice je dvoudílná, skládající se ze základny a víka.
Čtyři rohové otvory pro šrouby budou použity k zajištění víka výřezem na levé straně, aby byl umožněn vstup pro konektor USB.
Víko bude mít výřez pro konektor Microbit a požadované přepínače, navíc jakýkoli text bude vytištěn přímo na víko a otvory pro šrouby budou zarovnány se základními sloupky.
Deska RTC bude připevněna ke spodní straně víka pomocí 4 sloupků a 4 šroubů.
Velikost krabice a víka je 70 x 105 x 31 mm
Kód víka a základny je k dispozici v TinkerCad CodeBlocks.
Krok 7: 3D tisk
Načtěte soubory do Cura a použijte preferované nastavení sliceru.
Použité nastavení.
Kvalita: 0,15 mm
Výplň: 80%, Tri-Hexagon
Základna: Brim
Uložte soubory a poté je vytiskněte.
S Cura můžete načíst oba soubory společně na stejnou oblast tisku a tisknout najednou.
Krok 8: Vyplňte
Víko krabice je potištěno zapuštěným textem, který bude vyplněn barevnou 2dílnou epoxidovou pryskyřicí.
Pryskyřice se smíchá v poměru 2 díly pryskyřice k 1 dílu tvrdidla a poté se vmíchá neprůhledný barevný pigment.
Vybraná barva byla žlutá, aby kontrastovala s pozadím. Bílá by byla jiná volba.
Po smíchání se pryskyřice nakape do vybrání pomocí koktejlové tyčinky k přenosu malých kuliček pryskyřice, které se používají k postupnému zaplnění vybrání v písmenech.
Odolávejte dávkování příliš velkého množství pryskyřice najednou, protože pravděpodobně skončíte se vzduchovými bublinami nebo přílišným přetečením na okolní povrch, což znamená, že po vytvrzení budete muset více odstraňovat čištění a broušení.
Vyplňujte tedy pomalu a zajistěte, aby byla zakryta spodní část dopisu, a dokončete jej tak, aby měl mírně vyvýšený povrch.
Jakmile je pryskyřice vytvrzena, bude nutné k vyrovnání povrchu provést mírné broušení, začněte stupněm P240, který bude podle potřeby postupovat k jemnějším stupňům, aby se dosáhlo hladkého povrchu, a nakonec bude dokončen leštěním.
Nevyvíjejte příliš velký tlak a příliš vysokou rychlost, jinak dojde k přehřátí PLA a pryskyřice, která bude na matném povrchu v důsledku zachycování zrna, trocha vody nanesená během procesu broušení bude působit jako mazivo a chladivo.
Krok 9: Sestavení
Microbit se vejde do zásuvky ve dvou směrech, tváří v tvář hlavní části RTC směřující pryč.
Pokud je však čelem k hlavní části RTC, nelze použít propojení, pokud je Microbit obrácen od hlavní části desky, můžeme tato připojení využít.
Sestava začíná připájením kolíkového konektoru SIL kolíku na RTC, což má umožnit připojení pomocí konektorů push fit.
RTC je vybaveno 4 * M3 (10+6 mm), M/F distančními maticemi M3, které jsou připevněny k víku pomocí 4 * M3 (8 mm), šroubů v prefabrikovaných otvorech.
Vypínače jsou osazeny v prefabrikovaných otvorech ve víku.
Požadovaná připojení jsou:
GND, 3V, P1 (sada), P2 (upozornění), P5 (sel) a P11 (včetně)
Poznámka *** Rezistory (1R) ve schématu pro P5 a P11 jsou jednoduše referenčními spojovacími body, protože přímé připojení k těmto pinům na blocích Microbit v blocích Code není v současné době k dispozici. ***
P5 je externí připojení pro tlačítko A, které je připojeno pomocí dočasného přepínače SPST. Jedno připojení na P5 a druhý pin je připojeno na GND, toto tlačítko slouží k výběru sloupců během nastavování času.
P11 je externí připojení pro tlačítko B, které je připojeno pomocí dočasného přepínače SPST. Jedno připojení na P11 a druhý pin je připojeno na GND, jeho tlačítko slouží k přírůstku čísla během nastavování času.
P1 je přepínač SPDT (on-on), který slouží k povolení nebo zakázání možností nastavení. Středový kolík jde do P1, zatímco jeden pin je připojen k GND a druhý na 3 V přes 10k odpor. To umožňuje použít na tento kolík H (3V) a L (0V). Když je P1 připojen k 3V, umožní to možnosti nastavení času a když 0V deaktivuje nastavení času. Tím se ovládá, zda mají tlačítka A & B nějaký účinek.
P2 je přepínač SPDT (on-off-on), který se používá k povolení nebo zakázání výstražného sirénu a volitelných externích světel.
Výstražný bzučák je piezoelektrický bzučák (jednoduše opatřený oboustrannou lepicí podložkou), který vyžaduje pulzní pohon, který zajišťuje Microbit.
Krok 10: Konečně
Sestavili jste prvky v krabici, naprogramovali jste Microbit a zasunuli ji do zásuvky na krabici.
Dále použijte napájení a nastavte čas.
Užívat si.
Druhý v soutěži o blokový kód