Spisu treści:

LCD DATA/ZEGAR Zapomnij o RTC: 9 kroków
LCD DATA/ZEGAR Zapomnij o RTC: 9 kroków

Wideo: LCD DATA/ZEGAR Zapomnij o RTC: 9 kroków

Wideo: LCD DATA/ZEGAR Zapomnij o RTC: 9 kroków
Wideo: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Listopad
Anonim
LCD DATA/ZEGAR Zapomnij o RTC
LCD DATA/ZEGAR Zapomnij o RTC

Zegar logiki kwantowej NIST 2010 oparty na pojedynczym jonie aluminium.

W 2010 roku eksperyment umieścił dwa zegary kwantowe z jonami glinu blisko siebie, ale przy czym drugi był podniesiony o 30,5 cm w porównaniu z pierwszym, dzięki czemu efekt grawitacyjnej dylatacji czasu był widoczny w codziennej skali laboratoryjnej. W ten sposób upominając teorie grawitacji Einsteina. Zegary były odwrócone w pozycjach i pokazywały te same przesunięcia czasowe. Doktor habilitowany NIST James Chin-wen Chou z najdokładniejszym na świecie zegarem, opartym na wibracjach pojedynczego jonu aluminium (atom naładowany elektrycznie). Jon jest uwięziony w metalowym cylindrze (w środku po prawej). Mówi „odstęp o 1 sekundę w 3,7 miliarda lat” … poczekajmy i zobaczymy!

SUPER DUPER WOW.

Więc używając wibracji kwantowych, które są naprawdę szybkie, myślisz, że szybciej tym lepiej. Układ 328 w Unos jest dość szybki przy 16 MHz. To znacznie szybciej niż typowy kryształ zegara (zegarka), który ma częstotliwość 32,768 khz. To 500 razy szybciej! A 328 ma czujnik temperatury do kompensacji zegara.

Dlaczego więc 328 nie może wykonać taniego kryształu zegarka?

Krok 1: CZEGO SIĘ OCZEKIWAĆ?

CZEGO OCZEKIWAĆ
CZEGO OCZEKIWAĆ

To moja druga próba zrobienia zegara używając TYLKO układu 328. Każde 328 działa w różnym czasie, mimo że ma kryształ 16 MHz. Więc otrzymujesz słabe wyniki po prostu licząc millis(). Który działa z częstotliwością 1000 Hz. Daje to średnio JEDEN milis(1) z dokładnością do około 3,6 sekundy na godzinę. Arduino mills() nie liczy młynków frakcyjnych ani nie używa pływaków. Uniemożliwia to liczenie frakcji młyna. Następnym wyborem jest użycie Arduino micros(). Ale użycie micros() kończy się w zaledwie 71 minut. (to naprawdę NIE jest problem). Problemem jest dla mnie radzenie sobie z dużymi liczbami i dokonywanie wielokrotnych korekt w oparciu o zegar GPS. Innym wyborem jest przerwanie. To liczy sekundy bez względu na to, gdzie kod jest uruchomiony w pętli. To sprawia, że 328 jest równie dobry jak RTC. Nawet jeśli weźmiemy pod uwagę plamki 'micro()', przy +- 4 uS, to działa jak zegar 250 kHz. To 7 razy lepiej niż 32,768 kHz.

Oto mój zegar lcd Arduino oparty na 16-bitowym timerze. Jedno przerwania za pomocą mikrosekund. To nie jest tak dobre, jak liczenie jonów aluminium! Ale jest to łatwe i przy niektórych kalibracjach może być tak dobre, jak RTC. Zrobiłem 3 wersje tego zegara. Od podłączenia do komputera USB. Aby stać samotnie z 4 przyciskami. Na zewnątrz GPS z temperaturą za pomocą HC12. Ta instrukcja obejmie pierwsze 2 zegary i napiszę kolejny „dogłębnie” dla HC12.

Zobacz moje inne instrukcje dotyczące problemów z zakresem HC12.

To, czego możesz się spodziewać, to łatwy zegar / data na lcd za pomocą UNO i lcd 16x2. Zrobiłem kilka niestandardowych numerów na lcd. Biblioteka „WIELKIE liczby” zajmuje 3 spacje, moja tylko 1. 4 przyciski mają wewnętrzne podciąganie, dzięki czemu kompilacja jest łatwa. Mam do tego etui i 2 lcd i plecki.

Biblioteka publiczna w moim małym mieście ma drukarkę 3D, z której każdy może korzystać. Więc sprawdź bibliotekę w pobliżu, aby zrobić obudowę lcd.

Moje testy pokazują -+ sekunda co 24-48 godzin. To mniej więcej jedna minuta za dwa miesiące. Trzy lub cztery korekty ustawiają punkt zegara. Wyłącz tylko o około 12 sekund przed MIESIĄCEM. Powtarzające się próby „kalibrowania” szwów, by po prostu gonić za liczbami. Jedyną ZŁĄ funkcją jest użycie DOWOLNEGO „menu” resetuje sekundy do 00. To zmienia bieżący czas. Zostawiłem 60-sekundowy limit czasu na naciśnięcie przycisku, aby umożliwić synchronizację z innym zegarem.

Krok 2: NAKRĘTKI I ŚRUBY

NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY
NAKRĘTKI I ŚRUBY

Ten projekt to zegar STAND ALONE bez RTC tylko uno i lcd. 4 przyciski umożliwiają ustawienie czasu/daty oraz dostosowanie strefy czasowej i kalibrację.

Pliki drukarki 3d mają jedną i dwie obudowy lcd dla innych projektów.

Wyświetlacz LCD ma DUŻE LICZBY, które zajmują tylko JEDNĄ przestrzeń. Zajęło mi to trochę czasu

Etui posiada 8 otworów na guziki do innych projektów.

Wystarczy podłączyć brodawkę ścienną 5V do zasilania.

Sprawdź swoją lokalną BIBLIOTEKĘ, aby korzystać z drukarki 3d !!

Krok 3: O BUDOWIE

O BUDOWIE
O BUDOWIE
O BUDOWIE
O BUDOWIE
O BUDOWIE
O BUDOWIE

Powinna działać każda płyta Arduino z mikrosystemami MEGA 328. Potrzebuje kryształu 16mhz i musi działać z tą prędkością. 3,3 V przy 8 MHz może nie działać z taktowaniem przerwań. Do obudowy najlepiej pasuje pro-mini, ale można wcisnąć nano, ale kabel usb może być problemem. To jest bardzo popularny wyświetlacz LCD Hitachi 16x2. Niektóre tanie są nudne i po prostu słabe. Do podłączenia popularnego modułu konwertera I2c potrzebne jest złącze krawędziowe. Do podłączenia do uno potrzebne są tylko 4 przewody. Istnieje wiele samouczków, które pokazują, jak podłączyć lcd bez modułu konwertera, jeśli go nie chcesz. Zegar bez przycisku to wszystko, co robisz.

Wyświetlacz LCD ma niestandardowy znak DUŻY NUMER. Duże liczby zajmują tylko JEDNĄ szerokość.

Krok 4: 4 PRZYCISKI i CASE

4 PRZYCISKI I ETUI
4 PRZYCISKI I ETUI
4 PRZYCISKI I ETUI
4 PRZYCISKI I ETUI
4 PRZYCISKI I ETUI
4 PRZYCISKI I ETUI

To samo co powyżej, ale dodaj 4 przełączniki. Do obudowy służy standardowa płyta PC o wymiarach 2 cale x 2,5 cala. Wystarczy przeciąć na pół i zamontować przełączniki tak, aby nogi szły od lewej do prawej. Jeśli umieścisz przełączniki nogami do góry, otwory nie będą się pokrywać w obudowie. Sprawdź, czy pasują do otworów obudowy PRZED lutowaniem. Uziemić dolne nogi (wszystkie) i poprowadzić każdą górną nogę do kołka na uno. Zobacz załączony schemat. Jeśli drukujesz obudowę w 3D, część przycisku musi być przyklejona do obudowy lcd. NIE zatrzaskuje się tak jak tył. Wszelkie małe wkręty samogwintujące utrzymają wyświetlacz na miejscu. ZA duży, a złamiesz skrzynkę. Najlepszy może być gorący klej w sztyfcie. Przed zamontowaniem lcd… zaciemnij obszar led czarną taśmą. W przeciwnym razie będzie świecić przez obudowę. Do montażu pro mini używam 2-stronnej taśmy piankowej w 2 warstwach. Ta taśma to okazja w „sklepach z dolarami”. Używam drutu powlekanego magnesem o grubości 26 mm. Mam świetną instrukcję na temat „kiepskiego lutownicy” do używania tego drutu w połączeniach.

Krok 5: WYŚWIETLACZ LCD

WYŚWIETLACZ
WYŚWIETLACZ
WYŚWIETLACZ
WYŚWIETLACZ
WYŚWIETLACZ
WYŚWIETLACZ

problemy z lcd

Po zakończeniu kompilacji pobierz i zainstaluj szkic. Wyświetlacz LCD może nie podświetlać wyświetlacza. Oto kilka porad. Dioda LCD powinna się zapalić i sprawić, że ekran będzie niebieskawy. Jeśli nie ma diody, sprawdź styki zworki naprzeciwko potencjometru rezystora. Wymaga to zworki lub rezystora 150 omów. Niebieska doniczka jest zawsze problemem. Więc obróć garnek, aż wyświetlacz pokaże 2 rzędy kwadratów. Następnie wycofaj się, aż kwadraty ledwo znikną. Jeśli nadal nie ma wyświetlacza, sprawdź połączenia SDA i SCL. Zbyt łatwo je odwrócić. Czyli A4 do SDA i A5 do SCL. Są to szpilki A, a nie szpilki D, a niektóre pro minis mają te szpilki po wewnętrznej stronie komputera, a nie na krawędziach. Ostatnią opcją jest sprawdzenie adresu. Niektóre moduły konwerterów lcd mają różne adresy. Lub w przypadku korzystania z więcej niż jednego urządzenia wszystkie potrzebują różnych adresów. Większość modułów ma 3 piny lutownicze do ustawienia 3 różnych adresów. Pamiętaj, że I2c prowadzi tylko 2 przewody do dowolnych i WSZYSTKICH urządzeń. Dlatego każde urządzenie MUSI mieć unikalny adres. W zestawie skaner adresów I2c. Pobierz instalację skanera i odczytaj monitor szeregowy. Wyświetlacz pokazuje adres DOWOLNEGO urządzenia I2c. Zaznacz Szkic zegara dla linii na górze szkicu. „LiquidCrystal_I2C lcd (0x3F, 16, 2); ' 0x3F to poprawny adres mojego konwertera. Jeśli Twój adres jest inny, zmień go na właściwy ze skanera. Uwaga: skopiuj i wklej nowy adres czasami zawiera koniec wiersza lub powrót karetki. Po prostu wpisz inny adres. Pierwsze litery to zawsze zero i małe litery x 0x. To mówi C++, że jest to szesnastkowy. Po 0x dowolna litera jest wielką literą.

Krok 6: ZACZEPY

ZACZEPY
ZACZEPY
ZACZEPY
ZACZEPY
ZACZEPY
ZACZEPY

postępuj zgodnie ze schematem i podłącz urządzenie.

Krok 7: INNE ZDJĘCIA

INNE ZDJĘCIA
INNE ZDJĘCIA
INNE ZDJĘCIA
INNE ZDJĘCIA
INNE ZDJĘCIA
INNE ZDJĘCIA

powodzenia PROSZĘ zobaczyć moje inne instrukcje

Krok 8: SZKIC

instrukcje nie pozwolą mi pobrać pliku Arduino !!!! więc użyłem tekstu. Będziesz musiał skopiować i wkleić tekst do NOWEGO otwartego pliku arduino w IDE……. Przepraszam

a pliki tekstowe też się nie załadują !!! i próbowałem wkleić tutaj, ale pomieszałem to !!

wreszcie !!! mam mój szkic do pobrania tutaj. 3-26-2020 Naprawiono też kilka drobnych rzeczy.

Ludzie, którym płaci się za pisanie kodu, tarzają się po podłodze, gdy widzą mój kod. Moje szkice zwykle zaczynają się od prostych. Potem dodaję więcej rzeczy do zrobienia. Więc szkic zostaje poskręcany w bałagan. Mam nadzieję, że uczysz się na moich dwóch największych błędach. Na początku powinien być określony zarys i cel. Nie dodawaj ton rzeczy w całym szkicu. Moim największym błędem jest niewłaściwe użycie FUNKCJI. Powinna być krótka i zwracać sumę oraz być używana tylko wtedy, gdy zastępuje powtarzające się wiersze kodu w całym szkicu. Dobrym przykładem jest opóźnienie (100).

Używam FUNKCJI, aby oddzielić sekcje szkicu. Dzięki temu główny korpus jest łatwy do naśladowania, a także umożliwia debugowanie oddzielnych sekcji po prostu przez wywołanie funkcji. Myślę, że GOTO kiedyś to robiło, ale wypadło to z łask i NIGDY się nie przyzwyczaja. powiedział Nuff. Sprawdziłem daty i godziny najlepiej jak potrafię. Te same części szkicu biegną od lat na moich zegarach „CZAS KWADRAT”. Jeśli coś przegapiłem lub jest błąd, daj mi znać. Aby skalibrować „bez szkicowania przycisków” linię z „długi tSec bez znaku = 1000122; ' (wiersz 34) jest tym, co zmieniasz. Stała 277 na sekundę na godzinę jest poprawna. Ale w praktyce dokonuję tylko od 2 do 8 zmian wartości 'tSec'. W 1000122 wiele moich zegarów działało tak dobrze, jak RTC. Bądź cierpliwy, mała zmiana tylko 2-8 może stać się idealnym zegarem. Dolna strona wszelkich zmian dla obu zegarów oznacza, że aktualny czas ZOSTANIE zmieniony. Będziesz musiał zmienić na poprawny aktualny czas/datę.

//// easy_one_lcd_clock_no_buttons // // zegar arduino i lcd // użyj timeraJeden 16-bitowy timer // aby skalibrować ten zegar: // użyj zegara z dobrą sekundą, takiego jak GPS. // użyj godzin jako linii bazowej. Policz sekundy // TO jest wyłączone. Jeśli TO jest za GPS // GPS=00.. THIS=58 ODEJMIJ 277 za każdą // sekundę/godzinę. Więc jeśli wolniej o 2 sekundy w // 3 godziny… (277 * 2)/3 = 184 // ODEJMIJ od tSec. // jeśli THIS jest wyprzedzone GPS=00…THIS=03 // ta sama matematyka po prostu DODAJ do tSec. // uwaga, większość zegarów wskazuje godzinę 00. // 20 sekund to lepsze sprawdzenie licznika.

Krok 9: Pliki STL CASE

Oto pliki przypadków drukarki 3d. Klawiaturę należy przykleić do obudowy lcd. Tył zatrzaskuje się zarówno na przodzie obudowy z jednym, jak i dwoma lcd. Najpierw załóż górę, a następnie zejdź w dół, aby uzyskać dobre dopasowanie.

SPRAWDŹ lokalną BIBLIOTEKĘ do korzystania z drukarki 3D.

Zalecana: