İçindekiler:

Raspberry Pi Amatör Radyo Dijital Saat: 8 Adım (Resimli)
Raspberry Pi Amatör Radyo Dijital Saat: 8 Adım (Resimli)

Video: Raspberry Pi Amatör Radyo Dijital Saat: 8 Adım (Resimli)

Video: Raspberry Pi Amatör Radyo Dijital Saat: 8 Adım (Resimli)
Video: RASPBERRY PI İLE AM/FM/SSB/CW BAND TELSİZ NASIL YAPILIR? - DÜNYADAKİ MARS PROJESİ 2024, Kasım
Anonim
Raspberry Pi Amatör Radyo Dijital Saat
Raspberry Pi Amatör Radyo Dijital Saat

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

Gereksinimler
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ı

Donanım Kablolama
Donanım Kablolama
Donanım Kablolama
Donanım Kablolama
Donanım Kablolaması
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

Raspi'deki GPIO Pinleri
Raspi'deki GPIO Pinleri
Raspi'deki GPIO Pinleri
Raspi'deki GPIO Pinleri
Raspi'deki GPIO Pinleri
Raspi'deki 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

Son Kurulum
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: