Spisu treści:
- Krok 1: Wymagania
- Krok 2: Instalacja oprogramowania
- Krok 3: Instalacja oprogramowania - Pt.2
- Krok 4: Okablowanie sprzętowe
- Krok 5: Piny GPIO na Raspi
- Krok 6: Testowanie
- Krok 7: Rozwiązywanie problemów
- Krok 8: Instalacja końcowa
Wideo: Cyfrowy zegar radiowy Raspberry Pi: 8 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Przegląd
Radiooperatorzy amatorscy (inaczej HAM Radio) używają 24-godzinnego czasu UTC (Universal Coordinated Time) przez większość swojej działalności. Zdecydowałem się zbudować zegar cyfrowy, korzystając z niedrogich 4-cyfrowych wyświetlaczy TM1637 i Raspberry Pi Zero W zamiast zegara GUI. (Sprzęt jest fajny!)
Wyświetlacz sterowany za pomocą TM1637 ma cztery 7-segmentowe diody LED ze środkowym dwukropkiem „:” między dwoma zestawami cyfr. Wymaga dwóch przewodów do zasilania wyświetlacza plus 5 V + i uziemienia, co daje łącznie 4 przewody.
W przypadku tego konkretnego projektu chciałem, aby Raspi pobierał swój czas z serwerów NTP (Network Time Protocol) przez Internet. Planuję kolejną wersję tego zegara, która będzie działać na Arduino Uno i module zegara czasu rzeczywistego, gdy nie ma dostępnego WiFi i dla bardziej przenośnej pracy.
Chciałem również, aby zegar pokazywał czas lokalny w formatach 12h i 24h oraz UTC w formatach 12h i 24h. Oprogramowanie zostało zaprojektowane tak, aby umożliwić korzystanie tylko z czasu UTC 24h (typowe szynki) lub różnych czasów na maksymalnie 4 różnych wyświetlaczach.
Możesz także ustawić STREFĘ CZASOWĄ, której chcesz używać zamiast domyślnego czasu lokalnego. Tak więc każdy z czterech wyświetlaczy może pokazywać inną strefę czasową w formacie 12 lub 24 godzinnym.
Ten projekt wymaga lutowania złączy lub przewodów do modułów Pi i/lub tm1637.
Pełne instrukcje są również dostępne na GITHUB:
Krok 1: Wymagania
• Raspberry Pi2, 3 lub Zero W. (tj. dowolne pi z 40-pinowym nagłówkiem i Ethernet/Wifi)
• 4 - TM1637 4-cyfrowe moduły wyświetlacza
I/lub
UWAGA: możesz używać większych lub mniejszych, o ile są kompatybilne z TM1637.
• Wiązka przewodów z 16 przewodami (każdy TM1637 wymaga 4 przewodów)
• Płytka do krojenia chleba bez lutowania i przewody Lub
• Płytka do lutowania i różne złącza szpilkowe.
• 8 GB MicroSD lub więcej dla Pi
• Zasilanie 5V dla Pi.
Krok 2: Instalacja oprogramowania
Ta aplikacja wykorzystuje łatwą w użyciu bibliotekę Pythona TM1637.py napisaną przez Tima Waizeneggera. (Jeśli chcesz uzyskać szczegółowe informacje na temat biblioteki, sprawdź:
Czy wiedziałeś?
Jeśli zainstalujesz Raspbian na karcie SD za pomocą komputera PC, możesz utworzyć dwa pliki na karcie, aby skonfigurować dostęp Wi-Fi i SSH przed uruchomieniem go na Raspberry?
W tym celu załóżmy, że twoja karta SD jest obecnie zamontowana jako K: na twoim komputerze:
1) Zainstaluj obraz Raspbian Lite na karcie SD.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Za pomocą notatnika utwórz plik o nazwie „ssh” i użyj Zapisz jako „Wszystkie pliki” do K: / ssh
Plik może zawierać wszystko. Ważna jest nazwa pliku. NIE MOŻE być „ssh.txt”!!!
3) Za pomocą notatnika utwórz drugi plik o nazwie „wpa_supplicant.conf” z następującymi danymi:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1 network={ ssid="mySSID" psk="mypassword" key_mgmt=WPA-PSK }
Użyj opcji Zapisz jako „Wszystkie pliki” do K:\wpa_supplicant.conf
Ponownie, nie pozwól Notatnikowi zmienić go na „wpa_supplicant.conf.txt”!!
Kiedy uruchamiasz Raspberry po raz pierwszy, Raspbian poszuka ich i połączy się z Wifi. Musisz jednak poszukać adresu IP na routerze, ponieważ jest on automatycznie przypisywany.
Krok 3: Instalacja oprogramowania - Pt.2
1. Jeśli jeszcze tego nie zrobiłeś, zainstaluj wersję Raspbian Lite na karcie microSD o pojemności 8 GB lub większej. NIE potrzebujesz wersji GUI, ponieważ ten projekt nie używa monitora ani klawiatury.
UWAGA!: Ten projekt wymaga Python2.7!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Będziesz musiał uzyskać zdalny dostęp do Raspberry przez SSH. W systemie Windows możesz użyć programu terminalowego PUTTY SSH. Na Macu po prostu otwórz okno terminala poleceń.
3. Włóż kartę microSD do Pi i podłącz teraz zasilanie. Uruchomienie zajmie kilka minut.
4. Aby zdalnie zalogować się do Raspberry Pi, musisz znaleźć jego adres IP. Możesz spróbować: $ ssh [email protected] (Lub z Putty wpisz nazwę hosta [email protected] W przeciwnym razie musisz sprawdzić, czy router pokaże adresy IP Twoich urządzeń lokalnych. Domyślnym identyfikatorem/hasłem jest „pi /Malina"
Po zalogowaniu się jako użytkownik pi:
5. Zaktualizuj Raspbian: $ sudo apt update $ sudo apt upgrade
6. Skonfiguruj Raspberry: $ sudo raspi-config Zmień hasło użytkownika Opcje lokalizacji -> Zmień strefę czasową Wybierz lokalną strefę czasową. Tab, aby zakończyć
7. Zainstaluj oprogramowanie RaspiDigiHamClock: $ cd /home/pi $ sudo apt update $ sudo apt install git $ git clone
8. Wyłącz teraz swoje Pi, aby skonfigurować wyłączenie sprzętu $ Po zgaśnięciu diody odłącz zasilanie
Krok 4: Okablowanie sprzętowe
Możesz wlutować złącza do modułów TM1637 i Raspberry Pi (jeśli nie ma jeszcze złącza). Przed rozpoczęciem zdecyduj, jak chcesz zamontować wyświetlacze i czy zamierzasz użyć płytki stykowej lub przewodów lutowniczych bezpośrednio na modułach Pi i wyświetlaczach.
Piny modułu TM1637
Uwaga dotycząca okablowania: Niektóre moduły tm1637 odwracają piny +5V i GND! Więc może nie wyglądać tak samo jak na zdjęciach.
Moduł TM1637 to 4-cyfrowy moduł wyświetlacza led, który wykorzystuje układ sterownika TM1637. Do sterowania 4-cyfrowym 8-segmentowym wyświetlaczem potrzebne są tylko dwa połączenia. Dwa inne przewody zasilają napięcie 5+ V i uziemienie.
PIN DESC CLK Zegar DIO Dane w GND Uziemienie 5 V + 5 woltów
Niektóre moduły tm1637 odwracają piny + 5 V i GND, więc sprawdź oznaczenia modułu
Przetestuj każdy moduł Proponuję zacząć od pojedynczego 4-żyłowego kabla żeńskiego ze złączami męskimi przylutowanymi do jednego z modułów i Pi. Następnie tymczasowo podłącz pierwszy moduł do pinów pokazanych poniżej.
TEST TYMCZASOWY A MODULETM1637 Pin modułu Pi Fizyczny Pin# 5V 2 GND 6 CLK 40 DIO 38 Zobacz schematy GPIO niżej, aby znaleźć układ pinów.
Drugie zdjęcie pokazuje dwa wyświetlacze tymczasowo podłączone do Raspberry Pi 3 z uruchomionym oprogramowaniem.
1. Po tymczasowym podłączeniu modułu i sprawdzeniu okablowania
2. Włącz Raspberry Pi. Czerwona dioda LED na Module powinna się zaświecić, ale jeszcze NIE BĘDZIE WYŚWIETLACZ.
3. SSH do swojego Pi ponownie, tak jak poprzednio.
$ cd RaspiDigiHamZegar
$ python test.py
Powinieneś zobaczyć cykl wyświetlania różnych krótkich wiadomości. Jeśli tego nie zrobisz, najpierw sprawdź ponownie okablowanie! Łatwo jest odwrócić przewód lub podłączyć do niewłaściwego pinu GPIO w Pi. Jeśli otrzymasz komunikat o błędzie Pythona, zweryfikuj swoją wersję Pythona za pomocą:
$ python -V (duże „V”)
Python 2.7. X
Nie testowałem z Pythonem 3, więc nie jestem pewien, czy biblioteka jest kompatybilna.
Skopiuj komunikat o błędzie (zwykle ostatni wiersz błędu) i wklej do wyszukiwarki Google. Może to dać wskazówkę, co się stało.
Jeśli Twój moduł działa, Gratulacje! Wiesz, że moduł i Pi działają. Teraz powtórz dla każdego modułu, aby go przetestować. (Proponuję wyłączyć Pi i wyłączyć zasilanie PRZED podłączeniem/odłączeniem modułów!!)
$ wyłącz sudo teraz
Krok 5: Piny GPIO na Raspi
Ten projekt używa fizycznych identyfikatorów GPIO BOARD dla pinów.
To jest Pin 1 do Pin 40. Nie numeracja pinów GPIO „BCM”. (Tak, trochę mylące, ale BOARD to tylko liczba pinów od lewego górnego rogu do prawego dolnego).
Moduł wyświetlacza TM1637 Pin modułu Pi Fizyczny pin#Zasilanie 5V 2 Uziemienie GND 6
Moduł #1 CLK 33
DIO 31
Moduł #2 CLK 36
DIO 32
Moduł #3 CLK 37
DIO 35
Moduł #4 CLK 40
DIO 38
Uwaga: W razie potrzeby nie musisz dodawać wszystkich 4 modułów. Możesz mieć od 1 do 4 modułów. (Tak, można przejść do większej liczby modułów, ale musisz zmienić kod, aby obsługiwać więcej.)
ALE, MUSISZ podłączać moduły sekwencyjnie, zaczynając od Modułu #1
Dzieje się tak, ponieważ biblioteka TM1637 oczekuje ACK z modułu, więc wydaje się, że w przeciwnym razie zawiesza się w oczekiwaniu.
Przykładowe zdjęcia lutowanej płyty prototypowej Musisz postępować zgodnie z własnym schematem okablowania, aby pasowały do pokazanych wcześniej pinów GPIO, ponieważ złącza i moduły, których użyłem, mogą nie pasować do twoich.
Krok 6: Testowanie
Wow, to było trochę okablowania! Teraz czas na testy dymu…
Skoro znasz już poszczególne moduły i pracę Pi (testowałeś moduły jak opisano wcześniej?), to następnym krokiem jest skonfigurowanie pliku. INI i uruchomienie programu zegarowego:
1. Edytuj raspiclock.ini
$ cd /home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Zmień num_modules na ile masz podłączonych. Jest to ważne, ponieważ biblioteka zawiesza się czekając na ACK, jeśli nie może komunikować się z modułem. Pamiętaj, aby podać liczbę modułów, W KOLEJNOŚCI POKAZANEJ w. INI Uwaga: Dodatkowe piny TZ i HR i GPIO są ignorowane, jeśli liczba_modułów jest mniejsza niż 4.
3. Dodaj strefy czasowe dla każdego modułu.
To są nazwy Linux TZ, takie jak „America/New_York”, EST5EDT, UTC lub „Local” dla lokalnej strefy czasowej ustawionej za pomocą raspi-config. Wartość domyślna to UTC
4. Ustaw, czy dla każdego modułu ma być wyświetlany tryb 12h czy 24h
[ZEGAR]; Liczba modułów TM1637 (od 1 do 4) num_modules = 2
; Strefy czasowe dla każdego modułu
; Użyj raspi-config, aby ustawić lokalną strefę czasową; Wartość domyślna to UTC; Format to nazwy Linux TZ lub 'Local' dla czasu lokalnego; „Ameryka/Nowy_Jork”, EST5EDT, UTC, „Lokalny” TZ1 = Lokalny TZ2 = UTC TZ3 = TZ4 =
; 12/24 godziny dla każdego modułu
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; JASNOŚĆ (zakres 1..7)
LUM = 1
5. Nie powinieneś edytować pinów GPIO, chyba że podłączysz je do różnych pinów # na Pi.
6. Zapisz zmiany, a następnie uruchom zegar:
$ python raspiclock.py
Jeśli wszystko jest w porządku, wszystkie moduły wyświetlania powinny zaświecić się z czasami ustawionymi w pliku. INI.
Gratulacje! Pomiń rozwiązywanie problemów i przejdź do instalacji końcowej…
Krok 7: Rozwiązywanie problemów
Powinieneś zobaczyć kilka prostych komunikatów debugowania:
Inicjalizacja…Liczba modułów = 4 Rozpoczęcie pętli zegara… Moduł#1 displayTM() Moduł#2 displayTM() Moduł#3 displayTM() Moduł#4 displayTM() (powtarzane…)
Jeśli wcześniej testowałeś moduły i wszystkie działały, to wiesz, że moduły i Raspberry są dobre.
A) ZAWIESZ – Jeśli komunikaty debugowania zawieszają się w jednym miejscu, program czeka na potwierdzenie z tego modułu #.
Najpierw sprawdź okablowanie! Łatwo jest odwrócić przewód lub podłączyć do niewłaściwego pinu GPIO w Pi.
Po drugie, zamień moduły, aby sprawdzić, czy moduł nagle się zepsuł.
Po trzecie, sprawdź plik raspiclock.ini pod kątem błędów. Jeśli to konieczne, usuń cały katalog i wykonaj kolejny GIT CLONE, aby ponownie pobrać.
Po czwarte, ponownie sprawdź okablowanie!;-)
B) Jeśli otrzymasz komunikat o błędzie Pythona, zweryfikuj swoją wersję Pythona za pomocą:
$ python -V (duże „V”)
Python 2.7. X
Nie testowałem z Pythonem 3, więc nie jestem pewien, czy biblioteka jest kompatybilna. Skopiuj komunikat o błędzie (zwykle ostatni wiersz błędu) i wklej do wyszukiwarki Google. Może to dać wskazówkę, co się stało.
Krok 8: Instalacja końcowa
1. Edytuj ponownie plik. INI i ustaw debug = 0.$ cd /home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Sprawdź również, czy strefy czasowe TZ i HR 12/24 godziny są takie, jak chcesz.
3. Ustaw Jasność według potrzeb w zakresie od 1 do 7.
4. Uruchom skrypt install.sh, aby dodać do crontab pi w celu automatycznego uruchamiania podczas rozruchu.
$ sh install.sh
5. Uruchom ponownie
$ sudo restart
6. Powinien się zrestartować, a następnie uruchomić.
SKOŃCZONE!
Zalecana:
Jak zrobić zegar analogowy i zegar cyfrowy z paskiem LED za pomocą Arduino: 3 kroki
Jak zrobić zegar analogowy i zegar cyfrowy z paskiem LED za pomocą Arduino: Dzisiaj zrobimy zegar analogowy i amp; Zegar cyfrowy z paskiem Led i modułem MAX7219 Dot z Arduino. Koryguje czas z lokalną strefą czasową. Zegar analogowy może wykorzystywać dłuższą taśmę LED, dzięki czemu można go zawiesić na ścianie, aby stać się grafiką
Zegar cyfrowy, ale bez mikrokontrolera [Hardcore Electronics]: 13 kroków (ze zdjęciami)
Zegar cyfrowy, ale bez mikrokontrolera [Hardcore Electronics]: Łatwo jest budować obwody z mikrokontrolerem, ale całkowicie zapominamy o mnóstwie pracy, jaką musiał wykonać mikrokontroler, aby wykonać proste zadanie (nawet za miganie diody). Jak więc trudno byłoby stworzyć kompletny zegar cyfrowy
CLEPCIDRE: cyfrowy zegar butelek z cydrem: 8 kroków (ze zdjęciami)
CLEPCIDRE: cyfrowy zegar do butelek z cydrem: Zanim zagłębię się w opis obiektu, muszę wyjaśnić kontekst, w jakim został on zaprojektowany i zbudowany. Moja żona jest artystką i pracuje głównie z gliną, jako ceramika, ale także z innymi materiałami, takimi jak drewno, łupek czy szkło. W większości z niej
ESP8266 Zegar sieciowy bez zegara RTC - Nodemcu NTP Zegar bez RTC - PROJEKT ZEGAR INTERNETOWY: 4 kroki
ESP8266 Zegar sieciowy bez zegara RTC | Nodemcu NTP Zegar bez RTC | PROJEKT ZEGARA INTERNETOWEGO: W projekcie będzie wykonywany projekt zegara bez RTC, będzie pobierał czas z internetu za pomocą wifi i wyświetli go na wyświetlaczu st7735
Przeprojektowany zegar radiowy: 6 kroków
Przeprojektowany zegar radiowy: Ta instrukcja pokaże, jak przeprojektować uszkodzony zegar radiowy, którego wyświetlacz LED został zastąpiony małym organem świetlnym LED, dzięki czemu urządzenie jest bardziej atrakcyjne do użytku tylko jako radio