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

Μια εισαγωγή στις καρφίτσες του Raspberry Pi
Ο όρος GPIO (Έξοδος εισόδου γενικού σκοπού) δεν είναι αποκλειστικός Raspberry Pi. Οι ακίδες εισόδου και εξόδου βρίσκονται στους περισσότερους μικροελεγκτές όπως το Arduino, το Beaglebone και άλλα.
Το GPIO με το Raspberry Pi είναι το μακρύ μπλοκ καρφιτσών στην επάνω αριστερή γωνία του πίνακα. Τα παλαιότερα μοντέλα είχαν 26 ακίδες και τα τρέχοντα μοντέλα έχουν 40 ακίδες.
Μπορείτε να συνδέσετε στοιχεία και άλλες συσκευές υλικού σε αυτές τις ακίδες και να χρησιμοποιήσετε κώδικα για να ελέγξετε τι κάνουν τα εξαρτήματα. Είναι ένα σημαντικό μέρος του Raspberry Pi και ένας εξαιρετικός τρόπος για να μάθετε για τα ηλεκτρονικά.
Μετά από μερικά έργα λογισμικού, πιθανότατα θα πειραματιστείτε με αυτές τις καρφίτσες, πρόθυμοι να αναμίξετε τον κώδικά σας με το υλικό για να κάνετε τα πράγματα να συμβούν στην πραγματική ζωή.
Αυτή η διαδικασία μπορεί να είναι τρομακτική εάν είστε νέοι στο Pi. Λαμβάνοντας υπόψη ότι μια λανθασμένη κίνηση μπορεί να βλάψει το Raspberry Pi σας, είναι κατανοητό ότι είναι μια νευρική περιοχή για αρχάριους να την εξερευνήσουν.
Αυτό το άρθρο εξηγεί τι κάνει κάθε τύπος pin GPIO και τους περιορισμούς του.
Το GPIO
Αρχικά, ας ρίξουμε μια ματιά στο GPIO στο σύνολό του. Οι ακίδες μπορεί να φαίνονται ίδιες, αλλά όλες έχουν διαφορετικές λειτουργίες. Η παρακάτω εικόνα δείχνει αυτές τις λειτουργίες σε διαφορετικά χρώματα.

Κάθε καρφίτσα αριθμείται από το 1 έως το 40, ξεκινώντας από την κάτω αριστερή γωνία. Αυτοί είναι οι φυσικοί αριθμοί pin. Ωστόσο, υπάρχουν επίσης συμβάσεις αρίθμησης και επισήμανσης όπως το BCM, οι οποίες χρησιμοποιούνται κατά τη σύνταξη κώδικα.
Ισχύς και Γείωση
Επισημαίνονται με κόκκινο χρώμα οι ακροδέκτες ισχύος με την ένδειξη 3 ή 5 για 3,3 V ή 5V. Αυτές οι ακίδες σάς επιτρέπουν να στέλνετε ρεύμα σε μια συσκευή χωρίς την ανάγκη κωδικού. Δεν υπάρχει τρόπος να τα απενεργοποιήσετε.

Υπάρχουν δύο ράγες ισχύος: 3,3 βολτ και 5 βολτ. Η ράγα 3,3 V περιορίζεται στην άντληση ρεύματος 50 mA. Αντίθετα, η ράγα 5 V παρέχει οποιαδήποτε τρέχουσα χωρητικότητα έχει απομείνει από την παροχή ρεύματος αφού το Pi έχει πάρει αυτό που χρειάζεται.
Επισημαίνονται με καφέ χρώμα οι καρφίτσες γείωσης (GND). Αυτές οι ακίδες γείωσης αποτελούν ζωτικό μέρος οποιουδήποτε έργου ηλεκτρονικών.
Οι ακίδες GPIO 5V είναι φυσικοί αριθμοί 2 και 4. Οι ακίδες GPIO 3,3 V είναι οι φυσικοί αριθμοί 1 και 17. Οι ακίδες GPIO γείωσης είναι φυσικοί αριθμοί 6, 9, 14, 20, 25, 30, 34 και 39.
Καρφίτσες εισόδου/εξόδου
Οι πράσινες ακίδες είναι γενικές ακίδες εισόδου/εξόδου. Αυτά μπορούν εύκολα να χρησιμοποιηθούν ως είσοδοι ή έξοδοι χωρίς να έρχονται σε σύγκρουση με άλλες λειτουργίες όπως το I2C, το SPI ή το UART.
Αυτές οι ακίδες μπορούν να στείλουν ρεύμα σε LED, βομβητή ή άλλα εξαρτήματα ή μπορούν να χρησιμοποιηθούν ως είσοδος για την ανάγνωση αισθητήρων, διακοπτών ή άλλων συσκευών εισόδου.

Η ισχύς εξόδου αυτών των ακίδων είναι 3,3 V. Κάθε ακροδέκτης δεν πρέπει να υπερβαίνει τα 16 mA ρεύματος, είτε βύθισης είτε προέλευσης. Ολόκληρο το σετ ακίδων GPIO δεν πρέπει να υπερβαίνει τα 50 mA ανά πάσα στιγμή. Αυτό μπορεί να είναι περιοριστικό, επομένως μπορεί να χρειαστεί να γίνετε δημιουργικοί σε ορισμένα έργα.
Οι γενικές ακίδες GPIO είναι φυσικοί αριθμοί 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 και 40.
I2C Pins
Οι ακίδες I2C είναι κίτρινες. I2C είναι ένα πρωτόκολλο επικοινωνίας που επιτρέπει στις συσκευές να επικοινωνούν με το Raspberry Pi. Αυτές οι ακίδες μπορούν επίσης να χρησιμοποιηθούν ως γενικές ακίδες GPIO.

Ένα καλό παράδειγμα χρήσης I2C είναι το δημοφιλές τσιπ επέκτασης θυρών MCP23017, το οποίο μπορεί να σας δώσει περισσότερες ακίδες εισόδου/εξόδου μέσω αυτού του πρωτοκόλλου I2C.
Οι ακίδες I2C GPIO είναι οι φυσικοί αριθμοί ακίδων 3 και 5.
Καρφίτσες UART (Σειρά).
Οι ακίδες UART είναι γκρι. Αυτές οι ακίδες είναι ένα άλλο πρωτόκολλο επικοινωνίας που προσφέρει σειριακές συνδέσεις και μπορούν να χρησιμοποιηθούν ως γενικές είσοδοι/έξοδοι GPIO.

Μια χρήση του UART είναι να ενεργοποιήσει μια σειριακή σύνδεση από ένα Pi σε έναν φορητό υπολογιστή μέσω USB. Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας πρόσθετες πλακέτες ή απλά καλώδια. Καταργεί την ανάγκη για σύνδεση οθόνης ή Διαδικτύου για πρόσβαση στο Pi σας.
Οι ακίδες UART GPIO είναι οι φυσικοί αριθμοί καρφίτσας 8 και 10.
Καρφίτσες SPI
Οι ακίδες SPI είναι ροζ. Το SPI είναι ένας δίαυλος διασύνδεσης που στέλνει δεδομένα μεταξύ του Pi και άλλου υλικού και περιφερειακών. Χρησιμοποιείται συνήθως για την αλυσίδα συσκευών όπως π.χ LED μήτρα ή οθόνη.

Όπως και άλλες, αυτές οι ακίδες μπορούν επίσης να χρησιμοποιηθούν ως γενικές είσοδοι/έξοδοι GPIO.
Οι ακίδες SPI GPIO είναι φυσικοί αριθμοί ακίδων 19, 21, 23, 24 και 26.
Καρφίτσες DNC
Τελευταία είναι δύο καρφίτσες με μπλε χρώμα που φέρουν αυτήν τη στιγμή την ένδειξη ως DNC, που σημαίνει Do Not Connect. Αυτό μπορεί να αλλάξει στο μέλλον εάν το Raspberry Pi Foundation αλλάξει τους πίνακες ή το λογισμικό.

Οι ακίδες DNC GPIO είναι οι φυσικοί αριθμοί ακίδων 27 και 28.
Συμβάσεις αρίθμησης GPIO
Κατά την κωδικοποίηση με το GPIO, έχετε την επιλογή να εισαγάγετε τη βιβλιοθήκη GPIO με έναν από τους δύο τρόπους: BCM ή BOARD.
Η πρώτη επιλογή είναι GPIO BCM. Αυτή είναι η σύμβαση αρίθμησης της Broadcom. Χρησιμοποιείται συνήθως σε έργα και πρόσθετα υλικού.
Η δεύτερη επιλογή είναι ΠΙΝΑΚΑΣ GPIO. Αυτή η μέθοδος χρησιμοποιεί αντ 'αυτού τους φυσικούς αριθμούς καρφίτσας, κάτι που είναι βολικό όταν μετράτε καρφίτσες. Θα διαπιστώσετε ότι χρησιμοποιείται λιγότερο σε παραδείγματα έργων.

Η λειτουργία GPIO ορίζεται κατά την εισαγωγή της βιβλιοθήκης GPIO:
εισαγωγή RPi. GPIO ως GPIO.
Για εισαγωγή ως BCM:
GPIO.setmode (GPIO.BCM)
Για εισαγωγή ως ΣΑΝΙΔΑ:
GPIO.setmode (GPIO.BOARD)
Και οι δύο αυτές μέθοδοι κάνουν την ίδια δουλειά. Είναι θέμα αρίθμησης προτίμησης.
Μπορείτε να χρησιμοποιήσετε πίνακες ετικετών GPIO όπως το RasPiO Portsplus (στη φωτογραφία) για να ελέγξετε σε ποιες ακίδες συνδέετε τα καλώδια. Η μία πλευρά δείχνει τη σύμβαση αρίθμησης BCM. Το άλλο δείχνει BOARD. Έτσι, είστε καλυμμένοι για οποιοδήποτε έργο βρείτε.