Spisu treści:

Mikro zegar binarny: 10 kroków (ze zdjęciami)
Mikro zegar binarny: 10 kroków (ze zdjęciami)

Wideo: Mikro zegar binarny: 10 kroków (ze zdjęciami)

Wideo: Mikro zegar binarny: 10 kroków (ze zdjęciami)
Wideo: Chłopiec chciał odpalić GTA V na maksymalnych ustawieniach (przeróbka) 2024, Listopad
Anonim
Mikro zegar binarny
Mikro zegar binarny
Mikro zegar binarny
Mikro zegar binarny

Projekty Tinkercad »

Po wcześniejszym utworzeniu Instructable (Binary DVM), który wykorzystuje ograniczony obszar wyświetlania za pomocą plików binarnych.

To był tylko mały krok po wcześniejszym stworzeniu głównego modułu kodu do konwersji dziesiętnej na binarną w celu utworzenia zegara binarnego, ale jedyne, czego brakowało, to RTC (zegar czasu rzeczywistego).

Jednak Microbit nie ma wbudowanego zegara czasu rzeczywistego.

RTC umożliwia realizację projektów zegarowych z podtrzymaniem bateryjnym.

W związku z tym poniższy projekt wykorzystuje Microbit i Kitronik RTC do stworzenia zegara 24H z wyświetlaczem binarnym i dodatkowo ma opcję alarmu.

Oprogramowanie projektowe, które będzie działać na Microbit, zostanie stworzone w Makecode Blocks.

Kieszonkowe dzieci:

MicroBit V1 lub V2

Etui ochronne MicroBit (opcjonalnie)

Makecode

Kitronik RTC

CR2032

Bloki kodu

Cura

drukarka 3d

1 * przełącznik SPDT (włączony)

1 * przełącznik SPDT (włącz-wyłącz-włącz)

2 * SPST (normalnie otwarty), przełącznik chwilowy

4 * M3 (10+6mm), dystanse M/F z nakrętkami M3

4 * M3 (8mm), śruby

Złącze M/F przewodu połączeniowego, 100mm, 28AWG z wtyczką i gniazdem.

1 * brzęczyk piezoelektryczny (bez napędu)

Materiały te są dostępne w wielu punktach sprzedaży i możesz mieć swojego preferowanego dostawcę.

Krok 1: Definiowanie obszaru wyświetlania

Definiowanie obszaru wyświetlania
Definiowanie obszaru wyświetlania
Definiowanie obszaru wyświetlania
Definiowanie obszaru wyświetlania

Chociaż obszar wyświetlania jest ograniczony pod względem ilości danych, które można wyświetlić w dowolnym momencie, idealnie nadaje się do wyświetlania danych bitowych.

W związku z tym jest wystarczająco dużo miejsca, aby wyświetlić 4 x 4 bitowe słowa binarne reprezentujące czas z powiadomieniami i trybami wyboru.

Wyświetlacz jest podzielony na 3 główne obszary; Czas, wybór i tryby.

Czas

Szesnaście diod LED przypisanych do czasu, każda kolumna z 4 diodami jest przyporządkowana do przedziału czasowego, przy czym przedziały są w postaci H, H, M i M.

Każdy bit słowa binarnego ma wagę 1, 2, 4 i 8 z LSB w rzędzie 4 i MSB w rzędzie 1

Każde binarne 4-bitowe słowo pozwala na liczbę od 0 do 15, co jest więcej niż wystarczające dla formatu czasu 24H, wymagającego maksymalnej liczby na kolumnę 2, 9, 5 i 9.

Wybór

Jeden rząd 4 diod LED w rzędzie 0 służy do identyfikacji kolumny czasu wybranej podczas wprowadzania czasu.

Tryby

Jedna kolumna z 5 diodami LED w kolumnie 4 służy do identyfikacji trybów, funkcji i działania.

Zaznacz - dioda LED 4, 0 migająca i wyłączona jest używana do wskazania sekund i operacji.

Czas - LED 4, 1 wskazuje tryb czasu, gdy jest włączony. (Tryb domyślny po włączeniu)

Alarm - diody LED 4, 2 wskazują tryb alarmu, gdy są włączone.

Powiadomienie o alarmie - diody LED 4, 3 i LED 4, 4 migają po uruchomieniu alarmu.

Krok 2: RTC (zegar czasu rzeczywistego)

RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)
RTC (zegar czasu rzeczywistego)

RTC to bijące serce aplikacji, umożliwiające ustawienie i utrzymywanie dokładnego czasu.

Dalsze szczegóły RTC można znaleźć w Kitronik.

RTC zapewnia regulowane zasilanie negujące potrzebę zasilania Microbit przez własne złącze USB lub JST, a podtrzymywana jest bateryjnie, aby zachować czas w przypadku utraty zasilania.

Przed użyciem RTC będziesz musiał załadować pakiet rozszerzeń.

Używając Makecode z ikony Ustawienia, wybierz Rozszerzenia i wpisz Kitronik RTC w wyszukiwaniu.

Wybierz pakiet, aby go zainstalować, a zostanie on dodany do innych rozszerzeń.

Istnieje wiele bloków kodu, z których można odczytać i zapisać w RTC.

Będziemy potrzebować tylko 4 z tych bloków kodu dla zegara binarnego.

Zostaną one wykorzystane do zapisania ustawionego czasu w RTC i odczytania czasu wstecz w celu aktualizacji wyświetlacza zegara.

Krok 3: Kodowanie zegara

Kodowanie zegara
Kodowanie zegara
Kodowanie zegara
Kodowanie zegara
Kodowanie zegara
Kodowanie zegara

Pierwsza część kodu to inicjalizacja programu zmiennych, tablic i tekstu informacyjnego.

W tym

Bclk – zegar binarny

<Sel - Przycisk wybiera kolumnę, która zostanie dostosowana do ustawienia czasu.

Przyrost – przycisk B zwiększa czas.

Jednoczesne wciśnięcie obu przycisków A i B zmienia tryb pomiędzy czasem i alarmem.

Strval – to wartość ciągu zawierająca czas w postaci „GG:MM:SS” zwracana z RTC

Do wyświetlania lub ustawiania czasu używane są tylko HH i MM.

Tryb – zachowuje wartość trybu dla Czasu = 1 i Alarmu = 2 wybraną kombinacją przycisków A+B.

Okres – to wartość dla kolumny czasu, wybierana przyciskiem A.

0 = kolumna 0 (H), 1 = kolumna 1 (H), 2 = kolumna 2 (M), 3 = kolumna 3 (M)

Tick_en – Włącza = 1 lub Wyłącza = 0 tik (sekundy), wskaźnik.

Inc – Pośrednie przechowywanie przyrostowej wartości ustawienia czasu.

Tm_list – przechowuje wartość każdej kolumny czasu podczas ustawiania.

Alarm - włącza lub wyłącza wskaźnik alarmu.

Forever nieustannie wywołuje funkcję tick.

Kleszcz

Funkcja zaznaczenia, która jest normalnie włączona, wyświetla naprzemienną diodę LED włączania/wyłączania w prawym górnym rogu, aby wskazać operację i sekundy.

Dodatkowo wywołuje funkcję showtm, która odczytuje zegar czasu rzeczywistego i przetwarza go w celu wyświetlenia w postaci binarnej, a także wywołuje alarm_mode, jeśli jest włączony, wyświetla diody LED powiadomienia o alarmie w prawym dolnym rogu.

Showtm

Funkcja showtm wywołuje rdtime, a użyta z tego wartość to strval zawierająca łańcuch czasu.

Tworzona jest pętla, która zwiększa się przez strval wyodrębniając każdą pojedynczą liczbę i ignorując separator „:”

Każda pojedyncza liczba jest następnie konwertowana na jej binarny odpowiednik za pomocą funkcji dec2bin i przypisywana do właściwej kolumny.

Czas Rd

Funkcja rdtime odczytuje pierwsze 5 znaków w łańcuchu zwróconym z RTC (ignorując część sekund) i przekazuje ją do strval.

Jeśli alarm został ustawiony (tryb = 2), to ustawione wartości alarmów są porównywane z wartościami zwracanymi przez RTC, jeśli jest dopasowanie, to alarm = 1, jeśli brak dopasowania alarmu = 0.

Tryb_alarmu, gdy jest włączony, wyświetla dwie naprzemienne diody LED włączania/wyłączania w prawym dolnym rogu kolumny 4.

Dec2bin

Funkcja dec2bin konwertuje liczbę dziesiętną na binarną i wyświetla ją w odpowiedniej kolumnie.

Konwertowana liczba jest przekazywana przez wartość, a kolumna wyświetlania jest przekazywana przez col.

List2 to tablica, w której przechowywane jest 4-bitowe słowo binarne z procesu konwersji binarnej.

Inicjowana jest pętla, w której następuje dzielenie wartości przez 2 reszta jest przechowywana w elemencie tablicy wartość całkowita jest dzielona przez 2, to jest powtarzane, aż wartość całkowita będzie <=1 i ta ostatnia wartość zostanie umieszczona w tablicy.

Największa jednocyfrowa wartość dziesiętna to 9, a w systemie binarnym jest to 1001 jako słowo 4-bitowe.

Następnie tablica musi zostać przetworzona w odwrotnej kolejności, aby uzyskać poprawny wynik.

Następnie inicjowana jest pętla w celu włączenia właściwej diody LED w odpowiedniej kolumnie, jest to realizowane dla każdego wystąpienia jedynki w 4-bitowym słowie binarnym.

Interfejs człowieka jest realizowany za pomocą przycisków.

Przycisk A

Wybiera kolumnę, do której zostanie wprowadzona wartość czasu i wyświetla podświetloną diodę LED nad wybraną kolumną w rzędzie 4.

Po zaktualizowaniu wszystkich kolumn czasu, zwiększenie wyboru do piątej kolumny aktualizuje zmienną czasu.

Jeśli tryb = 1, RTC jest aktualizowany, w przeciwnym razie aktualizowany jest czas alarmu.

Przycisk B

Jest to przycisk zwiększania i zwiększa wybraną kolumnę czasu.

Aby zredukować błędy i oszczędzić czas potrzebny na uzyskanie prawidłowej wartości, maksymalna wartość, jaką można wprowadzić w kolumnie, jest ograniczona na podstawie wartości czasu dla systemu czasu 24-godzinnego.

Te maksymalne wartości są przechowywane w tm_max, po jednej na kolumnę czasu i są automatycznie wybierane na podstawie kolumny czasu.

Maksymalne wartości to H = 2, H = 9, M = 5, M = 9

Wartość przyrostu jest konwertowana na binarną w dec2bin, a wyświetlacz jest aktualizowany.

Przycisk wyboru trybu A+B

Jednoczesne wciśnięcie obu przycisków umożliwia wybór pomiędzy trybem Czasu a trybem Alarmu, odpowiedni tryb jest wyświetlany na wyświetlaczu.

W zależności od wybranego trybu wyświetlacz jest aktualizowany, aby pokazywać czas lub ustawiony czas alarmu.

Krok 4: Operacja

Operacja
Operacja
Operacja
Operacja
Operacja
Operacja

Pobierz plik Hex do Microbit, włóż baterię CR2032 do RTC.

Podłącz Microbit do RTC i zasilaj płytkę RTC przez USB lub zaciski śrubowe.

Dioda Tick zacznie migać, a po chwili zostanie wyświetlony czas.

Jeśli jest to pierwszy raz, wyświetlany czas najprawdopodobniej jest błędny i należy go ustawić na prawidłową godzinę.

Wybór trybu

Jednoczesne naciśnięcie przycisków wyboru (A) i przyrostu (B) umożliwi przełączanie opcji trybu między czasem i alarmem.

Ustawianie czasu

Ustawienie czasu jest w trybie 24H.

Użyj przycisku wyboru (A), aby przesunąć diodę LED w górnym rzędzie, wskazuje to kolumnę, w której można zmienić czas. Kolumny wyboru odpowiadają H, H, M & M.

Gdzie H = godziny i M = minuty.

Po wybraniu kolumny naciśnij przycisk Increment (b), kilkakrotnie, aby zwiększyć liczbę o jeden za każdym naciśnięciem. Liczby są wskazywane binarnie, w końcu jest to zegar binarny.

Przycisk zwiększania tylko zwiększa liczbę, a po osiągnięciu maksimum resetuje się do zera, kolejne naciśnięcia ponownie zwiększają liczbę.

Po ustawieniu czasu pierwszej kolumny naciśnij przycisk Wybór dla następnej kolumny, a następnie użyj przycisku Przyrost, aby ustawić czas kolumny.

Uwaga: *** Kiedy ustawisz Czas lub Alarm, będziesz musiał wprowadzić czas w wybranej kolumnie, nawet jeśli czas w kolumnie ma pozostać niezmieniony, ponieważ pomijanie kolumny ustawia ten czas kolumny na zero ****

Powtarzaj proces, aż czas zostanie ustawiony we wszystkich 4 kolumnach.

Naciśnij przycisk wyboru po raz piąty, aby przenieść go do piątej kolumny i czas zostanie ustawiony.

Ustawianie alarmu

Ustawianie czasu Alarmu odbywa się dokładnie tak samo jak Czasu.

Aby Alarm został wyzwolony w wymaganym czasie, pozostaw Tryb ustawiony na Alarm.

Aby wyłączyć alarm, ustaw tryb na Czas.

Aby wyświetlić ustawiony czas alarmu, przełącz tryb między godziną a alarmem, a godzina alarmu będzie wyświetlana przez krótki czas, zanim powróci do wyświetlania czasu bieżącego.

Czas alarmu nie jest zapisywany w RTC, dlatego wyłączenie zasilania będzie wymagało zresetowania.

Krok 5: Pudełko to

Pudełko to
Pudełko to
Pudełko to
Pudełko to

Projekt usiądzie pod odpowiednim kątem, aby zobaczyć zegar, ale pudełko dodaje poczucia trwałości.

Możesz kupić pudełko o odpowiedniej wielkości i wyciąć i wywiercić odpowiednie obszary, aby Microbit zmieścił się w gnieździe.

Jednakże; dodatkowo chciałem powielić przyciski Microbit wraz z innymi kontrolkami i wskaźnikami.

Zazwyczaj do pola należy zastosować legendy, aby zidentyfikować przyciski.

Można je nakładać ręcznie; malowane, grawerowane lub naklejane etykiety.

Sposobem na zrealizowanie wszystkich tych opcji byłoby wydrukowanie pudełka w 3D, ale najpierw musielibyśmy utworzyć plik CAD, za pomocą którego stworzymy plik drukarki.

Opcje tworzenia plików są rysowane ręcznie lub za pomocą kodu.

Zdecydowałem się na „rysowanie kodem” za pomocą Tinkercad CodeBlocks

Pliki dla Box Lid i Box Base można znaleźć na Tinkercad CodeBlocks

Krok 6: Projektowanie kodu blokowego

Projekt kodu blokowego
Projekt kodu blokowego
Projekt kodu blokowego
Projekt kodu blokowego

Pudełko jest dwuczęściową konstrukcją składającą się z podstawy i wieczka.

Cztery narożne otwory na śruby zostaną wykorzystane do zabezpieczenia pokrywy z wycięciem po lewej stronie, aby umożliwić wejście dla wtyczki USB.

W pokrywie będzie wycięcie na złącze Microbit i wymagane przełączniki, dodatkowo dowolny tekst zostanie wydrukowany bezpośrednio na pokrywie, a otwory na śruby zrównają się z filarami podstawy.

Tablica RTC zostanie przymocowana do spodu pokrywy za pomocą 4 słupków i 4 śrub.

Wymiary pudełka z pokrywką to 70 x 105 x 31 mm

Kod dla pokrywy i bazy jest dostępny w TinkerCad CodeBlocks.

Krok 7: Drukowanie 3D

drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d

Załaduj pliki do programu Cura i zastosuj preferowane ustawienia fragmentatora.

Zastosowane ustawienia.

Jakość: 0,15 mm

Wypełnienie: 80%, Tri-Hexagon

Podstawa: rondo

Zapisz swoje pliki, a następnie wydrukuj.

Dzięki Cura możesz załadować oba pliki razem na tym samym obszarze drukowania i drukować za jednym razem.

Krok 8: Wypełnij

Wypełnij
Wypełnij
Wypełnij
Wypełnij
Wypełnij
Wypełnij

Na wieczku pudełka jest nadrukowany wgłębiony tekst, który zostanie wypełniony kolorową dwuczęściową żywicą epoksydową.

Żywicę miesza się w proporcji 2 części żywicy na 1 część utwardzacza, a następnie miesza się nieprzezroczysty pigment kolorowy.

Wybranym kolorem był żółty, aby kontrastować z tłem. Biały byłby innym wyborem.

Po wymieszaniu żywica jest wkraplana do wnęki za pomocą wykałaczki do przenoszenia małych kropelek żywicy, które są używane do stopniowego wypełniania wnęki w literach.

Oprzyj się włożeniu zbyt dużej ilości żywicy za jednym razem, ponieważ prawdopodobnie skończysz z bąbelkami powietrza lub tworzeniem zbyt dużego przelewu na otaczającą powierzchnię, co oznacza, że po utwardzeniu będziesz musiał więcej usunąć czyszczenia i szlifowania.

Tak więc wypełniaj powoli, upewniając się, że spód litery jest zakryty i ułóż go, kończąc na lekko podniesionej powierzchni.

Po utwardzeniu żywicy konieczne będzie lekkie szlifowanie w celu wyrównania powierzchni, zacznij od gatunku P240, przechodząc do drobniejszych, zgodnie z wymaganiami, aby uzyskać gładkie wykończenie, a na koniec wypolerować.

Nie przykładaj zbyt dużego nacisku i zbyt dużej prędkości, w przeciwnym razie przegrzejesz PLA i żywicę, powodując matową powierzchnię z powodu zbierania piasku, niewielka ilość wody naniesiona podczas procesu szlifowania będzie działać jak smar i chłodziwo.

Krok 9: Montaż

montaż
montaż
montaż
montaż
montaż
montaż

Microbit będzie pasował do gniazda w dwóch orientacjach, zwróconych w stronę głównej części zegara czasu rzeczywistego lub skierowanych na zewnątrz.

Jeśli zwrócony jest w stronę głównej części zegara czasu rzeczywistego, połączenia łącza nie mogą być używane, jednak jeśli Microbit jest odwrócony od głównej części płyty, możemy skorzystać z tych połączeń.

Montaż rozpoczyna się od przylutowania listwy stykowej SIL pod kątem prostym do RTC, aby umożliwić wykonanie połączeń za pomocą złączy wciskanych.

RTC jest wyposażony w 4*M3 (10+6mm), wsporniki M/F z nakrętkami M3, które są przymocowane do pokrywy za pomocą 4*M3 (8mm), śrub w prefabrykowanych otworach.

Przełączniki są montowane w prefabrykowanych otworach w pokrywie.

Wymagane połączenia to:

GND, 3V, P1 (zestaw), P2 (alarm), P5 (sel) i P11 (inc)

Uwaga *** Rezystory (1R) na schemacie dla P5 i P11 są po prostu referencyjnymi punktami połączenia, ponieważ bezpośrednie połączenie z tymi pinami w blokach Microbit w Code nie jest obecnie dostępne. ***

P5 to zewnętrzne połączenie przycisku A, które jest połączone przełącznikiem chwilowym SPST. Jedno połączenie do P5, a drugi pin jest podłączony do GND ten przycisk służy do wyboru kolumny podczas ustawiania czasu.

P11 to zewnętrzne połączenie przycisku B, które jest połączone przełącznikiem chwilowym SPST. Jedno połączenie do P11, a drugi pin jest podłączony do GND jego przycisk służy do zwiększania liczby podczas ustawiania czasu.

P1 to przełącznik SPDT (włączony), który służy do włączania lub wyłączania opcji ustawień. Środkowy pin przechodzi do P1, podczas gdy jeden pin jest podłączony do GND, a drugi do 3V przez rezystor 10k. Umożliwia to przyłożenie H (3V) i L (0V) do tego pinu. Gdy P1 jest podłączony do 3V, włącza opcje ustawiania czasu, a gdy 0V wyłącza ustawianie czasu. W ten sposób kontrolując, czy przyciski A i B mają jakikolwiek wpływ.

P2 to przełącznik SPDT (włącz-wyłącz-włącz), który służy do włączania lub wyłączania sygnalizatora dźwiękowego i opcjonalnych świateł zewnętrznych.

Sygnalizator dźwiękowy to piezoelektryczny brzęczyk (po prostu przymocowany za pomocą dwustronnie klejącej podkładki), wymagający napędu impulsowego zapewnianego przez Microbit.

Krok 10: Wreszcie

Złożyłeś elementy w pudełku, zaprogramowałeś Microbit i umieściłeś go w gnieździe na pudełku.

Następnie zastosuj moc i ustaw czas.

Cieszyć się.

Konkurs na kod blokowy
Konkurs na kod blokowy
Konkurs na kod blokowy
Konkurs na kod blokowy

Drugie miejsce w konkursie na kod blokowy

Zalecana: