Spisu treści:
- Krok 1: Definiowanie obszaru wyświetlania
- Krok 2: RTC (zegar czasu rzeczywistego)
- Krok 3: Kodowanie zegara
- Krok 4: Operacja
- Krok 5: Pudełko to
- Krok 6: Projektowanie kodu blokowego
- Krok 7: Drukowanie 3D
- Krok 8: Wypełnij
- Krok 9: Montaż
- Krok 10: Wreszcie
Wideo: Mikro zegar binarny: 10 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
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
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 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
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
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
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
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
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
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ż
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ę.
Drugie miejsce w konkursie na kod blokowy
Zalecana:
Binarny zegar na biurko: 9 kroków (ze zdjęciami)
Binarny zegar biurkowy: Zegary binarne są niesamowite i przeznaczone wyłącznie dla osób, które znają binarny (język urządzeń cyfrowych). Jeśli jesteś technikiem, ten dziwny zegar jest dla Ciebie. Więc zrób jeden sam i zachowaj swój czas w tajemnicy! Znajdziesz wiele binarnych c
Binarny zegar LED z marmuru: 6 kroków (ze zdjęciami)
Binary LED Marble Clock: Teraz myślę, że prawie każdy ma zegar binarny, a oto moja wersja. Podobało mi się to, że ten projekt łączył trochę prac stolarskich, programowania, nauki, elektroniki i być może tylko odrobiny kreatywności artystycznej. Pokazuje czas, miesiąc, datę, dzień
Zegar binarny Arduino - wydruk 3D: 5 kroków (ze zdjęciami)
Zegar binarny Arduino - druk 3D: Od jakiegoś czasu przyglądam się zegarom binarnym na moim biurku, jednak są one dość drogie i / lub nie mają ogromnej liczby funkcji. Więc zdecydowałem, że zamiast tego zrobię jeden. Jeden punkt do rozważenia przy tworzeniu zegara, Arduino / Atmega328
Zegar binarny wykorzystujący Neopixels: 6 kroków (ze zdjęciami)
Zegar binarny używający Neopixels: Cześć, kocham wszystkie rzeczy związane z diodami LED, a także lubię z nich korzystać na różne ciekawe sposoby Tak, wiem, że zegar binarny został tutaj zrobiony wiele razy, a każdy z nich jest doskonałym przykładem tego, jak stwórz swój własny zegar.Naprawdę lubię
Binarny marmurowy zegar: 9 kroków (ze zdjęciami)
Binary Marble Clock: Jest to prosty zegar, który pokazuje czas (godziny/minuty) w systemie binarnym za pomocą diod ukrytych pod szklanymi kulkami. tylko szybkie spojrzenie na ten zegar. Ono