Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

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

Εδώ θα εξερευνήσουμε πώς μπορείτε να ελέγξετε κάθε τμήμα μιας οθόνης επτά τμημάτων με ένα Raspberry Pi Pico και κάποιο κώδικα MicroPython.

Τι θα χρειαστείτε;

Τα ακόλουθα στοιχεία περιλαμβάνονται στο Kitronik Inventor's Kit για Raspberry Pi Pico. Ωστόσο, εάν είστε συσσωρευτής ηλεκτρονικών ειδών, είναι πολύ πιθανό να έχετε αυτά τα εξαρτήματα κρυμμένα στο σπίτι.

  • Οθόνη επτά τμημάτων
  • Αντιστάσεις 7x220Ω
  • 9x καλώδια άλτης αρσενικού-αρσενικού
  • Breadboard

Θα χρειαστείτε ένα Pico με προσαρτημένες κεφαλίδες pin GPIO. Αν δεν το έχετε κάνει ήδη, μάθετε πώς να κολλήσετε καρφίτσες κεφαλίδας σε ένα Raspberry Pi Pico.

instagram viewer

Σύνδεση του Υλικού

Η καλωδίωση για αυτό το έργο δεν είναι περίπλοκη. Ωστόσο, με μια χούφτα αντιστάσεις και καλώδια βραχυκυκλωτήρα στο παιχνίδι, αυτό θα απαιτήσει να παραμείνετε σε εγρήγορση για να διασφαλίσετε ότι όλα τα κομμάτια είναι συνδεδεμένα στις σωστές ακίδες. Έχοντας αυτό κατά νου, ας δούμε πώς συνδέονται τα εξαρτήματα μεταξύ του Raspberry Pi Pico και του breadboard.

Πρώτα, περάστε ένα σύρμα από έναν πείρο GND στο Pico και τοποθετήστε το άλλο άκρο σε οποιαδήποτε τρύπα κατά μήκος της αρνητικής ράγας breadboard. Οι υπόλοιπες υποδοχές θα συνδεθούν σε μέρη του breadboard γύρω από την οθόνη επτά τμημάτων και τις αντιστάσεις.

Τα καλώδια βραχυκυκλωτήρα δρομολογούνται από GP16, GP17, και GP18 θα συνδεθεί στη δεξιά πλευρά της οθόνης και σε ευθυγράμμιση με τις αντιστάσεις που βρίσκονται πάνω από την οθόνη.

Στην αριστερή πλευρά της οθόνης επτά τμημάτων, θα χρειαστεί να τρέξετε την άλλη πλευρά των καλωδίων που εκτελούνται από GP15, GP14, GP13, και GP12 σε συνδέσεις breadboard. Και πάλι, φροντίστε να συνδέσετε τα καλώδια σύμφωνα με τις σωστές αντιστάσεις.

Υπάρχει ένα μικρότερο καλώδιο βραχυκυκλωτήρα που θα πρέπει να συνδεθεί κατά μήκος της αρνητικής ράγας του breadboard. Η άλλη πλευρά αυτής της σύνδεσης θα πάει ανάμεσα σε δύο αντιστάσεις ακριβώς πάνω από την οθόνη. Φροντίστε να επιβεβαιώσετε ότι οι λωρίδες της αντίστασης είναι κόκκινες, κόκκινες, καφέ και χρυσές (για 220 ohms).

Αντιμετωπίζετε προβλήματα; Εξετάστε το ενδεχόμενο να δοκιμάσετε τις αντιστάσεις σας (ειδικά αν έχετε συσσωρεύσει ηλεκτρονικά εξαρτήματα για κάποιο χρονικό διάστημα). Δείτε τον οδηγό μας για πώς να μετρήσετε την αντίσταση με ένα πολύμετρο για τα βήματα δοκιμής.

Εξερευνώντας τον Κώδικα

Θα έχετε την ευκαιρία να ελέγξετε καθένα από τα επτά τμήματα της οθόνης χρησιμοποιώντας το Thonny IDE. Δείτε τον οδηγό μας για το πώς να ξεκινήστε με το MicroPython στο Raspberry Pi Pico Για περισσότερες πληροφορίες. Μπορείτε να κατεβάσετε το 7segment.py αρχείο κώδικα από το Αποθετήριο MUO GitHub.

Ένα κρίσιμο κομμάτι του κώδικα είναι η αντιστοίχιση των επτά τμημάτων της οθόνης στις πινέζες Pico GP12 διά μέσου GP18, το καθένα με ένα όνομα μεταβλητής (segA προς την segG).

segA = μηχανή. Καρφίτσα (18, μηχανή. Καρφίτσα. ΕΞΩ)
segB = μηχανή. Καρφίτσα (17, μηχανή. Καρφίτσα. ΕΞΩ)
segC = μηχανή. Καρφίτσα (16, μηχανή. Καρφίτσα. ΕΞΩ)
segD = μηχανή. Καρφίτσα (15, μηχανή. Καρφίτσα. ΕΞΩ)
segE = μηχανή. Καρφίτσα (14, μηχανή. Καρφίτσα. ΕΞΩ)
segF = μηχανή. Καρφίτσα (13, μηχανή. Καρφίτσα. ΕΞΩ)
segG = μηχανή. Καρφίτσα (12, μηχανή. Καρφίτσα. ΕΞΩ)

Μια λίστα, που ονομάζεται καρφίτσες, κρατά αυτές τις μεταβλητές με την ίδια σειρά. Μια ένθετη λίστα (γνωστή και ως "λίστα λιστών"), που ονομάζεται αριθμοί, στη συνέχεια χρησιμοποιείται για να προσδιοριστεί ποια τμήματα πρέπει να ανάβουν για κάθε ψηφίο. κάθε γραμμή αντιπροσωπεύει ένα ψηφίο από το 0 έως το 9, συν μια τελική γραμμή για κανένα ψηφίο. Ένα "1" στη λίστα υποδεικνύει ότι το τμήμα πρέπει να είναι αναμμένο. ένα "0" σημαίνει ότι δεν πρέπει.

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

Τέλος, α ενώ Αλήθεια: Το infiniteloop θα καλέσει τη συνάρτηση displayNumber επανειλημμένα για να μετρήσει από το 0 έως το 9 και μετά με αντίστροφη σειρά. Όταν ολοκληρωθεί αυτό, η οθόνη θα διαγραφεί για ένα σύντομο χρονικό διάστημα. Από εκεί και πέρα ​​η διαδικασία θα ξεκινήσει ξανά.

ενώΑληθής:
για i στην περιοχή (10):
Αριθμός εμφάνισης (i)
χρόνος.sleep_ms(600)

για i στην περιοχή (9, -1, -1):
Αριθμός εμφάνισης (i)
χρόνος.sleep_ms(600)

Εάν δεν έχετε ήδη μαντέψει, αυτός ο βρόχος δεν θα σταματήσει. Ο κωδικός θα δώσει εντολή στο Raspberry Pi Pico να μετρήσει σε έναν ατελείωτο βρόχο. Έτσι, όταν η καινοτομία του επιτεύγματός σας έχει εξαντληθεί, θα χρειαστεί να πατήσετε το κουμπί διακοπής στο Thonny.

Με τι θα πειραματιστείτε στη συνέχεια;

Σας εμπνέει αυτό το έργο να δημιουργήσετε ένα ψηφιακό ρολόι χρησιμοποιώντας το Raspberry Pi Pico και επιπλέον οθόνες επτά τμημάτων; Καλύτερα ακόμα, χαρείτε έναν υπολογιστή Raspberry Pi πλήρους μεγέθους και διαμορφώστε έναν προγραμματιστή cron για να παίζει ένα τραγούδι κάθε πρωί στις 7:00. Ένα κουμπί αναβολής μπορεί να προστεθεί σταματώντας τη μουσική και μετά παίζοντας τον ήχο δέκα λεπτά αργότερα. Όταν πατήσετε το κουμπί τρεις φορές, η μουσική μπορεί να ρυθμιστεί ώστε να απενεργοποιείται μέχρι αύριο.