Isi kandungan:

Jam Digital Radio Amatur Raspberry Pi: 8 Langkah (dengan Gambar)
Jam Digital Radio Amatur Raspberry Pi: 8 Langkah (dengan Gambar)

Video: Jam Digital Radio Amatur Raspberry Pi: 8 Langkah (dengan Gambar)

Video: Jam Digital Radio Amatur Raspberry Pi: 8 Langkah (dengan Gambar)
Video: Ham Radio Digital Modes Hat for Raspberry Pi 2024, November
Anonim
Jam Digital Radio Amatur Raspberry Pi
Jam Digital Radio Amatur Raspberry Pi

Gambaran keseluruhan

Pengendali Radio Amatur (aka Radio HAM) menggunakan UTC 24 jam (Waktu Selaras Sejagat) untuk sebahagian besar operasi mereka. Saya memutuskan untuk membina jam digital menggunakan paparan 4 digit TM1637 kos rendah dan Raspberry Pi Zero W dan bukan hanya jam GUI. (Perkakasan memang menyeronokkan!)

Paparan didorong TM1637 mempunyai empat led segmen 7 dengan titik tengah “:” di antara dua set digit. Ia memerlukan dua wayar untuk menggerakkan paparan ditambah 5V + dan Ground untuk 4 wayar.

Untuk projek tertentu ini, saya mahu Raspi mendapatkan waktunya dari pelayan NTP (Network Time Protocol) melalui Internet. Saya merancang versi lain jam ini untuk dijalankan pada modul Arduino Uno dan Real-Time Clock, kerana ketika tidak ada WiFi yang tersedia dan untuk operasi yang lebih mudah alih.

Saya juga mahu jam menunjukkan Waktu Tempatan dalam format 12 jam dan 24 jam serta UTC dalam format 12 jam dan 24 jam. Perisian ini direka untuk membolehkan anda menggunakan hanya UTC 24 jam (ham khas) atau masa yang berlainan hingga 4 paparan yang berbeza.

Anda juga boleh menetapkan ZON WAKTU yang ingin anda gunakan dan bukannya waktu Tempatan lalai. Oleh itu, setiap empat paparan dapat menunjukkan zon waktu yang berbeza dan dalam format 12 jam atau 24 jam.

Projek ini memerlukan penyambung pemateri atau wayar ke modul Pi dan / atau tm1637.

Arahan lengkap juga terdapat di GITHUB:

Langkah 1: Keperluan

Keperluan
Keperluan

• Raspberry Pi2, 3, atau Zero W. (iaitu pi dengan header 40 pin dan Ethernet / Wifi)

• 4 - TM1637 4 digit Modul paparan

Dan / atau

CATATAN: anda boleh menggunakan yang lebih besar atau lebih kecil, asalkan serasi dengan TM1637.

• Harness wayar dengan 16 wayar (setiap TM1637 memerlukan 4 wayar)

• Papan Roti dan wayar Solderless Atau

• Breadboard yang mampu dipateri & pelbagai penyambung pin.

• MicroSD 8GB atau lebih besar untuk Pi

• Bekalan kuasa 5v untuk Pi.

Langkah 2: Pemasangan Perisian

Aplikasi ini menggunakan pustaka pythonTM1637.py yang mudah digunakan yang ditulis oleh Tim Waizenegger. (Sekiranya anda mahukan maklumat mengenai perpustakaan, lihat:

Adakah kamu tahu?

Sekiranya anda memasang Raspbian pada kad SD menggunakan PC, anda boleh membuat dua fail pada kad tersebut untuk mengkonfigurasi akses WiFi dan SSH sebelum anda memakainya pada Raspberry?

Untuk ini, anggap kad SD anda dipasang sebagai K: pada PC anda:

1) Pasang gambar Raspbian Lite ke SD.

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2) Dengan notepad, buat file yang disebut hanya "ssh" dan gunakan Save As "All files" ke K: / ssh

Fail boleh mengandungi apa sahaja. Nama fail itulah yang penting. TIDAK BOLEH "ssh.txt" !!!

3) Dengan notepad, buat fail kedua yang disebut "wpa_supplicant.conf" dengan berikut:

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdevupdate_config = 1 network = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}

Gunakan Simpan Sebagai "Semua fail" ke K: / wpa_supplicant.conf

Sekali lagi, jangan biarkan Notepad mengubahnya menjadi "wpa_supplicant.conf.txt" !!

Semasa anda boot Raspberry pada kali pertama, Raspbian akan mencarinya dan menyambung ke Wifi anda. Anda harus melihat Router anda untuk alamat IP, kerana ia ditetapkan secara automatik.

Langkah 3: Pemasangan Perisian - Pt.2

1. Jika belum, pasang versi Raspbian Lite ke kad microSD 8GB atau lebih besar. Anda TIDAK memerlukan versi GUI, kerana projek ini tidak menggunakan monitor atau papan kekunci.

CATATAN!: Projek ini memerlukan Python2.7!

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2. Anda perlu mengakses Raspberry dari jarak jauh melalui SSH. Di Windows, anda boleh menggunakan program terminal PUTTY SSH. Pada Mac, buka tetingkap terminal arahan.

3. Masukkan kad microSD ke dalam Pi dan pasangkan kuasa sekarang. Butuh beberapa minit untuk boot.

4. Untuk log masuk ke Raspberry Pi dari jarak jauh, anda perlu mencari alamat IP-nya. Anda boleh mencuba: $ ssh [email protected] (Atau dari Putty, masukkan nama host [email protected] Jika tidak, anda perlu melihat apakah Penghala anda akan menunjukkan alamat IP dari peranti tempatan anda. Id / passwd lalai adalah “pi / raspberry"

Setelah log masuk sebagai pengguna pi:

5. Kemas kini Raspbian anda: $ sudo apt update $ sudo apt upgrade

6. Konfigurasikan Raspberry: $ sudo raspi-config a. Tukar Kata Laluan Pengguna b. Pilihan Penyetempatan -> Ubah Zon Waktu Pilih Zon Waktu Tempatan anda c. Tab untuk Selesai

7. Pasang perisian RaspiDigiHamClock: $ cd / home / pi $ sudo apt update $ sudo apt install git $ git clone

8. Matikan Pi anda untuk menyiapkan pemadaman $ perkakasan sekarang Setelah LED padam cabut plagnya

Langkah 4: Pendawaian Perkakasan

Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan
Pendawaian Perkakasan

Anda boleh memasangkan penyambung ke modul TM1637 dan Raspberry Pi (jika belum mempunyai penyambung). Sebelum memulakan, tentukan bagaimana anda ingin memasang monitor dan jika anda akan menggunakan papan serbuk roti atau kabel solder terus ke modul Pi dan paparan.

Pin Modul TM1637

Nota Pendawaian: Beberapa modul tm1637 membalikkan pin + 5v dan GND! Jadi mungkin tidak kelihatan sama seperti foto.

Modul TM1637 adalah modul paparan LED 4 digit yang menggunakan cip pemacu TM1637. Ia hanya memerlukan dua sambungan untuk mengawal paparan 8-segmen 4-digit. Dua wayar lain memberi kuasa dan voltan 5+ volt.

PIN DESC CLK Jam DIO Data Dalam GND Ground 5V +5 volt

Beberapa modul tm1637 membalikkan pin + 5v dan GND, jadi periksa tanda modul anda

Uji setiap Modul Saya cadangkan bermula dengan kabel penyambung wanita 4 wayar tunggal dengan penyambung lelaki yang disolder ke salah satu modul dan Pi. Kemudian sambungkan modul pertama buat sementara waktu ke pin yang ditunjukkan di bawah.

UJIAN SEMENTARA A MODULETM1637 Modul Pin Pi Fizikal Pin # 5V 2 GND 6 CLK 40 DIO 38 Lihat Gambarajah GPIO lebih jauh ke bawah untuk mencari susun atur pin.

Foto kedua menunjukkan dua paparan yang disambungkan sementara ke Raspberry Pi 3 dengan perisian berjalan.

1. Setelah anda mempunyai modul untuk sementara waktu dan memeriksa pendawaian anda

2. Hidupkan Raspberry Pi. LED merah pada Modul harus menyala, tetapi belum ada TAMPILAN.

3. SSH ke Pi anda lagi seperti sebelumnya.

$ cd RaspiDigiHamClock

$ python test.py

Anda harus melihat kitaran paparan melalui pelbagai pesanan ringkas. Sekiranya tidak, periksa semula pendawaian anda sekali lagi! Sangat mudah untuk membalik wayar atau memasang Pin GPIO yang salah pada Pi. Sekiranya anda mendapat mesej ralat Python, sahkan versi Python anda menggunakan:

$ python -V (modal "V")

Python 2.7. X

Saya belum menguji Python 3, jadi tidak pasti sama ada perpustakaannya serasi.

Salin mesej ralat (biasanya baris terakhir ralat) dan Tampal ke carian Google. Ini mungkin memberi petunjuk mengenai apa yang berlaku.

Sekiranya modul anda berfungsi, Tahniah! Anda tahu modul dan Pi berfungsi. Sekarang ulangi untuk setiap modul untuk mengujinya. (Saya cadangkan matikan Pi dan matikan SEBELUM memasang / mencabut modul !!)

$ sudo tutup sekarang

Langkah 5: Pin GPIO pada Raspi

Pin GPIO pada Raspi
Pin GPIO pada Raspi
Pin GPIO pada Raspi
Pin GPIO pada Raspi
Pin GPIO pada Raspi
Pin GPIO pada Raspi

Projek ini menggunakan id GPIO fizikal BOARD untuk Pin.

Itu adalah Pin 1 hingga Pin 40. Bukan penomboran pin GPIO "BCM". (Ya, agak membingungkan, tetapi BOARD hanyalah jumlah pin dari kiri atas ke kanan bawah.)

Modul Paparan TM1637 Modul Pin Pi Fizikal # Kuasa 5V 2 Tanah GND 6

Modul # 1 CLK 33

DIO 31

Modul # 2 CLK 36

DIO 32

Modul # 3 CLK 37

DIO 35

Modul # 4 CLK 40

DIO 38

Catatan: Anda tidak perlu menambah keempat-empat modul jika mahu. Anda boleh mempunyai antara 1 dan 4 modul. (Ya, mungkin untuk pergi ke lebih banyak modul, tetapi anda perlu mengubah kod untuk menyokong lebih banyak lagi.)

TETAPI, anda HARUS memasangkan modul secara berurutan bermula dari Modul # 1

Ini kerana perpustakaan TM1637 mengharapkan ACK dari modul sehingga nampaknya menunggu menunggu sebaliknya.

Contoh gambar Soldered BreadboardAnda perlu mengikuti corak pendawaian anda sendiri agar sesuai dengan pin GPIO yang ditunjukkan sebelumnya, kerana penyambung dan modul yang saya gunakan mungkin tidak sesuai dengan anda.

Langkah 6: Menguji

Wow, itu sedikit pendawaian! Sekarang masa untuk ujian asap …

Oleh kerana anda sudah mengetahui modul individu dan Pi berfungsi (anda telah menguji modul seperti yang dijelaskan sebelumnya?), Maka langkah seterusnya adalah menyiapkan fail. INI dan menjalankan program jam:

1. Edit raspiclock.ini

$ cd / rumah / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Tukar num_modules kepada berapa banyak yang telah anda buat. Ini penting kerana perpustakaan akan menunggu ACK jika tidak dapat bercakap dengan modul. Pastikan untuk memasukkan bilangan modul, DALAM PESANAN YANG DIHAMPIRKAN dalam Nota. INI: PIN TZ dan HR dan GPIO Tambahan tidak dihiraukan sekiranya bilangan_modul kurang dari 4.

3. Tambahkan Zon Waktu untuk setiap modul.

Ini adalah Nama TZ Linux, seperti ‘America / New_York’, EST5EDT, UTC, atau ‘Local’ untuk zon waktu tempatan anda seperti yang ditetapkan melalui raspi-config. Lalai adalah UTC

4. Tetapkan sama ada untuk memaparkan mod 12 jam atau 24 jam untuk setiap modul

[JAM] Bilangan Modul TM1637 (antara 1 dan 4) num_modul = 2

; Zon Waktu untuk setiap Modul

; Gunakan raspi-config untuk menetapkan zon waktu tempatan; Lalai adalah UTC; Format adalah nama Linux TZ atau 'Local' untuk waktu tempatan; 'America / New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 Jam untuk setiap Modul

HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24

; CERAH (jarak 1..7)

LUM = 1

5. Anda tidak perlu mengedit pin GPIO melainkan anda memasukkannya ke pin yang berbeza pada Pi.

6. Simpan perubahan dan kemudian jalankan jam:

$ python raspiclock.py

Sekiranya semuanya baik-baik saja, semua modul paparan anda harus menyala dengan waktu seperti yang ditetapkan dalam fail. INI.

Tahniah! Langkau penyelesaian masalah dan pergi ke Pemasangan Akhir…

Langkah 7: Penyelesaian masalah

Anda akan melihat beberapa mesej debug ringkas muncul:

Memulakan… Bilangan modul = 4 Gelung jam permulaan… Modul # 1 paparanTM () Modul # 2 paparanTM () Modul # 3 paparanTM () Modul # 4 paparan TM () (mengulang…)

Sekiranya anda menguji modul sebelumnya dan semuanya berfungsi, maka anda tahu modul dan Raspberry bagus.

A) HANG - Sekiranya mesej debug kelihatan menggantung di satu tempat, program sedang menunggu ACK dari modul #.

Periksa dahulu pendawaian anda! Sangat mudah untuk membalik wayar atau memasang Pin GPIO yang salah pada Pi.

Kedua, tukar modul untuk melihat apakah modul tiba-tiba menjadi buruk.

Ketiga, periksa fail raspiclock.ini untuk kesilapan. Sekiranya perlu, hapus keseluruhan direktori dan lakukan GIT CLONE yang lain untuk mendapatkannya semula.

Keempat, periksa semula pendawaian anda!;-)

B) Sekiranya anda mendapat mesej ralat Python, sahkan versi Python anda menggunakan:

$ python -V (modal "V")

Python 2.7. X

Saya belum menguji Python 3, jadi tidak pasti sama ada perpustakaannya serasi. Salin mesej ralat (biasanya baris terakhir ralat) dan Tampal ke carian Google. Ini mungkin memberi petunjuk mengenai apa yang berlaku.

Langkah 8: Pemasangan Akhir

Pemasangan Akhir
Pemasangan Akhir

1. Edit semula fail. INI dan tetapkan debug = 0. $ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Juga sahkan zon waktu TZ dan tetapan jam HR 12/24 mengikut kehendak anda.

3. Tetapkan Kecerahan seperti yang dikehendaki antara 1 dan 7.

4. Jalankan skrip install.sh untuk ditambahkan ke pi crontab untuk permulaan automatik semasa boot.

$ sh install.sh

5. But semula

but semula $ sudo

6. Ia harus reboot dan kemudian berjalan.

SELESAI!

Disyorkan: