DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

Prosty zegar na matrycach LED. Wielu radioamatorów, początkujących i lubiących nie tylko „wymyślać koło na nowo” - budować własny zegar elektroniczny. Ten los też mnie nie ominął. Z pewnością w dzisiejszych czasach w Internecie jest mnóstwo wzorów zegarów, ale z jakiegoś powodu jest wśród nich tylko kilka zegarów na matrycach LED. W rosyjskojęzycznym Internecie znalazłem tylko jedną całkowicie ukończoną i opisaną konstrukcję. Jednocześnie matryce LED są teraz znacznie tańsze, a ich koszt nie jest wyższy, ani nawet niższy od kosztu wskaźniki siedmiosegmentowe ten sam rozmiar. Na przykład GNM23881AD, którego użyłem w rozmiarze 60x60mm, zostały kupione za 1,5u (3 wskaźniki kosztują 4,5u), za te pieniądze trudno kupić cztery siedmiosegmentowe urządzenia tej samej wielkości. Ale jest znacznie więcej informacji, które można umieścić na wskaźniku matrycowym. Oprócz liczb mogą wyświetlać dowolne litery, znaki, a za pomocą pełzającej linii również tekst.

Na tej podstawie pojawiła się chęć zbudowania zegara na matrycach LED, ale tak, aby obwód okazał się nie bardziej skomplikowany niż na urządzeniach siedmiosegmentowych. Chciałem też, żeby był wystarczająco funkcjonalny, a nie jak inne. Tak narodził się następujący schemat.

Funkcjonalność zegarka jest następująca:

  • Odliczanie, kalendarz, dzień tygodnia. (uwzględniany jest rok przestępny, nie stosuje się czasu letniego).
  • Utrzymywanie pracy zegara w przypadku zaniku zasilania (pobór 15 μA).
  • Korekta ruchu + - 59,9 s / dzień, w odstępach co 0,1 s. 9 budzików. 3 z nich są „jednorazowe”, a 6 „stałych”, indywidualnie ustawianych według dnia tygodnia.
  • Indywidualnie konfigurowalny czas trwania sygnału dźwiękowego dla każdego budzika (1-15 min).
  • Dźwiękowe potwierdzenie naciśnięcia przycisków (można wyłączyć).
  • Cogodzinny sygnał dźwiękowy (istnieje możliwość wyłączenia).
  • Od 00-00 do 08-00 brak sygnału.
  • 1 lub 2 czujniki temperatury (ulica i dom).
  • Konfigurowalna linia pełzająca, przez którą wyświetlane są wszystkie informacje (z wyjątkiem czasu)
  • Wartość korekty skoku i ustawienia „linii pełzania” są zapisywane nawet w przypadku utraty zasilania rezerwowego.

AtMega16A został wybrany jako „serce” zegarka ze względu na jego dostępność, taniość i „nóżki”. Chciałem maksymalnie uprościć obwód, więc wszystko, co było możliwe, zostało przypisane do sterownika. W rezultacie udało nam się poradzić sobie z zaledwie dwoma mikroukładami, kontrolerem i rejestrem TPIC6B595. Jeśli TPIC6B595 nie jest dla kogoś dostępny, możesz go zastąpić 74HC595 + ULN2803. Wypróbowano obie opcje. Możesz także spróbować użyć TPIC6С595, jest trochę słaby i trochę rozgrzany, ale ogólnie działał stabilnie. Czas liczony jest za pomocą zegara asynchronicznego - T2. Zegar działa nawet po odcięciu zasilania. W tym czasie większość obwodu jest pozbawiona zasilania, a sterownik jest zasilany z baterii, akumulatora lub superkondensatora. Byłem zainteresowany zabawą z superkondensatorem, więc go użyłem. Pobór prądu przez godziny w trybie czuwania wynosi 15 μA. Zasilany superkondensatorem 1F zegarek wytrzymał cztery dni. Jest to wystarczające do utrzymania zasilania podczas przerw w zasilaniu. Jeśli używasz baterii CR2032, to teoretycznie zgodnie z obliczeniami ładowanie powinno wystarczyć na 1,5 roku. Sterownik „nasłuchuje” obecności napięcia sieciowego poprzez pin PB.3 Ten pin jest wejściem odwracającym komparatora. Napięcie zasilania, poprzez dzielnik R2-R3, podawane jest na pin PB.3 iw stanie normalnym wynosi około 1,5V. Jeśli zewnętrzne napięcie spadnie poniżej 4,1 V, to napięcie na pinie PB.3 spadnie poniżej 1,23 V i zostanie wygenerowane przerwanie z komparatora, a wszystkie „dodatkowe” węzły kontrolera zostaną wyłączone w obsłudze przerwań, a sam kontroler zostanie uśpiony. W tym trybie działa tylko odliczający czas timer T2. Gdy pojawi się zewnętrzne źródło zasilania, napięcie na PB.3 ponownie wzrośnie powyżej 1,23 V, kontroler „widząc” to, przestawi wszystkie węzły w stan pracy. Jeśli zamiast superkondensatora zostanie zastosowana bateria CR2032, to należy ją podłączyć poprzez diodę (najlepiej diodę Schottky'ego). Anoda diody jest podłączona do + akumulatora, a katoda do katody VD1. W tryb normalny czas jest wyświetlany na ekranie w formacie godzina-minuta. W odstępie jednej minuty rozpoczyna się pełzająca linia. Dzień tygodnia, data, rok, tempo są wyświetlane jako linia biegnąca. dom i tempo. na ulicy. Pełzającą linię można dostosować, tj. możesz włączyć / wyłączyć wyświetlanie dowolnego elementu. (na przykład zawsze wyłączam wyświetlanie roku). Po wyłączeniu wszystkich elementów przewijana linia nie uruchamia się, a zegar stale wyświetla aktualny czas. 9 alarmów podzielonych jest na 3 jednorazowe i 6 wielokrotnego użytku. Po włączeniu alarmów 1-3 działają one tylko raz. Aby ponownie działały, należy je ponownie włączyć ręcznie. A alarmy 4-9 są wielokrotnego użytku, tj. będą uruchamiane codziennie o ustalonej godzinie. Ponadto te alarmy można ustawić tak, aby były uruchamiane tylko w określone dni tygodnia. Jest to wygodne, jeśli na przykład nie chcesz, aby budzik budził Cię w weekendy. Lub na przykład musisz się obudzić dni powszednie o godz. 7-00, w czwartek o godz. 8.00 oraz w weekendy budzik nie jest potrzebny. Następnie ustawiliśmy jeden wielokrotnego użytku o godzinie 7-00 w poniedziałek-środę i piątek, a drugi o godzinie 8-00 w czwartek ... .. Ponadto wszystkie alarmy mają ustawienie czasu trwania sygnału, a jeśli nie masz sygnału przez 1 minutę, aby się obudzić , możesz ją zwiększyć na pewien czas od 1 do 15 minut. Kurs jest poprawiany raz dziennie, o godzinie 00:00. Jeśli zegar się spieszy, na przykład o 5 sekund dziennie, to o 00-00-00 czas zostanie ustawiony na 23-59-55, jeśli zegar się spóźnia, to o 00-00-00 czas zostanie ustawiony na 00-00-05. Krok korekty - 0,1 sek. Maksymalna korekta to 59,9 s / dzień. W przypadku nadającego się do użytku kwarcu jest mało prawdopodobne, aby był już potrzebny. Korekta odbywa się również w trybie czuwania przy zasilaniu bateryjnym. Tablice LED mogą wykorzystywać dowolne diody LED z 8 * 8 wspólną katodą. Jak już wspomniano, użyłem GNM23881AD. W zasadzie matrycę można „wybierać” z poszczególnych diod LED. Mikrokontroler AtMega16a można zastąpić „starym” AtMega16 z literą L. W takim przypadku teoretycznie pobór prądu z akumulatora powinien nieznacznie wzrosnąć. Prawdopodobnie tylko AtMega16 będzie działał, ale mogą pojawić się problemy podczas pracy na zasilaniu bateryjnym. Dioda D1 - najlepiej dowolna dioda Schottky'ego. Współpracuje również z konwencjonalnym prostownikiem, ale żeby uchronić się przed różnymi usterkami związanymi z tym, że część układu zasilana jest napięciem „przed diodą”, a część „za diodą” lepiej poszukać Schottky'ego. Tranzystor VT1 - dowolny n-p-n... Zegarek sterowany jest dwoma przyciskami. Ich liczbę można by zwiększyć do 8, bez dodawania w ogóle żadnych dodatkowych elementów, z wyjątkiem samych przycisków, ale chciałem spróbować „wyjść” mając tylko dwa. Przyciski mają konwencjonalną nazwę „OK” i „KROK”. Przycisk „STEP” zwykle powoduje przejście do następnej pozycji menu, a przycisk „OK” zmienia parametry bieżącego menu. Sygnał zadziałania budzika jest również wyłączany przez naciśnięcie przycisku „OK” lub „STEP”. Naciśnięcie dowolnego przycisku, gdy dzwoni alarm, wyłącza go. Schemat sterowania okazał się taki:

Wideo, jak wszystko działa!






  • DS18b20).
  • Druga opcja, DS18b20).

Przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia.

Schemat ogólny.


- Kiedy naciskasz Kn2 Kn2


Kn1Kn3 Kn2


UA-EN-RU .


ds 18 b 20 No. 1 lub No. 2.

Możliwe są rozwiązania obwodów, z opcjami kombinacji do podłączenia czujników, poniżej znajdują się przykłady opcji, z którymi ten program będzie działać poprawnie.

Zegar Zegar + RF Zegar + RF + DS18B20



Zegarek + DS18B20 (2szt.) Obejrzyj + DS18B20 Nadajnik RF



Obwód Proteusa

firmware bootloadera ATmega328.)


FUSE, jeśli ktoś użyje programatora ICSP do oprogramowania układowegoATmega328 w tym obwodzie.

Ze swetramiJp -1, Jp -2, Jp RF

1 sekunda.

2 sekundy.

4 sek.

8 sek.

16 sek.

32 sec.

64 sek.

128 sek.

Jp -1

Jp -2

Jp -3

BEZPIECZNIK, ATtiny24a są zainstalowane na wewnętrznym oscylatorze MK - 8 MHz.



w archiwum.

Czujnik radiowy zegara matrycowego, zasilany bateryjnie, układ i firmware na forum.

DS18b20, RTCDS1307, czujnik światła, przyciski sterujące, kompletRF -moduły i zasilacz 5 V (pobór prądu w szczytowych momentach, przy maksymalnej jasności, wynosi do 0,6A, a średnio 0,3A, można również skorzystać z dopłaty z telefonu komórkowego, jeśli jest dostępny z odpowiednimi parametrami)).
Jakie jest zainteresowanie aplikacjiArduino Nano Atmega328.
Fakt, że na pokładzie jest już modem z wyjściem mini USB, można spokojnie sflashować taki kontroler przez bootloader, korzystając z komputera i przewodu telefonicznego do ładowania telefon komórkowy ze złączem mini USB.
Wszystko to można łatwo zrobić za pomocą prostego programu.XLoader.
Trochę więcej szczegółów na temat korzystania z oprogramowania układowego przez bootloader, opisane tutaj " Nano volt - 2-kanałowy amperomierz. ".
W razie potrzeby mogą być wszystkie niezbędne moduły korzystna cena kup na Aliexpress.

Matryca punktowa MAX7219

Nano Atmega328

DS1307

DS18b20

Czujnik światła

Zasilacz

Po zamówieniu trochę cierpliwości, aż wszystkie te części dotrą pocztą, a możesz mieć gwarancję złożenia tego bardzo interesującego schematu z zegarem i termometrem.


Ogólnie rzecz biorąc, przy podstawowej podstawie myślę, że nie powinno być pytań, tutaj wszystko jest standardowe.


Konstrukcja wyświetlacza typu pracy zegara - termometr, jest już wersją amatorską.
Program ma trzy opcje projektowania zegara termometru.

  • Pierwsza opcja to naprzemienne wyświetlanie czasu (godziny i minuty), temperatury zewnętrznej i temperatury w pomieszczeniu (dwa czujnikiDS18b20).

Przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia.

  • Druga opcja, wyświetlanie czasu (godziny i minuty), temperatury otoczenia (jeden czujnikDS18b20).

Przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia.

  • Trzecia opcja, tylko godziny, wyświetlanie czasu (godziny i minuty),

przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia (wyświetlacz temperatury jest wyłączony).

W rzeczywistości różnice między opcjami są niewielkie i polegają tylko na różnicach w wyświetlaniu temperatury na wyświetlaczu matrycy zegara termometru, prawie każda opcja może być potrzebna.


Schemat.


- W schemacie zastosowano trzy przyciski sterujące, krótkie naciśnięcie tych przycisków wywołuje jednorazowo obrót odczytów na ekranie głównym zegar - data - dzień tygodnia - temperatura.


- Kiedy naciskasz Kn2 dłużej niż 2 sekundy, wejdziesz do menu ustawień (będąc w menu, naciśnij Kn2 dłużej niż 2 sekundy, wyjdź z menu ustawień).


- Po wejściu do menu za pomocą przycisków Kn1Kn3data i czas można korygować, odbywa się poruszanie się po menu Kn2 , zmieniany parametr będzie świecił odwrotnie.


- Również w menu można w razie potrzeby ustawić korektę niedokładności zegara w ciągu doby ± 9 sek.


- Następną pozycją w menu będzie, jest to wybór używanego języka, jedno oprogramowanie układowe umożliwia korzystanie z języków UA-EN-RU .


- Element opcji animacji na ekranie, jeden z trzech opisanych na początku artykułu.


- Czujnik radiowy, gdy wartość wynosi "0", czujnik radiowy nie jest używany w programie, po wybraniu 1 lub 2 odczyty temperatury z czujnika radiowego będą się pojawiać na wyświetlaczu zamiastds 18 b 20 No. 1 lub No. 2.

Zdjęcie zegara w trakcie debugowania na płytce prototypowej.

Obwód Proteusa

Schemat nadajnika dla tego zegarka.

Ze swetramiJp -1, Jp -2, Jp -3, wybieralna częstotliwość transmisjiRF -moduł pakietów informacyjnych z temperaturą z czujnika nr 3.

1 sekunda.

2 sekundy.

4 sek.

8 sek.

16 sek.

32 sec.

64 sek.

128 sek.

Jp -1

Jp -2

Jp -3

(1 - zworka zamknięta, 0 - nie)

Płytka drukowana do zegara i czujnika radiowego.

FUSE dla ATmega328 do pracy z bootloaderem (archiwum z oprogramowanie bootloadera ATmega328.)

BEZPIECZNIK, jeśli ktoś zamierza użyć programatora ICSP do flashowania ATmega328 w tym obwodzie.

Firmware "Zegar - termometr na modułach matrycy", płytki drukowane, proteus, w archiwum.

Ta pełzająca linia umożliwia odczytanie tekstu zawierającego do 8192 liter, łącznie ze spacjami.Tekst jest wprowadzany do pamięci pełzającej linii 24C64 za pomocą klawiatury komputera bez podłączania samego komputera. Podczas wprowadzania tekstu możliwe jest kasowanie liter za pomocą klawisza (Backspace), obserwując akcję usuwania liter na tablicy wyników.

Możliwe jest dostosowanie szybkości liter za pomocą dwóch klawiszy obok cyfr na klawiaturze (+ i -). Szybkość biegu linii jest zapisywana w ostatniej komórce pamięci 24C64, więc gdy włączysz ją po raz pierwszy bez regulacji prędkości, litery będą się poruszać powoli i dlatego musisz dokonać pierwszej regulacji. Szybkość biegu zmienia się bardzo mocno przy dostosowywaniu zapisu liczbowego w ostatniej komórce 24C64 liczb od 1 ... .30 w systemie dziesiętnym lub szesnastkowym1..1E, co można zweryfikować za pomocą programatora PICKIT2, ale nie jest to konieczne.

Pamięć linii zawiera generator znaków, który ma w swojej pamięci cały alfabet rosyjskich liter dużymi i małymi literami, a także niektóre znaki i wszystkie cyfry.

Wskazanie linii dynamiczne linia po linii składająca się z 8 linii, które są kolejno podświetlane od góry do dołu, jedna po drugiej 300 razy na sekundę, wykonywany jest cały cykl 8 linii, co pozwala na obserwację obrazu bez migotania.

Mikroukłady płytki 74NS595 pełnią rolę zapłonu poziomego wyświetlacza lub rzędu 160 diod LED, a tranzystory umożliwiają zmianę poziomu lub rzędów kolejno od góry do dołu, to znaczy, że wyświetlacz jest zapalany linia po linii od góry do dołu po kolei z prędkością 300 klatek na sekundę.

Sam mikroukład 74NS595 jest normalnym rejestrem przesuwnym z wyjściem każdego rejestru do matrycy LED, ale duża macierz NO z rejestrami jest połączona nie bezpośrednio, ale przez rejestry, które ustalają stan logiczny.

Dlaczego jest to potrzebne? Na razie jest to konieczne trwa ładowanie z rejestrów przesunięcia MK w łańcuchu z jednego do drugiego z każdym sygnałem zegarowym na pinie 11 i jednocześnie obserwowano to na matrycach LED, których w ogóle nie potrzebujemy, gdyż obraz był podświetlany diodami w niewłaściwych miejscach. Dlatego dodatkowe rejestry zatrzaskowe blokują wyprowadzanie informacji do macierzy podczas ładowania danych i są aktualizowane dopiero po pojawieniu się sygnału zegarowego na zaciskach 12, prowadzącym z rejestrów przesuwnych do danych zatrzaskowych, a zatrzask jest przesyłany do matryc.

Dane płytki, która tworzy cały obraz linii, pochodzą z MK od pinu 34 do wejścia rejestru 14 mikroukładu 74HC595 z pierwszego mikroukładu 74HC595 do drugich danych są przesyłane z wyjścia 9 do wejścia 14 i tak dalej wzdłuż łańcucha do ostatnich 20 mikroukładu.

Powtarzam, dane przesuwają się z każdym cyklem zegara na wejściu 11 wszystkich mikroukładów 74HC595 wzdłuż łańcucha do najnowszego mikroukładu 74HC595 i po załadowaniu wszystkich 20 mikroukładów zegar pojawia się w rejestrach zatrzaskowych na pinie 12, aktualizując w ten sposób obraz całej linii, a nie całego wyświetlacza płytki. Linie są aktualizowane za każdym razem, gdy przechodzą do niższej linii.

Podczas montażu tablicy wyników bardzo wygodnie jest wykonać tablice z dwóch matryc 8x8 lub tak aby tablica zawierała po dwie matryce każda z możliwością zwiększenia ilości tablic, podłączając pierwszą tablicę wyświetlacza do płytki mikrokontrolera można upewnić się, że działa ona bez pozostałych tablic i dopiero po tym sprawdzić kolejne tablice, tak będzie łatwiej jest szukać wad i błędów w lutowaniu.

Aby sprawdzić pierwszą tablicę wyświetlacza, należy podłączyć klawiaturę do płyty MK, włączyć zasilanie, wcisnąć jedną lub więcej liter, podać komendę końca linii, aby tekst został wprowadzony klawiszem ENTER, wtedy linia będzie biegła z małą prędkością, ponieważ prędkość biegu również należy regulować naciskając klawisz (-), aby aż stała z 5..1E zostanie zapisana szesnastkowo w pamięci 24C64.

Jeśli nie potrzebujesz ciągu o tak dużej długości składającego się z 20 matryc 8x8, to mogę wysłać ci oprogramowanie o mniejszym numerze od 2 do 19, robię to prosto i szybko wyślę ci list z oprogramowaniem mój adres to evgen100777 (sobaka) rambler.ru.

Płytki wyświetlaczy są rozwidlone na 6x6 centymetrów czerwonej poświaty z oznaczeniem QFT 2388ASR.Płytka mikrokontrolera wykonana jest pod warunkiem aktualizacji poprzez dodanie linii zegara i termometru, ale skoro firmware dla tej obudowy nie został ukończony, nie polecam dodawania przycisków żeby nie spalić portu MK.

Przyciski poleceń.

(Zmiana) - przycisk przełączania na duże litery, naciśnięcie go i zwolnienie litery jest naciśnięty, a duża litera jest wyświetlana na wyświetlaczu, jeśli naciśniesz następną literę bez uprzedniego naciśnięcia Shift, wyświetlana jest mała litera, to znaczy przed każdym wpisaniem dużej litery należy nacisnąć i zwolnić Shift.

(+ i - ) - te klawisze działają po włączeniu przewijania linii przed wpisaniem i dostosowaniu szybkości ruchu liter na tablicy wyników + zwiększa prędkość zmniejsza prędkość przesuwania liter.

Backspace- klawisz służący do kasowania tekstu podczas wpisywania, działa tylko w trybie pisania, wyświetlając usuniętą literę na wyświetlaczu poprzez przesunięcie tekstu w lewo.

Wchodzić ten klucz uruchamia linię po wpisaniu, oznaczając koniec tekstu w pamięci 24C64 i mówi, że musisz rozpocząć bieganie linii od początku od tego miejsca w tekście.

W przypadku nowego zestawu tekstu pełzająca linia musi zostać wyłączona i ponownie włączona przy podłączonej klawiaturze, wybierz szybkość pisania tekstu za pomocą klawiszy plus i minus, a po pierwszym kliknięciu na literę tablica wyników jest czyszczona z wyświetlaczem po prawej stronie linii pierwszej litery, wpisując tekst, przesuwa się w lewo, a następnie wciskany jest klawisz Enter linia przechodzi w tryb pracy bez reagowania na klawiaturę.

Aby ponownie wprowadzić tekst, nie zapomnij włączyć i wyłączyć linii.

Pełzająca linia z zegarem, kalendarzem i wpisywaniem na klawiaturze PS / 2

Przewijana linia pokazuje czas godziny minuty sekundy dzień w liczbach oraz miesiąc i dzień tygodnia na przykład słownie GODZINA 12.30.10 20 STYCZNIA ŚRODA.

Dokładnie ta sama pełzająca linia z wpisywaniem na klawiaturze ma tylko zegar z kalendarzem. W tym wierszu nie można zmienić ilości matryc LED, gdyż wszystkie 20 z nich zajmuje się ustawieniem czasu daty oraz miesiąca i dnia tygodnia.

Podczas pisania, naciśnięcie lewego klawisza CTRL wstawia zegar z kalendarzem do przeszukiwanego tekstu. Ta linia ma wszystkie te same funkcje, co poprzednie linie na PIC16F628 i PIC16F877 i jest kontrolowana w ten sam sposób.

Aby ustawić czas, należy nacisnąć przycisk wyboru na płytce z mikrokontrolerem, a pojawi się płytka do ustawiania czasu, sekundy zaczną migać po naciśnięciu przycisku zmiany, sekundy zostaną wyzerowane. Ponownie wciśnij przycisk wyboru, minuty zaczną migać od naciśnięcia przycisku zmiany, zwiększamy minuty, tak samo z zegarem, datą, miesiącem i dniem tygodnia.

W ustawieniach czasu dzień tygodnia i miesiąc są wyświetlane w postaci liczb.

Oto nieco zmodyfikowany układ tej linii, dodano dwa przyciski z rezystorami podciągającymi do zmiany czasu i zegarem kwarcowym 32768 Hz i kolejnym rezystorem podciągającym wejście kontrolera odpowiadające za wejście do klawiatury.

Aby uzyskać bardziej stabilną pracę, lepiej jest zasilać PIC16F877 przez rezystor 11 omów o mocy 0,25 W na dodatnim zasilaniu, aby zmniejszyć szum pochodzący z tranzystorów, które przełączają linie wyświetlacza.

Linia pełzająca z zegarem i termometrem na ulicę iw domu.

Linia pełzająca działa na czujnikach DS1820 i pokazuje temperaturę w domu i na ulicy, wstawiając linię pełzającą do tekstu wyświetlanych odczytów na wyświetlaczu.

Odczyty wyświetlane są w postaci napisu TEMPERATURA DOMU 25,2 ULICA -12,4 Odczyty temperatury mają dolny wskaźnik w postaci jednej dziesiątej stopnia.

Aby wstawić termometr do tekstu, naciśnij lewy klawisz ALT klawiatura komputerowapodłączony do linii pełzającej.

Zakres wyświetlanych temperatur wynosi od -55 do 99 stopni, ale nie zaleca się podgrzewania czujnika powyżej 70 stopni, aby uniknąć jego uszkodzenia.

Długość przewodu prowadzącego do czujnika na zewnątrz nie powinna przekraczać 4 metrów.

Jest oprogramowanie z trzema ukraińskimi literami.
Sygnał alarmowy jest usuwany jako log 0 podczas sygnału z pinu 38 PIC16F877

Lista pierwiastków radioaktywnych

Przeznaczenie Typ Określenie ilość UwagaWynikMój notebook
Schemat 1
IC MK PIC 8-bitowy

PIC16F877

1 Do notatnika
IC1 Karta pamięci24C641 Do notatnika
IC2, IC3 Rejestr przesuwny

CD74HC595

20 Do notatnika
VT1-VT8 Tranzystor bipolarny

BD140

8 Do notatnika
C1, C2 Kondensator100 nF2 Do notatnika
C3, C4 Kondensator15 pF2 Do notatnika
C5 Kondensator3,3 nF1 Do notatnika
R1-R16, R18, R19, R21-R24, R30, R31 Rezystor

330 Ohm

24 Do notatnika
Rezystor

330 Ohm

144 Do notatnika
R26, R27 Rezystor

5,1 k Ohm

2 Do notatnika
R28, R29 Rezystor

4,7 k Ohm

2 Do notatnika
Cr1 Rezonator kwarcowy20 000 MHz1 Do notatnika
Matryca LED8x820 Do notatnika
ZłączePS / 21 Do notatnika
Schemat 2
IC MK PIC 8-bitowy

PIC16F877

1 Do notatnika
IC1 Karta pamięci24C641 Do notatnika
Rejestr przesuwny

CD74HC595

20 Do notatnika
Tranzystor bipolarny

BD140

8 Do notatnika
C2 Kondensator100 nF1 Do notatnika
C3, C4 Kondensator15 pF2 Do notatnika
C5 Kondensator3,3 nF1 Do notatnika
C6, C7 Kondensator33 pF2 Do notatnika
C8 Kondensator elektrolityczny47 uF1 Do notatnika
R18, R19, R21-R24, R30, R31 Rezystor

330 Ohm

24 Do notatnika
Rezystor

330 Ohm

144 Do notatnika
R26, R27, R32, R33 Rezystor

5,1 k Ohm

4 Do notatnika
R29, R34, R35 Rezystor

4,7 k Ohm

3 Do notatnika
R36 Rezystor

11 omów

1 Do notatnika
Cr1 Rezonator kwarcowy20 000 MHz1 Do notatnika
Cr2 Rezonator kwarcowy32768 Hz1 Do notatnika
S1, S2 Przycisk zegara 2 Do notatnika
Matryca LED8x820 Do notatnika
ZłączePS / 21 Do notatnika
Schemat 3
IC MK PIC 8-bitowy

PIC16F877

1 Do notatnika
IC1 Karta pamięci24C641 Do notatnika
Rejestr przesuwny

CD74HC595

20 Do notatnika
czujnik temperatury

DS18B20

2





  • DS18b20).
  • Druga opcja, DS18b20).

Przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia.

Schemat ogólny.


- Kiedy naciskasz Kn2 Kn2


Kn1Kn3 Kn2


UA-EN-RU .


ds 18 b 20 No. 1 lub No. 2.

Możliwe są rozwiązania obwodów, z opcjami kombinacji do podłączenia czujników, poniżej przykłady opcji, z którymi ten program będzie działał poprawnie.

Zegar Zegar + RF Zegar + RF + DS18B20



Zegarek + DS18B20 (2szt.) Obejrzyj + DS18B20 Nadajnik RF



Obwód Proteusa

firmware bootloadera ATmega328.)


FUSE, jeśli ktoś użyje programatora ICSP do oprogramowania układowegoATmega328 w tym obwodzie.

Ze swetramiJp -1, Jp -2, Jp RF

1 sekunda.

2 sekundy.

4 sek.

8 sek.

16 sek.

32 sec.

64 sek.

128 sek.

Jp -1

Jp -2

Jp -3

BEZPIECZNIK, ATtiny24a są zainstalowane na wewnętrznym oscylatorze MK - 8 MHz.



w archiwum.

Czujnik radiowy zegara matrycowego, zasilany bateryjnie, układ i firmware na forum.

DS18b20, RTCDS1307, czujnik światła, przyciski sterujące, kompletRF -moduły i zasilacz 5 V (pobór prądu w szczytowych momentach, przy maksymalnej jasności, wynosi do 0,6A, a średnio 0,3A, można również skorzystać z dopłaty z telefonu komórkowego, jeśli jest dostępny z odpowiednimi parametrami)).
Jakie jest zainteresowanie aplikacjiArduino Nano Atmega328.
Fakt, że ta płytka ma już na pokładzie modem ze złączem mini USB, bez problemu można sflashować taki kontroler poprzez bootloader, wykorzystując swój komputer i przewód telefoniczny do ładowania telefonu komórkowego ze złączem mini USB.
Wszystko to można łatwo zrobić za pomocą prostego programu.XLoader.
Trochę więcej szczegółów na temat korzystania z oprogramowania układowego przez bootloader, opisane tutaj " Nano volt - 2-kanałowy amperomierz. ".
W razie potrzeby wszystkie niezbędne moduły można kupić w okazyjnej cenie na Aliexpress.

Matryca punktowa MAX7219

Nano Atmega328

DS1307

DS18b20

Czujnik światła

Zasilacz

Po zamówieniu trochę cierpliwości, aż wszystkie te części dotrą pocztą, a możesz mieć gwarancję złożenia tego bardzo interesującego schematu z zegarem i termometrem.


Ogólnie rzecz biorąc, przy podstawowej podstawie myślę, że nie powinno być pytań, tutaj wszystko jest standardowe.


Konstrukcja wyświetlacza typu pracy zegara - termometr, jest już wersją amatorską.
Program ma trzy opcje projektowania zegara termometru.

  • Pierwsza opcja to naprzemienne wyświetlanie czasu (godziny i minuty), temperatury zewnętrznej i temperatury w pomieszczeniu (dwa czujnikiDS18b20).

Przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia.

  • Druga opcja, wyświetlanie czasu (godziny i minuty), temperatury otoczenia (jeden czujnikDS18b20).

Przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia.

  • Trzecia opcja, tylko godziny, wyświetlanie czasu (godziny i minuty),

przewijany wyświetlacz - data, miesiąc, rok i dzień tygodnia (wyświetlacz temperatury jest wyłączony).

W rzeczywistości różnice między opcjami są niewielkie i polegają tylko na różnicach w wyświetlaniu temperatury na wyświetlaczu matrycy zegara termometru, prawie każda opcja może być potrzebna.


Schemat.


- W schemacie zastosowano trzy przyciski sterujące, krótkie naciśnięcie tych przycisków wywołuje jednorazowo obrót odczytów na ekranie głównym zegar - data - dzień tygodnia - temperatura.


- Kiedy naciskasz Kn2 dłużej niż 2 sekundy, wejdziesz do menu ustawień (będąc w menu, naciśnij Kn2 dłużej niż 2 sekundy, wyjdź z menu ustawień).


- Po wejściu do menu za pomocą przycisków Kn1Kn3data i czas można korygować, odbywa się poruszanie się po menu Kn2 , zmieniany parametr będzie świecił odwrotnie.


- Również w menu można w razie potrzeby ustawić korektę niedokładności zegara w ciągu doby ± 9 sek.


- Następną pozycją w menu będzie, jest to wybór używanego języka, jedno oprogramowanie układowe umożliwia korzystanie z języków UA-EN-RU .


- Element opcji animacji na ekranie, jeden z trzech opisanych na początku artykułu.


- Czujnik radiowy, gdy wartość wynosi "0", czujnik radiowy nie jest używany w programie, po wybraniu 1 lub 2 odczyty temperatury z czujnika radiowego będą się pojawiać na wyświetlaczu zamiastds 18 b 20 No. 1 lub No. 2.

Zdjęcie zegara w trakcie debugowania na płytce prototypowej.

Obwód Proteusa

Schemat nadajnika dla tego zegarka.

Ze swetramiJp -1, Jp -2, Jp -3, wybieralna częstotliwość transmisjiRF -moduł pakietów informacyjnych z temperaturą z czujnika nr 3.

1 sekunda.

2 sekundy.

4 sek.

8 sek.

16 sek.

32 sec.

64 sek.

128 sek.

Jp -1

Jp -2

Jp -3

(1 - zworka zamknięta, 0 - nie)

Płytka drukowana do zegara i czujnika radiowego.

FUSE dla ATmega328 do pracy z bootloaderem (archiwum z oprogramowanie bootloadera ATmega328.)

BEZPIECZNIK, jeśli ktoś zamierza użyć programatora ICSP do flashowania ATmega328 w tym obwodzie.

Firmware "Zegar - termometr na modułach matrycy", płytki drukowane, proteus, w archiwum.


W proponowanym urządzeniu zastosowano szesnastoelementowe wskaźniki znakowe typu PSA08-11 ze wspólnymi anodami. Wybór padł na nich ze względu na niski koszt, duży rozmiar wyświetlanego symbolu oraz dużą jasność. Aby wyświetlić jak najwięcej przydatnych informacji, tekst przesuwa się od prawej do lewej. Sześć znanych miejsc na przemian wyświetla aktualną godzinę, temperaturę w pomieszczeniu, temperaturę na zewnątrz, datę, dzień tygodnia i miesiąc, na przykład: „CZWARTEK 18 MARCA.

Czas jest utrzymywany przez mikroukład DS1307. Jest to zegar czasu rzeczywistego (RTC) z wbudowanym kalendarzem. Przy ogólnym wyłączeniu mikroukład nadal działa ze źródła zapasowego - ogniwa litowego CR2032 o napięciu 3 V.Ponieważ przy braku połączeń zewnętrznych prąd pobierany przez mikroukład DS1307 nie przekracza 300 nA, licznik czasu w tym trybie może trwać do dziesięciu lat. Generator zegara tego mikroukładu jest zbudowany przy użyciu zewnętrznego rezonatora kwarcowego o częstotliwości 32768 Hz, co zapewnia wysoką dokładność. Mikroukład zlicza sekundy, minuty, godziny, dni miesiąca (biorąc pod uwagę lata przestępne), miesiące, dni tygodnia i lata. Jej kalendarz jest ważny do 2100 roku. Więcej informacji na jej temat można uzyskać pod adresem.

Do pomiaru temperatury w urządzeniu stosuje się cyfrowe czujniki temperatury LM75, mające błąd nie większy niż 2 ° С w zakresie temperatur od -25 do + 100 ° С. Więcej informacji na ich temat można znaleźć w.
Schemat zegara i termometru z pełzającą linią pokazano na rys. 1. Wszystkie funkcje, z wyjątkiem zliczania czasu, wykonuje mikrokontroler DD2 (PIC16F873A-20I / P), taktowany przez wbudowany oscylator z rezonatorem kwarcowym ZQ2. Przyciski SB1-SB5 służą do sterowania urządzeniem. Gdy ich styki są rozwarte, rezystory R4-R8 zapewniają wysoki poziom logiczny na odpowiednich wejściach mikrokontrolera. Rezystor R11 utrzymuje wysoki poziom przy początkowym ustawieniu mikrokontrolera, zapobiegając przypadkowemu hałasowi przed ponownym uruchomieniem programu.

Do zasilania zegara potrzebne jest stabilizowane źródło napięcia 5 V o maksymalnym prądzie obciążenia co najmniej 600 mA. Podłączany jest do złącza XS1. Wersja autora używa Ładowarka z komórka... Kondensatory C1 i C2 - wygładzanie, a pojemność kondensatora C1 musi wynosić co najmniej 1000 μF.
Zegarek posiada budzik. Jego sygnał dźwiękowy podawany jest przez nadajnik piezoelektryczny z wbudowanym generatorem HA1 (HRA24AX). Zgodnie z sygnałami z mikrokontrolera jest on sterowany kluczem na tranzystorze VT7. Wybierając rezystor R18 w obwodzie podstawowym tego tranzystora, można regulować głośność dźwięku w określonych granicach.

Czerwone diody LED HL1-HL3 służą do wskazywania trybów pracy. Ich jasność zmienia się poprzez dobór rezystorów R15-R17.
Do programowania mikrokontrolera zainstalowanego na płytce służy złącze XP1. Na czas tej operacji jest do niej dołączony programator, na przykład PICkit2, EXTRAPIC lub inny podobny. To złącze nie jest potrzebne w aktywnym urządzeniu. Można go pominąć, jeżeli mikrokontroler jest zaprogramowany w panelu programatora przed zamontowaniem na płytce.


Programowanie mikrokontrolera polega na załadowaniu kodu programu z pliku HEX do jego pamięci FLASH. Wymaga to programu sterującego programistą, na przykład WinPic800, który jest bezpłatnie dostępny w Internecie pod adresem www.winpic800.com/descargas/WinPic800.zip. Szczegółowe instrukcje po programowaniu mikrokontroler można również wczytać.
Aby uprościć program mikrokontrolera i urządzenia jako całości, mikroukład RTC DD1 oraz czujniki temperatury BK1 i BK2 są podłączone do mikrokontrolera tą samą magistralą I2C. Czujnik VK2 podłącza się do złącza XP2 kablem o długości do kilku metrów zgodnie ze schematem przedstawionym na rys. 2.

Rezystory R2 i R9 łączą linie SCL i SDA szyny I 2 C z zasilaczem oraz utrzymują na nich wysoki poziom w przerwach przesyłu informacji, zgodnie z wymaganiami specyfikacji magistrali. Więcej informacji na temat korzystania z tego autobusu można znaleźć pod adresem. Wejścia adresowe czujników temperatury VK1 i VK2 są podłączone inaczej do plusa zasilania i wspólnego przewodu, co pozwala mikrokontrolerowi na programowe rozróżnienie czujników.

Szesnastobitowe równoległe kody do wyświetlania informacji o wskaźnikach są tworzone na wyjściach mikroukładów DD3 i DD4. Mikrokontroler DD2 wprowadza informacje do tych mikroukładów z sekwencyjnym kodem, wykorzystując do tego tylko trzy linie swoich portów B i C.Po ustawieniu na linii RC6 i wejściu informacji rejestru przesuwnego mikroukładu DD3 poziom odpowiadający wartości (0 lub 1) następnego bitu kodu, tworzy się na linii RC7 i wejścia zegarowe obu mikroukładów zwiększające różnicę poziomów. W tym przypadku kod już zawarty w szeregowo połączonych rejestrach przesuwnych przesuwa się o jedną pozycję w kierunku wyższego bitu rejestru DD4, a wartość ustawiona przez mikrokontroler na jego wejściu jest zapisywana do zwolnionego dolnego bitu rejestru DD3.

Po szesnastu takich operacjach cały kod jest zapisywany w szesnastobitowym rejestrze przesuwnym utworzonym przez mikroukłady DD3 i DD4. Jednak ten kod nie pojawił się jeszcze na wyjściach mikroukładów, ten, który został wyświetlony w poprzednim cyklu, nadal na nich działa. Aby zaktualizować stan wyjść, mikrokontroler tworzy rosnącą różnicę poziomów na swojej linii RB0 i wejściach do zapisu kodu z rejestrów przesuwnych mikroukładów DD3 i DD4 do ich rejestrów pamięci. Aby uzyskać więcej informacji na temat działania mikroukładu konwertera szeregowo-równoległego 74HC595, przeczytaj.

Po zapisaniu kodu do mikroukładów DD3 i DD4 mikrokontroler wydaje polecenie włączenia jednego z sześciu wskaźników dla katod elementów, dla których ten kod jest przeznaczony. Aby nie przeciążać wyjść mikrokontrolera, anody wskaźników są do nich podłączone za pomocą kluczy na tranzystorach VT1-VT6. Schemat tablicy wskaźników pokazano na ryc. 3, a legenda elementów wskaźnika PSA08-11SRW na rys. 4. Złącza ХР1 i ХР2 tablicy wskaźników są podłączone odpowiednio do złączy XS3 i XS2 płyty głównej.

Rysunki płyty głównej i rozmieszczenie na niej elementów pokazano na rys. 5. Z jednej strony wykonany jest z folii z włókna szklanego. Płytka przeznaczona jest do montażu czujnika temperatury BK1 w obudowie DIP8, ale czujnik LM75AD jest produkowany w obudowie SO8 do montażu natynkowego, dlatego należy go montować poprzez płytkę adaptera (rys.6). Na rys. 5, zarys adaptera jest pokazany linią przerywaną. W odpowiednich otworach adaptera i płytki segmenty drutu są wkładane i lutowane po obu stronach. Możesz oczywiście zmienić topologię drukowanych przewodów na płycie głównej i obejść się bez adaptera.

Dwustronną płytkę LED LED pokazano na rys. 7. Zwróć uwagę, że złącza na nim są zainstalowane po stronie przeciwnej do tej, po której znajdują się wskaźniki. Kiedy łączniki są sparowane, obie płytki są ustawione jedna nad drugą "stosem", jak widać na zdjęciu na rys. 8.
Tranzystory KT502B można zastąpić dowolnymi z tej samej serii. Zamiast diod LED AL307BM odpowiednie są również inne czerwone kolory jarzeniowe małej mocy, na przykład AL310A.
Prawidłowo zmontowane urządzenie z prawidłowo zaprogramowanym mikrokontrolerem nie wymaga regulacji i zaczyna działać natychmiast po włączeniu.

Po włączeniu zasilania pierwsza na wskaźnikach to wiadomość powitalna. Po nim następuje czas w formacie 12- lub 24-godzinnym, który można wybrać w odpowiedniej pozycji menu. Ponadto biegająca linia z aktualnym czasem zatrzymuje się na 10 sekund. Po ich upływie wyświetlana jest temperatura pokojowa (wskazania czujnika BK1), temperatura zewnętrzna (wskazania czujnika BK2) i utrzymywana jest kolejna dziesięciosekundowa przerwa, podczas której wskaźnik pokazuje temperaturę zewnętrzną. Następnie wyświetlana jest liczba, a następnie słownie miesiąc i dzień tygodnia, po czym cykl (z wyjątkiem powitania) jest powtarzany.

Aby ustawić aktualny czas i inne parametry, przejdź do trybu „Menu”, naciskając krótko przycisk SB3 „M”. Dioda HL2 zaświeci się, wskazując, że ten tryb jest włączony. Na wskaźniku po komunikacie „SETTING” wyświetla się i zatrzymuje się wiersz „HOUR XX”, gdzie XX to aktualna wartość godziny, którą można zwiększyć naciskając przycisk SB1 „+” lub zmniejszyć naciskając przycisk SB5 „-”.
Aby przejść do następnej pozycji menu, naciśnij przycisk SB2 „\u003e”. Z jego pomocą można „przewijać” menu w następującej kolejności, używając przycisku SB4 „<” – в противоположном. После первого нажатия на кнопку SB2 “>”Zostanie wyświetlony wiersz„ MIN XX ”, a następnie„ ROK 20XX ”(domyślnie 2011), a następnie„ MIESIĄC XX ”,„ NUMER XX ”,„ DZIEŃ TYGODNIA XX ”,„ WEEK_HOUR XX ”(godzina alarmu),„ BUD_MIN XX ” (minuty, kiedy włącza się alarm).

Następnie na wskaźniku pojawi się jedna z linii „BUD OFF” lub „BUD ON”, pokazując aktualny stan alarmu. Można go zmienić, naciskając przycisk SB1 „+” lub SB5 „-”. Gdy alarm jest włączony, dioda HL1 świeci, sygnalizując to.
Następnie wyświetla się wiersz „FORMAT XX”, gdzie XX to 12 lub 24, w zależności od formatu wyświetlania czasu wybranego przyciskiem SB1 „+” lub SB5 ”. Po ponownym naciśnięciu przycisku SB2 „\u003e” pojawia się wiersz „BYE”, dioda HL2 gaśnie, zegar przechodzi do normalnego trybu pracy.


Gdy aktualny czas zbiega się z ustawionym czasem alarmu, włącza się dioda HL3 i nadajnik dźwięku HA1. Aby wyłączyć alarmy świetlne i dźwiękowe, wystarczy nacisnąć dowolny przycisk. Sygnał elektryczny do sterowania zewnętrznym elementem wykonawczym w razie potrzeby można usunąć z wyjścia RB5 mikrokontrolera, do którego podłączona jest dioda LED HL3 poprzez rezystor R17.
Gdy zewnętrzne zasilanie jest wyłączone, urządzenie kontynuuje odliczanie czasu - mikroukład DD1 działa z ogniwa litowego G1.

Załączone pliki: source.zip

LITERATURA
1. DS1307 - Szeregowy zegar czasu rzeczywistego 64 X 8. - www.piclist.ru/D-DS-DSB1 „+” 307-RUS / D-DS-DS1307-RUS.html
2. LM75A Cyfrowy czujnik temperatury i czujnik termiczny. www.alldatasheet.com/datasheet-pdf/pdf/100962/PHILIPS/LM75AD.html
3. Dolgiy A. Programatory i programowanie mikrokontrolerów. - Radio, 2004, nr 1, s. 53.
4. Semyonov B. Yu. Magistrala I2C w projektach radiotechnicznych. - M .: „SOLON-R”, 2002.
5. 74HC595; 74NST595 8-bitowy rejestr przesuwny z wejściem szeregowym, szeregowym lub równoległym z zatrzaskami wyjściowymi; 3-stanowy. - www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

V. BALANDIN, s. Petrovskoe, region Tambov
„Radio” nr 9 2012

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu