Mục lục:

Đồng hồ kỹ thuật số Radio nghiệp dư Raspberry Pi: 8 bước (có hình ảnh)
Đồng hồ kỹ thuật số Radio nghiệp dư Raspberry Pi: 8 bước (có hình ảnh)

Video: Đồng hồ kỹ thuật số Radio nghiệp dư Raspberry Pi: 8 bước (có hình ảnh)

Video: Đồng hồ kỹ thuật số Radio nghiệp dư Raspberry Pi: 8 bước (có hình ảnh)
Video: Kiểm tra ngay xem mình có bị stress hay không!! #suckhoe #shorts #fyp #xuhuong #vitamin #drvitamin 2024, Tháng mười một
Anonim
Đồng hồ kỹ thuật số Radio nghiệp dư Raspberry Pi
Đồng hồ kỹ thuật số Radio nghiệp dư Raspberry Pi

Tổng quat

Các nhà khai thác vô tuyến nghiệp dư (hay còn gọi là HAM Radio) sử dụng 24 giờ UTC (Giờ phối hợp quốc tế) cho phần lớn hoạt động của họ. Tôi quyết định chế tạo một đồng hồ kỹ thuật số bằng cách sử dụng màn hình 4 chữ số TM1637 chi phí thấp và Raspberry Pi Zero W thay vì chỉ sử dụng đồng hồ GUI. (Phần cứng rất thú vị!)

Màn hình điều khiển TM1637 có bốn led 7 đoạn với dấu hai chấm ở giữa “:” giữa hai bộ chữ số. Nó yêu cầu hai dây để điều khiển màn hình cộng với 5V + và nối đất với tổng cộng 4 dây.

Đối với dự án cụ thể này, tôi muốn Raspi lấy thời gian từ các máy chủ NTP (Network Time Protocol) thông qua Internet. Tôi đang lên kế hoạch cho một phiên bản khác của đồng hồ này để chạy trên Arduino Uno và mô-đun Đồng hồ thời gian thực, khi không có Wi-Fi và để hoạt động di động hơn.

Tôi cũng muốn đồng hồ hiển thị Giờ địa phương ở định dạng 12hr và 24hr cũng như UTC ở định dạng 12hr và 24hr. Phần mềm được thiết kế để cho phép bạn chỉ sử dụng UTC 24hr (hams thông thường) hoặc các thời điểm khác nhau trên tối đa 4 màn hình khác nhau.

Bạn cũng có thể đặt Múi giờ mà bạn muốn sử dụng thay vì Giờ địa phương mặc định. Vì vậy, mỗi màn hình trong số bốn màn hình có thể hiển thị một múi giờ khác nhau và ở định dạng 12hr hoặc 24hr.

Dự án này yêu cầu hàn các đầu nối hoặc dây vào Pi và / hoặc các mô-đun tm1637.

Hướng dẫn đầy đủ cũng có sẵn trên GITHUB:

Bước 1: Yêu cầu

Yêu cầu
Yêu cầu

• Raspberry Pi2, 3 hoặc Zero W. (tức là bất kỳ số pi nào có đầu cắm 40 chân và Ethernet / Wifi)

• Mô-đun hiển thị 4 - TM1637 4 chữ số

Và / hoặc

LƯU Ý: bạn có thể sử dụng những cái lớn hơn hoặc nhỏ hơn, miễn là chúng tương thích với TM1637.

• Dây nịt với 16 dây (mỗi TM1637 cần 4 dây)

• Breadboard không hàn và dây điện Hoặc

• Breadboard có thể hàn & các đầu nối chân cắm khác nhau.

• 8GB MicroSD hoặc lớn hơn cho Pi

• Nguồn 5v cấp cho Pi.

Bước 2: Cài đặt phần mềm

Ứng dụng này sử dụng thư viện pythonTM1637.py dễ sử dụng được viết bởi Tim Waizenegger. (Nếu bạn muốn biết thông tin chi tiết về thư viện, hãy xem tại:

Bạn có biết không?

Nếu bạn cài đặt Raspbian trên thẻ SD bằng PC, bạn có thể tạo hai tệp trên thẻ để định cấu hình quyền truy cập WiFi và SSH trước khi khởi động nó trên Raspberry?

Đối với điều này, giả sử thẻ SD của bạn hiện được gắn là K: trên PC của bạn:

1) Cài đặt hình ảnh Raspbian Lite vào SD.

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

2) Với notepad, tạo một tệp chỉ có tên là “ssh” và sử dụng Lưu dưới dạng “Tất cả tệp” vào K: / ssh

Tệp có thể chứa bất cứ thứ gì. Đó là tên tệp quan trọng. KHÔNG ĐƯỢC là “ssh.txt” !!!

3) Với notepad, hãy tạo một tệp thứ hai có tên “wpa_supplicant.conf” với nội dung sau:

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

Sử dụng Lưu dưới dạng “Tất cả tệp” vào K: / wpa_supplicant.conf

Một lần nữa, đừng để Notepad thay đổi nó thành “wpa_supplicant.conf.txt” !!

Khi bạn khởi động Raspberry lần đầu tiên, Raspbian sẽ tìm kiếm những thứ này và kết nối với Wifi của bạn. Tuy nhiên, bạn sẽ phải xem trên Bộ định tuyến của mình để biết địa chỉ IP vì nó được gán tự động.

Bước 3: Cài đặt phần mềm - Pt.2

1. Nếu bạn chưa cài đặt, hãy cài đặt phiên bản Raspbian Lite vào thẻ nhớ microSD 8GB hoặc lớn hơn. Bạn KHÔNG cần phiên bản GUI, vì dự án này không sử dụng màn hình hoặc bàn phím.

LƯU Ý !: Dự án này yêu cầu Python2.7!

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

2. Bạn sẽ cần truy cập Raspberry từ xa thông qua SSH. Trên Windows, bạn có thể sử dụng chương trình đầu cuối PUTTY SSH. Trên Mac, chỉ cần hiển thị một cửa sổ dòng lệnh.

3. Cắm thẻ nhớ microSD vào Pi và cắm nguồn ngay. Sẽ mất một vài phút để khởi động.

4. Để đăng nhập từ xa vào Raspberry Pi, bạn sẽ cần tìm địa chỉ IP của nó. Bạn có thể thử: $ ssh [email protected] (Hoặc từ Putty, nhập tên máy chủ [email protected] Nếu không, bạn sẽ cần xem liệu Bộ định tuyến của bạn có hiển thị địa chỉ IP của các thiết bị cục bộ của bạn không. Id / passwd mặc định là “pi /dâu rừng"

Sau khi đăng nhập với tư cách người dùng pi:

5. Cập nhật Raspbian của bạn: $ sudo apt update $ sudo apt upgrade

6. Định cấu hình Raspberry: $ sudo raspi-config a. Thay đổi mật khẩu người dùng b. Tùy chọn bản địa hóa -> Thay đổi múi giờ Chọn múi giờ địa phương của bạn c. Tab để kết thúc

7. Cài đặt phần mềm RaspiDigiHamClock: $ cd / home / pi $ sudo apt update $ sudo apt install git $ git clone

8. Tắt nguồn Pi của bạn để thiết lập phần cứng $ shutdown now Sau khi đèn LED tắt, hãy rút phích cắm nguồn

Bước 4: Kết nối phần cứng

Hệ thống dây phần cứng
Hệ thống dây phần cứng
Hệ thống dây phần cứng
Hệ thống dây phần cứng
Hệ thống dây phần cứng
Hệ thống dây phần cứng

Bạn có thể hàn các đầu nối vào mô-đun TM1637 và Raspberry Pi (nếu nó chưa có đầu nối). Trước khi bắt đầu, hãy quyết định cách bạn muốn gắn các màn hình và liệu bạn có định sử dụng bảng mạch hoặc dây hàn trực tiếp lên Pi và các mô-đun màn hình hay không.

Chân mô-đun TM1637

Hệ thống dây điện Lưu ý: Một số mô-đun tm1637 lật các chân + 5v và GND! Vì vậy, có thể không xuất hiện giống như các bức ảnh.

Mô-đun TM1637 là mô-đun màn hình led 4 chữ số sử dụng chip điều khiển TM1637. Nó chỉ cần hai kết nối để điều khiển màn hình 4 chữ số 8 đoạn. Hai dây khác cấp nguồn 5+ volt và nối đất.

PIN DESC CLK Đồng hồ DIO Dữ liệu trong GND Ground 5V +5 volt

Một số mô-đun tm1637 lật các chân + 5v và GND, vì vậy hãy kiểm tra các ký hiệu trên mô-đun của bạn

Tôi khuyên bạn nên bắt đầu với cáp đầu nối cái 4 dây đơn với đầu nối đực được hàn vào một trong các mô-đun và Pi. Sau đó, tạm thời kết nối mô-đun đầu tiên với các chân hiển thị bên dưới.

KIỂM TRA TẠM THỜI A MODULETM1637 Mô-đun Pin Pi Pin vật lý # 5V 2 GND 6 CLK 40 DIO 38 Xem Sơ đồ GPIO ở phía dưới để tìm bố cục chân.

Bức ảnh thứ hai cho thấy hai màn hình tạm thời được kết nối với Raspberry Pi 3 với phần mềm đang chạy.

1. Sau khi bạn có một mô-đun được kết nối tạm thời và hãy kiểm tra hệ thống dây của bạn

2. Tăng sức mạnh cho Raspberry Pi. Đèn LED màu đỏ trên Mô-đun sẽ sáng, nhưng vẫn chưa CÓ MÀN HÌNH.

3. SSH vào Pi của bạn một lần nữa như trước đây.

$ cd RaspiDigiHamClock

$ python test.py

Bạn sẽ thấy chu kỳ hiển thị thông qua các tin nhắn ngắn khác nhau. Nếu không, trước tiên hãy kiểm tra lại hệ thống dây điện của bạn! Thật dễ dàng để lật dây hoặc cắm nhầm vào Chân GPIO trên Pi. Nếu bạn nhận được thông báo lỗi Python, hãy xác minh phiên bản Python của bạn bằng cách sử dụng:

$ python -V (viết hoa “V”)

Python 2.7. X

Tôi chưa thử nghiệm với Python 3, vì vậy không chắc liệu thư viện có tương thích hay không.

Sao chép thông báo lỗi (thường là dòng cuối cùng của lỗi) và Dán vào tìm kiếm của Google. Điều này có thể cung cấp một manh mối về những gì đã xảy ra.

Nếu mô-đun của bạn hoạt động, Xin chúc mừng! Bạn biết mô-đun và Pi đang hoạt động. Bây giờ lặp lại cho mỗi mô-đun để kiểm tra nó. (Tôi khuyên bạn nên tắt Pi và tắt nguồn TRƯỚC KHI cắm / rút mô-đun !!)

$ sudo hiện đang ngừng hoạt động

Bước 5: Ghim GPIO trên Raspi

Ghim GPIO trên Raspi
Ghim GPIO trên Raspi
Ghim GPIO trên Raspi
Ghim GPIO trên Raspi
Ghim GPIO trên Raspi
Ghim GPIO trên Raspi

Dự án này sử dụng id BOARD vật lý GPIO cho các Ghim.

Đó là Pin 1 đến Pin 40. Không phải là đánh số chân GPIO “BCM”. (Có, hơi khó hiểu, nhưng BOARD chỉ là số lượng pin từ trên cùng bên trái đến dưới cùng bên phải.)

Mô-đun hiển thị TM1637 Mô-đun Pin Pi Chân vật lý # Nguồn 5V 2 Nối đất GND 6

Mô-đun # 1 CLK 33

DIO 31

Mô-đun # 2 CLK 36

DIO 32

Mô-đun # 3 CLK 37

DIO 35

Mô-đun # 4 CLK 40

DIO 38

Lưu ý: Bạn không cần phải thêm tất cả 4 mô-đun nếu muốn. Bạn có thể có từ 1 đến 4 mô-đun. (Có, có thể chuyển đến nhiều mô-đun hơn, nhưng bạn cần phải thay đổi mã để hỗ trợ nhiều hơn.)

NHƯNG, bạn PHẢI cắm các mô-đun tuần tự bắt đầu từ Mô-đun # 1

Điều này là do thư viện TM1637 mong đợi một ACK từ mô-đun, do đó, có vẻ như treo khi chờ đợi.

Ảnh mẫu của Breadboard được kết nối Bạn cần làm theo mẫu đi dây của riêng mình để khớp với các chân GPIO đã trình bày trước đó, vì các đầu nối và mô-đun tôi đã sử dụng có thể không khớp với các đầu nối của bạn.

Bước 6: Thử nghiệm

Chà, đó là một chút dây! Bây giờ là lúc để kiểm tra khói…

Vì bạn đã biết các mô-đun riêng lẻ và Pi hoạt động (bạn đã kiểm tra các mô-đun như được mô tả trước đó chưa?), Nên bước tiếp theo là thiết lập tệp. INI và chạy chương trình đồng hồ:

1. Chỉnh sửa raspiclock.ini

$ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Thay đổi num_modules thành số lượng bạn đã kết nối. Điều này rất quan trọng vì thư viện sẽ treo khi chờ ACK nếu nó không thể nói chuyện với một mô-đun. Đảm bảo nhập số lượng mô-đun, TRONG LỆNH hiển thị trong. INI Lưu ý: Mã PIN bổ sung TZ và HR và GPIO bị bỏ qua nếu num_modules nhỏ hơn 4.

3. Thêm Múi giờ cho mỗi mô-đun.

Đây là Tên Linux TZ, như 'America / New_York', EST5EDT, UTC hoặc 'Local' cho múi giờ địa phương của bạn như được đặt qua raspi-config. Mặc định là UTC

4. Đặt hiển thị chế độ 12hr hoặc 24hr cho từng mô-đun

[CÁI ĐỒNG HỒ]; Số mô-đun TM1637 (từ 1 đến 4) num_modules = 2

; Múi giờ cho mỗi Mô-đun

; Sử dụng raspi-config để đặt múi giờ địa phương; Mặc định là UTC; Định dạng là tên Linux TZ hoặc 'Địa phương' cho giờ địa phương; 'America / New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 giờ cho mỗi mô-đun

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

; BRIGHTNESS (phạm vi 1..7)

LUM = 1

5. Bạn không cần phải chỉnh sửa các chân GPIO trừ khi bạn cắm chúng vào các chân # khác nhau trên Pi.

6. Lưu các thay đổi và sau đó chạy đồng hồ:

$ python raspiclock.py

Nếu tất cả đều ổn, tất cả các mô-đun hiển thị của bạn sẽ sáng lên theo thời gian như được thiết lập trong tệp. INI.

Xin chúc mừng! Bỏ qua khắc phục sự cố và chuyển đến Cài đặt cuối cùng…

Bước 7: Khắc phục sự cố

Bạn sẽ thấy một số thông báo gỡ lỗi đơn giản xuất hiện:

Đang khởi tạo… Số mô-đun = 4 Vòng đồng hồ khởi động… Mô-đun # 1 displayTM () Mô-đun # 2 displayTM () Mô-đun # 3 displayTM () Mô-đun # 4 displayTM () (lặp lại…)

Nếu bạn đã thử nghiệm các mô-đun trước đó và tất cả chúng đều hoạt động, thì bạn biết rằng các mô-đun và Raspberry đều tốt.

A) HANG - Nếu thông báo gỡ lỗi bị treo tại một điểm, chương trình đang đợi ACK từ mô-đun # đó.

Đầu tiên hãy kiểm tra hệ thống dây điện của bạn! Thật dễ dàng để lật dây hoặc cắm nhầm vào Pin GPIO trên Pi.

Thứ hai, hoán đổi các mô-đun để xem liệu một mô-đun có đột ngột bị hỏng hay không.

Thứ ba, kiểm tra tệp raspiclock.ini để tìm lỗi. Nếu cần, hãy xóa toàn bộ thư mục và thực hiện GIT CLONE khác để truy xuất lại.

Thứ tư, hãy kiểm tra lại hệ thống dây điện của bạn!;-)

B) Nếu bạn nhận được thông báo lỗi Python, hãy xác minh phiên bản Python của bạn bằng cách sử dụng:

$ python -V (viết hoa “V”)

Python 2.7. X

Tôi chưa thử nghiệm với Python 3, vì vậy không chắc liệu thư viện có tương thích hay không. Sao chép thông báo lỗi (thường là dòng cuối cùng của lỗi) và Dán vào tìm kiếm của Google. Điều này có thể cung cấp một manh mối về những gì đã xảy ra.

Bước 8: Cài đặt cuối cùng

Cài đặt cuối cùng
Cài đặt cuối cùng

1. Chỉnh sửa lại tệp. INI và đặt gỡ lỗi = 0. $ cd / home / pi / RaspiDigiHamClock

$ nano raspiclock.ini

2. Đồng thời xác minh các múi giờ TZ và cài đặt HR 12/24 giờ như bạn mong muốn.

3. Đặt Độ sáng như mong muốn từ 1 đến 7.

4. Chạy tập lệnh install.sh để thêm vào pi crontab để khởi động tự động khi khởi động.

$ sh install.sh

5. Khởi động lại

$ sudo khởi động lại

6. Nó sẽ khởi động lại và sau đó chạy.

HOÀN THÀNH!

Đề xuất: