Μια περιήγηση στο Raspberry Pi GPIO

01 από 09

Εισαγωγή στις ακίδες του Raspberry Pi

Το Raspberry Pi GPIO. Ρίτσαρντ Σαβίλ

Ο όρος «GPIO» (Γενική Εισαγωγή Έξοδος) δεν είναι αποκλειστικά για το Raspberry Pi. Οι ακίδες εισόδου και εξόδου μπορούν να βρεθούν στους περισσότερους μικροελεγκτές όπως το Arduino, το Beaglebone και άλλα.

Όταν μιλάμε για το GPIO με το Raspberry Pi, αναφερόμαστε στο μακρύ μπλοκ των ακίδων στην πάνω αριστερή γωνία του πίνακα. Τα παλαιότερα μοντέλα είχαν 26 καρφίτσες, ωστόσο οι περισσότεροι από εμάς θα χρησιμοποιούν ένα τρέχον μοντέλο με 40.

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

Μετά από μερικά έργα λογισμικού, πιθανότατα θα βρείτε τον εαυτό σας να πειραματίζεται με αυτές τις καρφίτσες, πρόθυμοι να αναμειγνύουν τον κώδικα σας με το υλικό για να κάνουν τα πράγματα να συμβαίνουν στην «πραγματική ζωή».

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

Αυτό το άρθρο θα εξηγήσει τι κάνει κάθε τύπος καρφίτσας GPIO και τους περιορισμούς του.

02 του 09

Το GPIO

Οι ακίδες GPIO αριθμούνται από 1 έως 40 και μπορούν να ομαδοποιηθούν με διαφορετικές λειτουργίες. Ρίτσαρντ Σαβίλ

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

Κάθε καρφίτσα αριθμείται από 1 έως 40 που αρχίζει από κάτω αριστερά. Αυτοί είναι οι φυσικοί αριθμοί καρφίτσας, ωστόσο, υπάρχουν επίσης συμβάσεις αρίθμησης / σήμανσης όπως «BCM» που χρησιμοποιούνται κατά την εγγραφή κώδικα.

03 του 09

Ισχύς & Γείωση

Το Raspberry Pi προσφέρει πολλαπλές καρφίτσες ισχύος και γείωσης. Ρίτσαρντ Σαβίλ

Με κόκκινο χρώμα, είναι οι ακίδες τροφοδοσίας με την ένδειξη '3' ή '5' για 3.3V ή 5V.

Αυτές οι καρφίτσες σας επιτρέπουν να στέλνετε απευθείας τροφοδοσία σε μια συσκευή χωρίς να χρειάζεστε κανένα κωδικό. Δεν υπάρχει τρόπος να τις απενεργοποιήσετε.

Υπάρχουν 2 ράγες τροφοδοσίας - 3,3 βολτ και 5 βολτ. Σύμφωνα με αυτό το άρθρο, η ράβδος 3.3V περιορίζεται σε 50mA τρέχουσα κλήρωση, ενώ η 5V σιδηροτροχιά μπορεί να παράσχει όποια τρέχουσα χωρητικότητα παραμένει από το τροφοδοτικό σας αφού η Pi έχει πάρει αυτό που χρειάζεται.

Χαρακτηρισμένα καφέ είναι οι πείροι γείωσης (GND). Αυτές οι καρφίτσες είναι ακριβώς αυτό που λένε - οι πείροι γείωσης - οι οποίες αποτελούν ζωτικό μέρος κάθε έργου ηλεκτρονικών.

(Οι ακροδέκτες GPIO 5V είναι φυσικοί αριθμοί 2 και 4. Οι ακροδέκτες GPIO των 3.3V είναι φυσικοί αριθμοί 1 και 17. Οι ακροδέκτες GPIO εδάφους είναι φυσικοί αριθμοί 6, 9, 14, 20, 25, 30, 34 και 39)

04 του 09

Ακίδες εισόδου / εξόδου

Οι ακροδέκτες εισόδου και εξόδου επιτρέπουν τη σύνδεση υλικού όπως αισθητήρες και διακόπτες. Ρίτσαρντ Σαβίλ

Οι πράσινες καρφίτσες είναι αυτό που αποκαλώ "γενικές" ακίδες εισόδου / εξόδου. Αυτά μπορούν εύκολα να χρησιμοποιηθούν ως είσοδοι ή έξοδοι χωρίς ανησυχίες για σύγκρουση με άλλες λειτουργίες όπως I2C, SPI ή UART.

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

Η ισχύς εξόδου αυτών των ακίδων είναι 3.3V. Κάθε ακίδα δεν πρέπει να υπερβαίνει τα 16mA του ρεύματος, είτε να βυθίζεται είτε να προμηθεύεται, και το σύνολο των ακροδεκτών GPIO δεν πρέπει να υπερβαίνει τα 50mA ανά πάσα στιγμή. Αυτό μπορεί να είναι περιοριστικό, οπότε ίσως χρειαστεί να γίνετε δημιουργικοί σε ορισμένα έργα.

(Οι γενικοί πείροι GPIO είναι φυσικοί αριθμοί 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 και 40)

05 του 09

I2C Pins

Το I2C σάς επιτρέπει να συνδέσετε άλλες συσκευές στο Pi με μόνο μερικές ακίδες. Ρίτσαρντ Σαβίλ

Με κίτρινο, έχουμε τους ακροδέκτες I2C. Το I2C είναι ένα πρωτόκολλο επικοινωνίας που με απλά λόγια επιτρέπει στις συσκευές να επικοινωνούν με το Raspberry Pi. Αυτές οι καρφίτσες μπορούν επίσης να χρησιμοποιηθούν ως «γενικές» καρφίτσες GPIO.

Ένα καλό παράδειγμα χρήσης του I2C είναι το πολύ δημοφιλές τσιπ MCP23017, το οποίο μπορεί να σας δώσει περισσότερους ακροδέκτες εισόδου / εξόδου μέσω αυτού του πρωτοκόλλου I2C.

(Οι καρφίτσες I2C GPIO είναι φυσικοί αριθμοί καρφίτσας 3 και 5)

06 του 09

UART (σειριακές) ακίδες

Συνδεθείτε στο Pi μέσω μιας σειριακής σύνδεσης με τους ακροδέκτες UART. Ρίτσαρντ Σαβίλ

Με γκρι χρώμα, είναι οι καρφίτσες UART. Αυτές οι καρφίτσες είναι ένα άλλο πρωτόκολλο επικοινωνίας που προσφέρει σειριακές συνδέσεις και μπορεί επίσης να χρησιμοποιηθεί ως είσοδο / έξοδος GPIO «γενικής χρήσης».

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

(Οι ακίδες UART GPIO είναι φυσικοί αριθμοί pin 8 και 10)

07 του 09

SPI Pins

Οι SPI Pins - ένα άλλο χρήσιμο πρωτόκολλο επικοινωνίας. Ρίτσαρντ Σαβίλ

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

Όπως και άλλοι, αυτές οι καρφίτσες μπορούν επίσης να χρησιμοποιηθούν ως γενικές εισόδους / εξόδους GPIO.

(Οι ακίδες SPI GPIO είναι φυσικοί αριθμοί καρφίτσας 19, 21, 23, 24 και 26)

08 από 09

DNC ακίδες

Τίποτα δεν βλέπει εδώ - οι ακίδες DNC δεν λειτουργούν καθόλου. Ρίτσαρντ Σαβίλ

Τέλος, υπάρχουν δύο καρφίτσες με μπλε χρώματα που επί του παρόντος φέρουν την ετικέτα DNC που σημαίνει "Do not Connect". Αυτό μπορεί να αλλάξει στο μέλλον, εάν το Raspberry Pi Foundation αλλάξει τα διοικητικά συμβούλια / το λογισμικό.

(Οι ακίδες DNC GPIO είναι φυσικοί αριθμοί καρφίτσας 27 και 28)

09 του 09

Συμβάσεις αρίθμησης GPIO

Το Portsplus είναι ένα εύχρηστο εργαλείο για τον έλεγχο των αριθμών καρφίτσας GPIO. Ρίτσαρντ Σαβίλ

Κατά την κωδικοποίηση με το GPIO, έχετε την επιλογή να εισάγετε τη βιβλιοθήκη GPIO με έναν από τους δύο τρόπους - BCM ή BOARD.

Η επιλογή που προτιμώ είναι η GPIO BCM. Αυτή είναι η σύμβαση αρίθμησης Broadcom και θεωρώ ότι χρησιμοποιείται συχνότερα σε προγράμματα και πρόσθετα υλικού.

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

Η λειτουργία GPIO έχει οριστεί κατά την εισαγωγή της βιβλιοθήκης GPIO:

Για να εισαγάγετε ως BCM:

εισαγωγή RPi.GPIO ως GPIO GPIO.setmode (GPIO.BCM)

Για να εισαγάγετε ως BOARD:

εισαγωγή RPi.GPIO ως GPIO GPIO.setmode (GPIO.BOARD)

Και οι δύο αυτές μέθοδοι κάνουν ακριβώς την ίδια δουλειά, είναι απλώς θέμα αρίθμησης προτιμήσεων.

Χρησιμοποιώ τακτικά εύχρηστοι πίνακες ετικετών GPIO όπως το RasPiO Portsplus (εικόνα) για να ελέγξετε ποιες καρφίτσες συνδέω και καλώδια. Στη μία πλευρά εμφανίζεται η σύμβαση αριθμοδότησης BCM, η άλλη δείχνει το BOARD - ώστε να καλύπτεται για οποιοδήποτε έργο βρίσκετε.