Πίνακας περιεχομένων:

Ραδιοερασιτεχνικό ψηφιακό ρολόι Raspberry Pi: 8 βήματα (με εικόνες)
Ραδιοερασιτεχνικό ψηφιακό ρολόι Raspberry Pi: 8 βήματα (με εικόνες)

Βίντεο: Ραδιοερασιτεχνικό ψηφιακό ρολόι Raspberry Pi: 8 βήματα (με εικόνες)

Βίντεο: Ραδιοερασιτεχνικό ψηφιακό ρολόι Raspberry Pi: 8 βήματα (με εικόνες)
Βίντεο: Τροφοδοτικό PS23SWI για ραδιοερασιτέχνες κ.α. δοκιμές και παρουσίαση από το FreeBytes. 2024, Νοέμβριος
Anonim
Pηφιακό ρολόι Raspberry Pi Radio Amateur
Pηφιακό ρολόι Raspberry Pi Radio Amateur

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Οι ερασιτέχνες χειριστές ραδιοφώνου (γνωστός και ως HAM Radio) χρησιμοποιούν 24 ώρες UTC (καθολική συντονισμένη ώρα) για μεγάλο μέρος της λειτουργίας τους. Αποφάσισα να φτιάξω ένα ψηφιακό ρολόι χρησιμοποιώντας τις χαμηλές τιμές 4 ψηφίων TM1637 και ένα Raspberry Pi Zero W αντί για ένα ρολόι GUI. (Το υλικό είναι διασκεδαστικό!)

Η οθόνη με κινητήρα TM1637 διαθέτει τέσσερα led 7 τμημάτων με κεντρική άνω και κάτω τελεία ":" ανάμεσα σε δύο σύνολα ψηφίων. Απαιτούνται δύο καλώδια για την οδήγηση της οθόνης συν 5V + και Ground για συνολικά 4 καλώδια.

Για το συγκεκριμένο έργο, ήθελα το Raspi να πάρει το χρόνο του από διακομιστές NTP (Network Time Protocol) μέσω Διαδικτύου. Σχεδιάζω μια άλλη έκδοση αυτού του ρολογιού που θα λειτουργεί σε ένα Arduino Uno και μια μονάδα ρολογιού πραγματικού χρόνου, για όταν δεν υπάρχει διαθέσιμο WiFi και για πιο φορητή λειτουργία.

Wantedθελα επίσης το ρολόι να δείχνει την Τοπική ρα σε μορφές 12 ωρών και 24 ωρών, καθώς και UTC σε μορφές 12 ωρών και 24 ωρών. Το λογισμικό έχει σχεδιαστεί για να σας επιτρέπει να χρησιμοποιείτε μόνο UTC 24 ώρες (τυπικά ζαμπόν) ή διαφορετικούς χρόνους σε έως και 4 διαφορετικές οθόνες.

Μπορείτε επίσης να ορίσετε τη ΖΩΝΗ ΩΡΑ που θα θέλατε να χρησιμοποιήσετε αντί για την προεπιλεγμένη Τοπική ώρα. Έτσι, κάθε μία από τις τέσσερις οθόνες θα μπορούσε να εμφανίσει διαφορετική ζώνη ώρας και σε μορφή 12 ωρών ή 24 ωρών.

Αυτό το έργο απαιτεί συγκόλληση συνδέσμων ή καλωδίων στις μονάδες Pi και/ή tm1637.

Πλήρεις οδηγίες είναι επίσης διαθέσιμες στο GITHUB:

Βήμα 1: Απαιτήσεις

Απαιτήσεις
Απαιτήσεις

• Raspberry Pi2, 3 ή Zero W. (δηλαδή οποιοδήποτε pi με την κεφαλίδα 40 ακίδων και Ethernet/Wifi)

• 4-TM1637 Τετραψήφια ενότητες οθόνης

Και/ή

ΣΗΜΕΙΩΣΗ: μπορείτε να χρησιμοποιήσετε μεγαλύτερα ή μικρότερα, αρκεί να είναι συμβατά με το TM1637.

• Καλωδίωση με 16 καλώδια (κάθε TM1637 χρειάζεται 4 καλώδια)

• Χωρίς συγκόλληση Breadboard και σύρματα Or

• Συγκολλητική ικανότητα Breadboard & διάφοροι συνδετήρες καρφιτσών.

• 8 GB MicroSD ή μεγαλύτερο για Pi

• Τροφοδοσία 5v για Pi.

Βήμα 2: Εγκατάσταση λογισμικού

Αυτή η εφαρμογή χρησιμοποιεί την εύχρηστη βιβλιοθήκη pythonTM1637.py που γράφτηκε από τον Tim Waizenegger. (Αν θέλετε λεπτομέρειες σχετικά με τη βιβλιοθήκη, ανατρέξτε στη διεύθυνση:

Το ήξερες?

Εάν εγκαταστήσετε το Raspbian σε κάρτα SD χρησιμοποιώντας υπολογιστή, μπορείτε να δημιουργήσετε δύο αρχεία στην κάρτα για να διαμορφώσετε την πρόσβαση WiFi και SSH πριν την εκκινήσετε σε Raspberry;

Για αυτό, ας υποθέσουμε ότι η κάρτα SD σας είναι επί του παρόντος τοποθετημένη ως K: στον υπολογιστή σας:

1) Εγκαταστήστε την εικόνα Raspbian Lite στο SD.

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

2) Με το σημειωματάριο, δημιουργήστε ένα αρχείο που ονομάζεται "ssh" και χρησιμοποιήστε το Save As "All files" στο K: / ssh

Το αρχείο μπορεί να περιέχει οτιδήποτε. Είναι σημαντικό το όνομα αρχείου. ΔΕΝ πρέπει να είναι "ssh.txt" !!!

3) Με το σημειωματάριο, δημιουργήστε ένα δεύτερο αρχείο που ονομάζεται "wpa_supplicant.conf" με τα ακόλουθα:

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

Χρησιμοποιήστε την Αποθήκευση ως "Όλα τα αρχεία" στο K: / wpa_supplicant.conf

Και πάλι, μην αφήσετε το Σημειωματάριο να το αλλάξει σε "wpa_supplicant.conf.txt" !!

Όταν ξεκινάτε το Raspberry για πρώτη φορά, το Raspbian θα τα αναζητήσει και θα συνδεθεί με το Wifi σας. Ωστόσο, θα πρέπει να αναζητήσετε τη διεύθυνση IP στο δρομολογητή σας, αφού έχει εκχωρηθεί αυτόματα.

Βήμα 3: Εγκατάσταση λογισμικού - Pt.2

1. Εάν δεν το έχετε κάνει ήδη, εγκαταστήστε την έκδοση Raspbian Lite σε κάρτα microSD 8 GB ή μεγαλύτερη. ΔΕΝ χρειάζεστε την έκδοση GUI, καθώς αυτό το έργο δεν χρησιμοποιεί οθόνη ή πληκτρολόγιο.

ΣΗΜΕΙΩΣΗ!: Αυτό το έργο απαιτεί Python2.7!

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

2. Θα χρειαστεί να αποκτήσετε πρόσβαση στο Raspberry από απόσταση μέσω SSH. Στα Windows, μπορείτε να χρησιμοποιήσετε το τερματικό πρόγραμμα PUTTY SSH. Σε Mac, απλώς εμφανίστε ένα παράθυρο τερματικού εντολών.

3. Τοποθετήστε την κάρτα microSD στο Pi και συνδέστε την τροφοδοσία τώρα. Θα χρειαστούν μερικά λεπτά για εκκίνηση.

4. Για απομακρυσμένη σύνδεση στο Raspberry Pi σας, θα πρέπει να βρείτε τη διεύθυνση IP του. Μπορείτε να δοκιμάσετε: $ ssh [email protected] (from από το Putty, πληκτρολογήστε όνομα κεντρικού υπολογιστή [email protected] Διαφορετικά, θα πρέπει να δείτε αν ο δρομολογητής σας θα εμφανίζει τις διευθύνσεις IP των τοπικών σας συσκευών. Το προεπιλεγμένο id/passwd είναι "pi /βατόμουρο"

Μόλις συνδεθείτε ως χρήστης pi:

5. Ενημερώστε το Raspbian: $ sudo apt update $ sudo apt upgrade

6. Διαμορφώστε το Raspberry: $ sudo raspi-config a. Αλλαγή κωδικού χρήστη β. Επιλογές τοπικοποίησης -> Αλλαγή ζώνης ώρας Επιλέξτε την τοπική ζώνη ώρας γ. Καρτέλα για Τέλος

7. Εγκαταστήστε το λογισμικό RaspiDigiHamClock: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Απενεργοποιήστε το Pi σας για να ρυθμίσετε τον τερματισμό του υλικού $ Αφού σβήσει το LED αποσυνδέστε το ρεύμα

Βήμα 4: Καλωδίωση υλικού

Καλωδίωση υλικού
Καλωδίωση υλικού
Καλωδίωση υλικού
Καλωδίωση υλικού
Καλωδίωση υλικού
Καλωδίωση υλικού

Μπορείτε να κολλήσετε συνδέσμους στις μονάδες TM1637 και στο Raspberry Pi (εάν δεν έχει ήδη υποδοχή σύνδεσης). Πριν ξεκινήσετε, αποφασίστε πώς θέλετε να τοποθετήσετε τις οθόνες και εάν πρόκειται να χρησιμοποιήσετε ένα breadboard ή σύρματα συγκόλλησης απευθείας πάνω στις μονάδες Pi και οθόνης.

Καρφίτσες μονάδας TM1637

Σημείωση καλωδίωσης: Ορισμένες μονάδες tm1637 αναστρέφουν τις ακίδες +5v και GND! Επομένως, μπορεί να μην φαίνεται το ίδιο με τις φωτογραφίες.

Η μονάδα TM1637 είναι μια τετραψήφια μονάδα οθόνης led που χρησιμοποιεί το τσιπ οδηγού TM1637. Χρειάζεται μόνο δύο συνδέσεις για τον έλεγχο της τετραψήφιας οθόνης 8 τμημάτων. Δύο άλλα καλώδια τροφοδοτούν ισχύ 5+ volt και γείωση.

PIN DESC CLK Ρολόι DIO Δεδομένα σε GND Ground 5V +5 βολτ

Ορισμένες μονάδες tm1637 αναποδογυρίζουν τις ακίδες +5v και GND, οπότε ελέγξτε τις σημάνσεις της μονάδας σας

Δοκιμάστε κάθε μονάδα Προτείνω να ξεκινήσετε με ένα θηλυκό καλώδιο σύνδεσης 4 καλωδίων με αρσενικούς συνδετήρες συγκολλημένους σε μία από τις μονάδες και το Pi. Στη συνέχεια, συνδέστε προσωρινά την πρώτη μονάδα έως τις ακίδες που εμφανίζονται παρακάτω.

ΠΡΟΣΩΡΙΝΗ ΔΟΚΙΜΗ A MODULETM1637 Module Pin Pi Physical Pin# 5V 2 GND 6 CLK 40 DIO 38 Δείτε τα διαγράμματα GPIO πιο κάτω για να βρείτε τις διατάξεις των ακίδων.

Η δεύτερη φωτογραφία δείχνει δύο οθόνες που συνδέονται προσωρινά σε ένα Raspberry Pi 3 με το λογισμικό σε λειτουργία.

1. Μόλις ενεργοποιήσετε προσωρινά μια μονάδα και ελέγξετε την καλωδίωσή σας

2. Ενεργοποιήστε το Raspberry Pi. Η κόκκινη λυχνία LED στη μονάδα πρέπει να ανάψει, αλλά δεν θα υπάρχει ακόμα ΟΘΟΝΗ.

3. SSH στο Pi σας ξανά όπως προηγουμένως.

$ cd RaspiDigiHamClock

$ python test.py

Θα πρέπει να δείτε τον κύκλο εμφάνισης μέσω διαφόρων σύντομων μηνυμάτων. Εάν δεν το κάνετε, ελέγξτε πρώτα την καλωδίωσή σας ξανά! Είναι εύκολο να αναποδογυρίσετε ένα καλώδιο ή να το συνδέσετε σε λάθος καρφίτσα GPIO στο Pi. Εάν λάβετε ένα μήνυμα σφάλματος Python, επαληθεύστε την έκδοση Python χρησιμοποιώντας:

$ python -V (κεφαλαίο "V")

Python 2.7. Χ

Δεν έχω δοκιμάσει έναντι Python 3, οπότε δεν είμαι σίγουρος αν η βιβλιοθήκη είναι συμβατή.

Αντιγράψτε το μήνυμα σφάλματος (συνήθως την τελευταία γραμμή του σφάλματος) και επικολλήστε στην αναζήτηση Google. Αυτό μπορεί να δώσει μια ιδέα για το τι συνέβη.

Εάν η μονάδα σας λειτουργεί, συγχαρητήρια! Γνωρίζετε ότι η μονάδα και το Pi λειτουργούν. Τώρα επαναλάβετε για κάθε ενότητα για να το δοκιμάσετε. (Προτείνω να κλείσετε το Pi και να το απενεργοποιήσετε ΠΡΙΝ συνδέσετε/αποσυνδέσετε μονάδες !!)

$ sudo τερματισμός λειτουργίας τώρα

Βήμα 5: Καρφίτσες GPIO στο Raspi

Καρφίτσες GPIO στο Raspi
Καρφίτσες GPIO στο Raspi
Καρφίτσες GPIO στο Raspi
Καρφίτσες GPIO στο Raspi
Καρφίτσες GPIO στο Raspi
Καρφίτσες GPIO στο Raspi

Αυτό το έργο χρησιμοποιεί τα αναγνωριστικά φυσικού πίνακα GPIO για τις καρφίτσες.

Αυτό είναι το Pin 1 στο Pin 40. Όχι η αρίθμηση καρφιών GPIO "BCM". (Ναι, λίγο μπερδεμένο, αλλά το BOARD είναι μόνο ο αριθμός των καρφιτσών από πάνω αριστερά προς τα κάτω δεξιά.)

Ενότητα οθόνης TM1637 Module Pin Pi Φυσική καρφίτσα#Ισχύς 5V 2 Ground GND 6

Ενότητα #1 CLK 33

DIO 31

Ενότητα #2 CLK 36

DIO 32

Ενότητα #3 CLK 37

DIO 35

Ενότητα #4 CLK 40

DIO 38

Σημείωση: Δεν χρειάζεται να προσθέσετε και τις 4 ενότητες εάν το επιθυμείτε. Μπορείτε να έχετε μεταξύ 1 και 4 μονάδων. (Ναι, είναι δυνατό να μεταβείτε σε περισσότερες ενότητες, αλλά πρέπει να αλλάξετε τον κώδικα για να υποστηρίξετε περισσότερα.)

ΑΛΛΑ, ΠΡΕΠΕΙ να συνδέσετε τις ενότητες διαδοχικά ξεκινώντας από την Ενότητα #1

Αυτό συμβαίνει επειδή η βιβλιοθήκη TM1637 αναμένει ένα ACK από τη μονάδα, οπότε φαίνεται να περιμένει διαφορετικά.

Δείγματα φωτογραφιών του Soldered Breadboard Πρέπει να ακολουθήσετε το δικό σας μοτίβο καλωδίωσης για να ταιριάξετε με τις καρφίτσες GPIO που εμφανίστηκαν προηγουμένως, καθώς οι συνδέσεις και οι μονάδες που χρησιμοποίησα ενδέχεται να μην ταιριάζουν με τις δικές σας.

Βήμα 6: Δοκιμή

Πω πω, αυτό ήταν λίγο καλωδίωση! Τώρα ώρα για δοκιμές καπνού…

Δεδομένου ότι γνωρίζετε ήδη τις επιμέρους ενότητες και το έργο Pi (δοκιμάσατε τις ενότητες όπως περιγράφεται προηγουμένως;), τότε το επόμενο βήμα είναι να ρυθμίσετε το αρχείο. INI και να εκτελέσετε το πρόγραμμα ρολογιού:

1. Επεξεργαστείτε το raspiclock.ini

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Αλλάξτε τα num_modules σε πόσα έχετε συνδέσει. Αυτό είναι σημαντικό καθώς η βιβλιοθήκη θα σταματήσει να περιμένει ένα ACK εάν δεν μπορεί να μιλήσει σε μια μονάδα. Βεβαιωθείτε ότι έχετε συνδέσει τον αριθμό των ενοτήτων, ΚΑΤΑ ΤΗΝ ΠΑΡΑΓΓΕΛΙΑ που εμφανίζεται στο. INI Σημείωση: Τα επιπλέον PZ των TZ και HR και GPIO αγνοούνται εάν τα num_modules είναι μικρότερα από 4.

3. Προσθέστε ζώνες ώρας για κάθε ενότητα.

Πρόκειται για Linux TZ Names, όπως «America/New_York», EST5EDT, UTC ή «Local» για την τοπική σας ζώνη ώρας, όπως έχει οριστεί μέσω raspi-config. Η προεπιλογή είναι UTC

4. Ρυθμίστε εάν θα εμφανίζεται η λειτουργία 12 ωρών ή 24 ωρών για κάθε μονάδα

[ΡΟΛΟΪ]; Αριθμός μονάδων TM1637 (μεταξύ 1 και 4) num_modules = 2

? Ζώνες ώρας για κάθε ενότητα

? Χρησιμοποιήστε το raspi-config για να ορίσετε τοπική ζώνη ώρας. Η προεπιλογή είναι UTC. Μορφή είναι ονόματα Linux TZ ή «Τοπικά» για τοπική ώρα. 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

? 12/24 forρα για κάθε ενότητα

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

? ΦΩΤΕΙΝΟΤΗΤΑ (εύρος 1..7)

LUM = 1

5. Δεν θα πρέπει να επεξεργαστείτε τις καρφίτσες GPIO, εκτός εάν τις συνδέσετε σε διαφορετικούς πείρους #στο Pi.

6. Αποθηκεύστε τις αλλαγές και, στη συνέχεια, εκτελέστε το ρολόι:

$ python raspiclock.py

Εάν όλα είναι καλά, όλες οι ενότητες οθόνης θα πρέπει να ανάβουν με τους χρόνους που έχουν ρυθμιστεί στο αρχείο. INI.

Συγχαρητήρια! Παραλείψτε την αντιμετώπιση προβλημάτων και μεταβείτε στην Τελική εγκατάσταση…

Βήμα 7: Αντιμετώπιση προβλημάτων

Θα πρέπει να δείτε να εμφανίζονται μερικά απλά μηνύματα εντοπισμού σφαλμάτων:

Αρχικοποίηση… Αριθμός μονάδων = 4 Εκκίνηση βρόχου ρολογιού… Μονάδα#1 οθόνηTM () Ενότητα#2 displayTM () Ενότητα#3 displayTM () Ενότητα#4 displayTM () (επανάληψη…)

Εάν δοκιμάσατε τις ενότητες προηγουμένως και όλες λειτουργούσαν, τότε γνωρίζετε ότι οι ενότητες και το Raspberry είναι καλά.

A) HANG - Εάν τα μηνύματα εντοπισμού σφαλμάτων εμφανίζονται να κρέμονται σε ένα σημείο, το πρόγραμμα περιμένει ένα ACK από αυτήν τη μονάδα#.

Ελέγξτε πρώτα την καλωδίωση! Είναι εύκολο να αναποδογυρίσετε ένα καλώδιο ή να το συνδέσετε σε λάθος καρφίτσα GPIO στο Pi.

Δεύτερον, ανταλλάξτε ενότητες για να δείτε αν μια ενότητα έγινε ξαφνικά άσχημα.

Τρίτον, ελέγξτε το αρχείο raspiclock.ini για σφάλματα. Εάν είναι απαραίτητο, διαγράψτε ολόκληρο τον κατάλογο και κάντε ένα άλλο GIT CLONE για να ανακτήσετε ξανά.

Τέταρτον, ελέγξτε ξανά την καλωδίωση!;-)

Β) Εάν λάβετε ένα μήνυμα λάθους Python, επαληθεύστε την έκδοση Python χρησιμοποιώντας:

$ python -V (κεφαλαίο "V")

Python 2.7. Χ

Δεν έχω δοκιμάσει έναντι Python 3, οπότε δεν είμαι σίγουρος αν η βιβλιοθήκη είναι συμβατή. Αντιγράψτε το μήνυμα σφάλματος (συνήθως την τελευταία γραμμή του σφάλματος) και επικολλήστε στην αναζήτηση Google. Αυτό μπορεί να δώσει μια ιδέα για το τι συνέβη.

Βήμα 8: Τελική εγκατάσταση

Τελική εγκατάσταση
Τελική εγκατάσταση

1. Επεξεργαστείτε ξανά το αρχείο. INI και ορίστε debug = 0. $ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Επιβεβαιώστε επίσης ότι οι ζώνες ώρας TZ και οι ρυθμίσεις HR 12/24 ωρών είναι όπως επιθυμείτε.

3. Ρυθμίστε τη Φωτεινότητα όπως θέλετε μεταξύ 1 και 7.

4. Εκτελέστε το σενάριο install.sh για προσθήκη στο pi crontab για αυτόματη εκκίνηση κατά την εκκίνηση.

$ sh install.sh

5. Επανεκκίνηση

$ sudo επανεκκίνηση

6. Θα πρέπει να επανεκκινήσει και μετά να εμφανιστεί σε λειτουργία.

ΠΕΠΕΡΑΣΜΕΝΟΣ!

Συνιστάται: