İçindekiler:
- Adım 1: Gereksinimler
- 2. Adım: Yazılım Kurulumu
- Adım 3: Yazılım Kurulumu - Pt.2
- Adım 4: Donanım Kablolaması
- Adım 5: Raspi'de GPIO Pinleri
- Adım 6: Test Etme
- 7. Adım: Sorun Giderme
- Adım 8: Son Kurulum
Video: Raspberry Pi Amatör Radyo Dijital Saat: 8 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
genel bakış
Amatör Telsiz Operatörleri (aka HAM Radyo), operasyonlarının çoğu için 24 saatlik UTC'yi (Evrensel Koordineli Zaman) kullanır. Yalnızca bir GUI saati yerine düşük maliyetli TM1637 4 haneli ekranları ve bir Raspberry Pi Zero W kullanarak bir dijital saat oluşturmaya karar verdim. (Donanım eğlencelidir!)
TM1637 ile çalıştırılan ekranda, iki basamak grubu arasında orta nokta iki nokta üst üste “:” bulunan dört adet 7 segmentli led bulunur. Ekranı sürmek için iki kablo artı toplam 4 kablo için 5V + ve Toprak gerektirir.
Bu özel proje için Raspi'nin zamanını İnternet üzerinden NTP (Ağ Zaman Protokolü) sunucularından almasını istedim. Bu saatin başka bir versiyonunu Arduino Uno ve Gerçek Zamanlı Saat modülünde, WiFi olmadığında ve daha taşınabilir çalışma için çalıştırmayı planlıyorum.
Ayrıca saatin Yerel Saati 12 saat ve 24 saat biçiminde ve UTC'yi de 12 saat ve 24 saat biçiminde göstermesini istedim. Yazılım, yalnızca UTC 24 saat (tipik jambonlar) veya 4 adede kadar farklı ekranda farklı zamanlar kullanmanıza izin verecek şekilde tasarlanmıştır.
Varsayılan Yerel saat yerine kullanmak istediğiniz SAAT DİLİMİ'ni de ayarlayabilirsiniz. Böylece dört ekranın her biri farklı bir saat dilimini ve 12 saat veya 24 saat formatında gösterebilir.
Bu proje, Pi ve/veya tm1637 modülleri üzerine lehimleme konektörleri veya telleri gerektirir.
Tüm talimatlar GITHUB'da da mevcuttur:
Adım 1: Gereksinimler
• Raspberry Pi2, 3 veya Zero W. (yani 40 pinli başlık ve Ethernet/Wifi ile herhangi bir pi)
• 4 - TM1637 4 haneli Ekran modülleri
Ve/veya
NOT: TM1637 uyumlu oldukları sürece daha büyük veya daha küçük olanları kullanabilirsiniz.
• 16 telli kablo demeti (her TM1637'nin 4 kabloya ihtiyacı vardır)
• Lehimsiz Breadboard ve teller Veya
• Lehimlenebilir Breadboard ve çeşitli pin konektörleri.
• Pi için 8 GB MicroSD veya daha büyük
• Pi için 5v güç kaynağı.
2. Adım: Yazılım Kurulumu
Bu uygulama, Tim Waizenegger tarafından yazılmış, kullanımı kolay TM1637.py python kitaplığını kullanır. (Kütüphane ile ilgili detaylı bilgi almak isterseniz:
Biliyor musun?
Raspbian'ı bir PC kullanarak bir SD karta kurarsanız, bir Raspberry'de başlatmadan önce WiFi ve SSH erişimini yapılandırmak için kartta iki dosya oluşturabilirsiniz.
Bunun için SD kartınızın şu anda PC'nizde K: olarak takılı olduğunu varsayın:
1) Raspbian Lite görüntüsünü SD'ye yükleyin.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Not defteri ile sadece "ssh" adında bir dosya oluşturun ve Save As "All files" to K:\ssh'yi kullanın.
Dosya her şeyi içerebilir. Önemli olan dosya adıdır. “ssh.txt” OLMAMALIDIR!!!
3) Not defteri ile aşağıdakileri içeren “wpa_supplicant.conf” adlı ikinci bir dosya oluşturun:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1 ağ={ ssid="mySSID" psk="parolam" key_mgmt=WPA-PSK }
K:\wpa_supplicant.conf dosyasına “Tüm dosyalar”ı Farklı Kaydet'i kullanın
Yine Notepad'in onu “wpa_supplicant.conf.txt” olarak değiştirmesine izin vermeyin!!
Raspberry'yi ilk kez başlattığınızda, Raspbian bunları arayacak ve Wifi'nize bağlanacaktır. Otomatik olarak atandığından, IP adresi için Yönlendiricinize bakmanız gerekecektir.
Adım 3: Yazılım Kurulumu - Pt.2
1. Henüz yapmadıysanız, Raspbian Lite sürümünü 8 GB veya daha büyük bir microSD karta yükleyin. Bu proje bir monitör veya klavye kullanmadığından GUI sürümüne ihtiyacınız YOKTUR.
NOT!: Bu proje Python2.7 gerektirir!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Raspberry'ye SSH üzerinden uzaktan erişmeniz gerekecek. Windows'ta PUTTY SSH terminal programını kullanabilirsiniz. Mac'te, sadece bir komut terminali penceresi açın.
3. MicroSD kartı Pi'ye takın ve gücü şimdi takın. Önyükleme birkaç dakika sürecektir.
4. Raspberry Pi'nize uzaktan giriş yapmak için IP adresini bulmanız gerekecektir. Şunu deneyebilirsiniz: $ ssh [email protected] (Veya Putty'den hostname [email protected] girin Aksi takdirde, Router'ınızın yerel cihazlarınızın IP adreslerini gösterip göstermeyeceğini görmeniz gerekecektir. Varsayılan id/passwd “pi”dir. /Ahududu"
Pi kullanıcısı olarak giriş yaptıktan sonra:
5. Raspbian'ınızı güncelleyin: $ sudo apt update $ sudo apt upgrade
6. Raspberry'yi yapılandırın: $ sudo raspi-config a. Kullanıcı Parolasını Değiştir b. Yerelleştirme Seçenekleri -> Saat Dilimi Değiştir Yerel Saat Dilimi'nizi seçin c. Bitirmek için Sekme
7. RaspiDigiHamClock yazılımını kurun: $ cd /home/pi $ sudo apt update $ sudo apt install git $ git clone
8. Donanımı ayarlamak için Pi'nizi kapatın $ kapatma şimdi LED söndükten sonra gücü çıkarın
Adım 4: Donanım Kablolaması
Konektörleri TM1637 modüllerine ve Raspberry Pi'ye (zaten bir konektörü yoksa) lehimleyebilirsiniz. Başlamadan önce, ekranları nasıl monte etmek istediğinize ve doğrudan Pi ve ekran modüllerine bir devre tahtası mı yoksa lehim telleri mi kullanacağınıza karar verin.
TM1637 Modül Pinleri
Kablolama Notu: Bazı tm1637 modülleri +5v ve GND pinlerini çevirir! Yani fotoğraflarla aynı görünmeyebilir.
TM1637 modülü, TM1637 sürücü çipini kullanan 4 basamaklı bir led ekran modülüdür. 4 haneli 8 segmentli ekranı kontrol etmek için sadece iki bağlantıya ihtiyaç duyar. Diğer iki kablo 5+ volt güç ve toprak besler.
PIN DESC CLK Saat DIO Verileri GND Topraklamasında 5V +5 volt
Bazı tm1637 modülleri +5v ve GND pinlerini çevirir, bu nedenle modülünüzün işaretlerini kontrol edin
Her Modülü Test EdinI, modüllerden birine ve Pi'ye lehimlenmiş erkek konektörlü tek 4 telli dişi konektör kablosuyla başlamanızı öneririm. Ardından ilk modülü geçici olarak aşağıda gösterilen pinlere bağlayın.
GEÇİCİ TEST A MODULETM1637 Modül Pim Pi Fiziksel Pim# 5V 2 GND 6 CLK 40 DIO 38 Pim yerleşimlerini bulmak için GPIO Şemalarına bakın.
İkinci fotoğraf, yazılım çalışırken bir Raspberry Pi 3'e geçici olarak bağlanmış iki ekranı göstermektedir.
1. Bir modülü geçici olarak bağladıktan ve kablolamanızı kontrol ettikten sonra
2. Raspberry Pi'yi çalıştırın. Modül üzerindeki kırmızı LED yanmalıdır, ancak henüz GÖRÜNTÜ YOKTUR.
3. Daha önce olduğu gibi tekrar Pi'nize SSH.
$ cd RaspiDigiHamClock
$ piton testi.py
Çeşitli kısa mesajlar aracılığıyla görüntüleme döngüsünü görmelisiniz. Bunu yapmazsanız, önce kablolamanızı tekrar kontrol edin! Pi üzerindeki bir kabloyu çevirmek veya yanlış GPIO Pinine takmak kolaydır. Bir Python hata mesajı alırsanız, aşağıdakileri kullanarak Python sürümünüzü doğrulayın:
$ python -V (büyük harf “V”)
Python 2.7. X
Python 3'e karşı test etmedim, bu yüzden kütüphanenin uyumlu olup olmadığından emin değilim.
Hata mesajını (genellikle hatanın son satırı) kopyalayın ve Google aramaya yapıştırın. Bu, neler olduğuna dair bir ipucu verebilir.
Modülünüz çalışıyorsa, Tebrikler! Modülün ve Pi'nin çalıştığını biliyorsunuz. Şimdi test etmek için her modül için tekrarlayın. (Modülleri takıp/çıkarmadan ÖNCE Pi'yi kapatmanızı ve gücü kapatmanızı öneririm!!)
$ sudo şimdi kapatma
Adım 5: Raspi'de GPIO Pinleri
Bu proje, Pinler için GPIO fiziksel BOARD kimliklerini kullanır.
Bu, Pin 1 ila Pin 40'tır. “BCM” GPIO pin numaralandırması değil. (Evet, biraz kafa karıştırıcı, ancak BOARD yalnızca sol üstten sağ alta kadar olan pin sayısıdır.)
Ekran Modülü TM1637 Modül Pim Pi Fiziksel Pim#Güç 5V 2 Toprak GND 6
Modül #1 CLK 33
DIO 31
Modül #2 CLK 36
DIO 32
Modül #3 CLK 37
DIO 35
Modül #4 CLK 40
38
Not: İsterseniz 4 modülü de eklemeniz gerekmez. 1 ile 4 arasında modüle sahip olabilirsiniz. (Evet, daha fazla modüle gitmek mümkündür, ancak daha fazlasını desteklemek için kodu değiştirmeniz gerekir.)
AMA, Modül 1'den başlayarak modülleri sırayla TAKMALISINIZ
Bunun nedeni, TM1637 kitaplığının modülden bir ACK beklemesi ve aksi halde beklemede kalıyormuş gibi görünmesidir.
Lehimli Breadboard'un örnek fotoğrafları Daha önce gösterilen GPIO pinlerini eşleştirmek için kendi kablo düzeninizi izlemeniz gerekiyor, çünkü kullandığım konektörler ve modüller sizinkiyle eşleşmeyebilir.
Adım 6: Test Etme
Vay, bu biraz kablolama oldu! Şimdi duman testi zamanı…
Bireysel modülleri ve Pi'nin çalışmasını zaten bildiğiniz için (modülleri daha önce açıklandığı gibi test ettiniz mi?), sonraki adım. INI dosyasını kurmak ve saat programını çalıştırmaktır:
1. Raspiclock.ini dosyasını düzenleyin
$ cd /home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. num_modules'ı kaç tane kablo bağladığınızla değiştirin. Bu önemlidir, çünkü kitaplık bir modülle konuşamıyorsa bir ACK'yi beklerken askıda kalacaktır. Modül sayısını. INI'de GÖSTERİLEN SİPARİŞTE bağladığınızdan emin olun Not: Num_modules 4'ten küçükse Ekstra TZ ve HR ve GPIO PIN'leri yoksayılır.
3. Her modül için Saat Dilimleri ekleyin.
Bu, raspi-config aracılığıyla ayarlanan yerel saat diliminiz için 'America/New_York', EST5EDT, UTC veya 'Local' gibi Linux TZ Adlarıdır. Varsayılan UTC'dir
4. Her modül için 12 saat veya 24 saat modunun görüntülenip görüntülenmeyeceğini ayarlayın
[SAAT]; TM1637 Modül Sayısı (1 ile 4 arasında) num_modules = 2
; Her Modül için Zaman Dilimleri
; Yerel saat dilimini ayarlamak için raspi-config kullanın; Varsayılan UTC'dir; Biçim, yerel saat için Linux TZ adları veya 'Yerel'dir; 'Amerika/New_York', EST5EDT, UTC, 'Yerel' TZ1 = Yerel TZ2 = UTC TZ3 = TZ4 =
; Her Modül için 12/24 Saat
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; PARLAKLIK (aralık 1..7)
LUM = 1
5. Pi üzerindeki farklı pin # lere takmadıkça GPIO pinlerini düzenlemeniz gerekmemelidir.
6. Değişiklikleri kaydedin ve ardından saati çalıştırın:
$ python raspiclock.py
Her şey yolundaysa, tüm ekran modülleriniz. INI dosyasında ayarlanan sürelerle yanacaktır.
Tebrikler! Sorun gidermeyi atlayın ve Son Kuruluma gidin…
7. Adım: Sorun Giderme
Bazı basit hata ayıklama mesajlarının göründüğünü görmelisiniz:
Başlatılıyor…Modül sayısı = 4 Saat döngüsü başlatılıyor… Module#1 displayTM() Module#2 displayTM() Module#3 displayTM() Module#4 displayTM() (yineleniyor…)
Modülleri daha önce test ettiyseniz ve hepsi çalıştıysa, modüllerin ve Raspberry'nin iyi olduğunu bilirsiniz.
A) HANG – Hata ayıklama mesajları bir noktada askıda görünüyorsa, program o modülden bir ACK bekliyor demektir#.
İlk önce kablolamanızı kontrol edin! Pi üzerindeki bir kabloyu çevirmek veya yanlış GPIO Pinine takmak kolaydır.
İkincisi, bir modülün aniden bozulup bozulmadığını görmek için modülleri değiştirin.
Üçüncü olarak, raspiclock.ini dosyasında hatalar olup olmadığını kontrol edin. Gerekirse, tüm dizini silin ve tekrar almak için başka bir GIT CLONE yapın.
Dördüncüsü, kablolamanızı tekrar kontrol edin!;-)
B) Bir Python hata mesajı alırsanız, aşağıdakileri kullanarak Python sürümünüzü doğrulayın:
$ python -V (büyük harf “V”)
Python 2.7. X
Python 3'e karşı test etmedim, bu yüzden kütüphanenin uyumlu olup olmadığından emin değilim. Hata mesajını (genellikle hatanın son satırı) kopyalayın ve Google aramasına yapıştırın. Bu, neler olduğuna dair bir ipucu verebilir.
Adım 8: Son Kurulum
1.. INI dosyasını yeniden düzenleyin ve hata ayıklamayı = 0.$ cd /home/pi/RaspiDigiHamClock olarak ayarlayın
$ nano raspiclock.ini
2. Ayrıca TZ zaman dilimlerini ve HR 12/24 saat ayarlarının istediğiniz gibi olduğunu doğrulayın.
3. Parlaklığı 1 ile 7 arasında istediğiniz gibi ayarlayın.
4. Önyüklemede otomatik başlatma için pi crontab'a eklemek üzere install.sh komut dosyasını çalıştırın.
$ sh kurulum.sh
5. Yeniden Başlatın
$ sudo yeniden başlatma
6. Yeniden başlatılmalı ve ardından çalışmaya başlamalıdır.
BİTMİŞ!
Önerilen:
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: 3 Adım
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: Bugün Analog Saat & Led Strip ve MAX7219 Dot modülü ile Arduino ile dijital saat.Yerel saat dilimi ile saati düzeltir. Analog saat, daha uzun bir LED şerit kullanabilir, böylece duvara asılarak bir sanat eseri haline getirilebilir
Mikrodenetleyici Kullanan Dijital Saat (RTC Devresiz AT89S52): 4 Adım (Resimli)
Mikrodenetleyici Kullanan Dijital Saat (RTC Devresiz AT89S52): Bir saat tanımlayalım… "Saat, zamanı (göreli) sayan ve gösteren bir cihazdır"!!!Sanırım doğru söyledim, hadi ALARM özelliği ile SAAT yapalım . NOT: Okumanız 2-3 dakika sürecektir, lütfen projenin tamamını okuyunuz yoksa
Hepsi Bir Arada Dijital Kronometre (Saat, Zamanlayıcı, Alarm, Sıcaklık): 10 Adım (Resimli)
Hepsi Bir Arada Dijital Kronometre (Saat, Zamanlayıcı, Alarm, Sıcaklık): Başka bir yarışma için bir Zamanlayıcı yapmayı planlıyorduk, ancak daha sonra bir saat de uyguladık (RTC'siz). Programlamaya başladığımızda, cihaza daha fazla işlevsellik uygulamakla ilgilendik ve sonunda DS3231 RTC'yi ekledik
4 Zamanlı Dijital Saat: 4 Adım (Resimli)
4 Zamanlı Dijital Saat: "4 Zamanlı Dijital Saat"; Arduino tarafından sürülen, dijital bir saatte içten yanmalı motorun eğlenceli bir emülatörüdür. Saat ve dakika rakamları, hareket eden ve hassas bir RPM kontrolü (100 ila 800) ile pistonları temsil eder. RPM iki ile gösterilir
60Hz Güç Hattı ile Senkronize Arduino Dijital Saat: 8 Adım (Resimli)
60Hz Güç Hattı ile Senkronize Arduino Dijital Saat: Bu Arduino tabanlı dijital saat, 60Hz güç hattı ile senkronize edilir. Saat ve dakikayı gösteren basit ve ucuz bir ortak anot 4 haneli 7 segment ekrana sahiptir. Gelen 60Hz sinüs dalgasının ne zaman c