- Απαιτούμενα στοιχεία:
- Διάγραμμα κυκλώματος:
- Shift Register IC 74HC595:
- Ροή εργασίας:
- Επεξήγηση προγραμματισμού:
Το Raspberry Pi είναι ένας πίνακας βασισμένος σε επεξεργαστή αρχιτεκτονικής ARM σχεδιασμένος για ηλεκτρονικούς μηχανικούς και χομπίστες. Το PI είναι μια από τις πιο αξιόπιστες πλατφόρμες ανάπτυξης έργων εκεί έξω τώρα. Με υψηλότερη ταχύτητα επεξεργαστή και 1 GB RAM, το PI μπορεί να χρησιμοποιηθεί για πολλά έργα υψηλού προφίλ, όπως η επεξεργασία εικόνας και το Internet of Things.
Για την εκτέλεση οποιωνδήποτε έργων υψηλού προφίλ, πρέπει να κατανοήσουμε τις βασικές λειτουργίες του PI. Θα καλύψουμε όλες τις βασικές λειτουργίες του Raspberry Pi σε αυτά τα σεμινάρια. Σε κάθε σεμινάριο θα συζητήσουμε μία από τις λειτουργίες του PI. Μέχρι το τέλος αυτής της σειράς Raspberry Pi Tutorial, θα μπορείτε να κάνετε έργα υψηλού προφίλ μόνοι σας. Παρακολουθήστε τα παρακάτω σεμινάρια:
- Ξεκινώντας με το Raspberry Pi
- Διαμόρφωση Raspberry Pi
- LED Blinky
- Διασύνδεση κουμπιών Raspberry Pi
- Παραγωγή Raspberry Pi PWM
- Έλεγχος DC Motor με χρήση Raspberry Pi
- Έλεγχος κινητήρα Stepper με Raspberry Pi
Σε αυτό το σεμινάριο για το μητρώο shift Raspberry Pi, θα κάνουμε Interface Shift Register με Pi. Το PI έχει 26 καρφίτσες GPIO, αλλά όταν κάνουμε έργα όπως ο εκτυπωτής 3D, οι ακίδες εξόδου που παρέχονται από το PI δεν είναι αρκετές. Χρειαζόμαστε λοιπόν περισσότερες καρφίτσες εξόδου, για την προσθήκη περισσότερων ακίδων εξόδου στο PI, προσθέτουμε το Shift Register Chip. Ένα τσιπ Shift Register λαμβάνει σειριακά δεδομένα από την πλακέτα PI και δίνει παράλληλη έξοδο. Το τσιπ είναι 8bit, οπότε το τσιπ παίρνει 8bits από το PI σειριακά και στη συνέχεια παρέχει τη λογική έξοδο 8bit μέσω 8 ακίδων εξόδου.
Για 8 bit shift register, πρόκειται να χρησιμοποιήσουμε το IC 74HC595. Είναι ένα τσιπ 16 PIN. Η διαμόρφωση pin του chip εξηγείται παρακάτω παρακάτω σε αυτό το σεμινάριο.
Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε τρεις καρφίτσες GPIO PI για να λάβουμε οκτώ εξόδους από το Shift Register Chip. Θυμηθείτε εδώ ότι τα PIN του chip είναι μόνο για έξοδο, οπότε δεν μπορούμε να συνδέσουμε αισθητήρες με έξοδο chip και να περιμένουμε από το PI να τα διαβάσει. Τα LED συνδέονται στην έξοδο chip για να δουν τα δεδομένα 8 bit που αποστέλλονται από το PI.
Θα συζητήσουμε λίγο για το Raspberry Pi GPIO Pins πριν προχωρήσουμε περαιτέρω,
Υπάρχουν 40 καρφίτσες εξόδου GPIO στο Raspberry Pi 2. Αλλά από τους 40, μπορούν να προγραμματιστούν μόνο 26 ακροδέκτες GPIO (GPIO2 έως GPIO27). Ορισμένες από αυτές τις ακίδες εκτελούν ορισμένες ειδικές λειτουργίες. Με το ειδικό GPIO να παραμεριστεί, απομένουν μόνο 17 GPIO. Κάθε ένας από αυτούς τους ακροδέκτες 17 GPIO μπορεί να αποδώσει μέγιστο ρεύμα 15mA. Και το άθροισμα των ρευμάτων από όλες τις ακίδες GPIO δεν μπορεί να υπερβαίνει τα 50mA. Για να μάθετε περισσότερα για τις καρφίτσες GPIO, ανατρέξτε στο: Αναβοσβήνει LED με Raspberry Pi
Απαιτούμενα στοιχεία:
Εδώ χρησιμοποιούμε το Raspberry Pi 2 Model B με το Raspbian Jessie OS. Όλες οι βασικές απαιτήσεις υλικού και λογισμικού συζητήθηκαν προηγουμένως, μπορείτε να το αναζητήσετε στην Εισαγωγή Raspberry Pi, εκτός από αυτό που χρειαζόμαστε:
- Σύνδεση ακίδων
- Αντίσταση 220Ω ή 1KΩ (6)
- LED (8)
- Πυκνωτής 0,01µF
- 74HC595 IC
- Πίνακας ψωμιού
Διάγραμμα κυκλώματος:
Shift Register IC 74HC595:
Ας μιλήσουμε για τα PIN των SHIFT REGISTER που πρόκειται να χρησιμοποιήσουμε εδώ.
Όνομα καρφιτσώματος |
Περιγραφή |
Q0 - Q7 |
Είναι οι ακίδες εξόδου (κόκκινο ορθογώνιο), όπου έχουμε παράλληλα 8 Bit Data. Θα συνδέσουμε οκτώ LED σε αυτά για να δούμε την παράλληλη έξοδο. |
Καρφίτσα δεδομένων (DS) |
Τα πρώτα δεδομένα αποστέλλονται σιγά-σιγά σε αυτήν την καρφίτσα. Για να στείλετε 1, ανεβάζουμε τον πείρο DATA ψηλά και για να στείλουμε 0 θα τραβήξουμε προς τα κάτω τον πείρο DATA. |
Ρολόι ρολογιού (SHCP) |
Κάθε παλμός σε αυτόν τον πείρο αναγκάζει τους καταχωρητές να λαμβάνουν ένα bit δεδομένων από τον πείρο DATA και να τα αποθηκεύουν. |
Έξοδος Shift (STCP) |
Αφού λάβουμε 8 bit, παρέχουμε παλμό αυτόν τον πείρο για να δούμε την έξοδο. |
Ροή εργασίας:
Θα ακολουθήσουμε το Διάγραμμα ροής και θα γράψουμε ένα δεκαδικό πρόγραμμα μετρητών στο PYTHON. Όταν εκτελούμε το πρόγραμμα, βλέπουμε LED Counting χρησιμοποιώντας Shift Register στο Raspberry Pi.
Επεξήγηση προγραμματισμού:
Μόλις όλα συνδεθούν σύμφωνα με το διάγραμμα κυκλώματος, μπορούμε να ενεργοποιήσουμε το PI για να γράψουμε το πρόγραμμα σε PYHTON.
Θα μιλήσουμε για λίγες εντολές που πρόκειται να χρησιμοποιήσουμε στο πρόγραμμα PYHTON, Πρόκειται να εισαγάγουμε αρχείο GPIO από τη βιβλιοθήκη, η παρακάτω λειτουργία μας επιτρέπει να προγραμματίζουμε τις καρφίτσες GPIO του PI. Μετονομάζουμε επίσης "GPIO" σε "IO", οπότε στο πρόγραμμα όποτε θέλουμε να αναφερθούμε στις καρφίτσες GPIO θα χρησιμοποιήσουμε τη λέξη "IO".
εισαγάγετε RPi.GPIO ως IO
Μερικές φορές, όταν οι ακίδες GPIO, τις οποίες προσπαθούμε να χρησιμοποιήσουμε, μπορεί να κάνουν κάποιες άλλες λειτουργίες. Σε αυτήν την περίπτωση, θα λάβουμε προειδοποιήσεις κατά την εκτέλεση του προγράμματος. Η παρακάτω εντολή λέει στο PI να αγνοήσει τις προειδοποιήσεις και να συνεχίσει το πρόγραμμα.
IO.setwarnings (Λάθος)
Μπορούμε να παραπέμψουμε τους ακροδέκτες GPIO του PI, είτε με τον αριθμό καρφίτσας επί του σκάφους είτε με τον αριθμό λειτουργίας τους. Όπως το «PIN 29» στον πίνακα είναι «GPIO5». Λοιπόν, λέμε εδώ ότι θα αντιπροσωπεύσουμε το pin εδώ με «29» ή «5».
IO.setmode (IO.BCM)
Ρυθμίζουμε τις εξόδους GPIO4, GPIO5 και GPIO6 ως έξοδο
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
Αυτή η εντολή εκτελεί τον βρόχο 8 φορές.
για y στην περιοχή (8):
Ενώ το 1: χρησιμοποιείται για το άπειρο βρόχο. Με αυτήν την εντολή, οι δηλώσεις εντός αυτού του βρόχου θα εκτελούνται συνεχώς.
Περαιτέρω επεξήγηση του Προγράμματος δίνεται στην Ενότητα Κώδικα παρακάτω. Έχουμε όλες τις οδηγίες που απαιτούνται για την αποστολή δεδομένων στο SHIFT REGISTER τώρα.