Πώς να ενεργοποιήσετε το SPI / I2C στο Raspberry Pi (και τι να τα χρησιμοποιήσετε για)

Πιθανότατα γνωρίζετε για τους ακροδέκτες GPIO στο Raspberry Pi, αλλά τι γίνεται με τους συνδετήρες SPI και I2C; Ποια είναι αυτά και πώς μπορείτε να τα χρησιμοποιήσετε;

Πιθανότατα γνωρίζετε για τους ακροδέκτες GPIO στο Raspberry Pi, αλλά τι γίνεται με τους συνδετήρες SPI και I2C;  Ποια είναι αυτά και πώς μπορείτε να τα χρησιμοποιήσετε;
Διαφήμιση

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

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

Τι είναι το SPI στο Raspberry Pi;

Πριν από την κατάδυση, ας καλύψουμε εν συντομία τι κάνουν αυτά τα δύο πρωτόκολλα.

Το SPI (ή η σειριακή περιφερειακή διασύνδεση) επιτρέπει σε έναν μικροελεγκτή όπως ο Pi να επικοινωνεί με πάνω από 100 περιφερειακά στοιχεία ταυτόχρονα. Ο μικροελεγκτής λειτουργεί ως "master" σε όλα τα εξαρτήματα "slave" και μπορεί να επικοινωνήσει μαζί τους με μεγάλη ταχύτητα. Αυτό το διάγραμμα περιγράφει μια απλή σύνδεση SPI:

SPI και I2C στο Raspberry Pi
Image Credit: Cburnett / wikipedia.org

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

Σε κάθε κύκλο (ή "tick") του ρολογιού, τόσο ο κύριος όσο και ο σκλάβος αποστέλλουν και λαμβάνουν ένα bit πληροφοριών. Αυτό είναι το ποντίκι MOSI (Master Out Slave In) και MISO (Master In Slave Out).

Ο ακροδέκτης SS ή Slave Select (που έχει επισημανθεί CE0 ή CE1 στο Pi) χρησιμοποιείται για να ειδοποιήσει μια υποτελούμενη συσκευή να επικοινωνεί με τον κύριο ή όχι σε οποιαδήποτε δεδομένη στιγμή. Στις περισσότερες περιπτώσεις, κάθε υποτελής συσκευή απαιτεί τον δικό της ακροδέκτη SS, αλλά μπορεί να μοιράζεται τις ακίδες SCLK, MOSI και MISO.

Ορισμένες συσκευές μπορούν να είναι "αλυσοδεμένες" για να μοιράζονται έναν ακροδέκτη SS, διατηρώντας τις συνολικές ακίδες που χρησιμοποιούνται μέχρι τέσσερα, συν δύο για ισχύ και γείωση. Το SPI είναι γνωστό ότι είναι απίστευτα γρήγορο και χρησιμοποιείται συνήθως σε καταχωρητές μετατόπισης ή ADC (μετατροπείς αναλογικού σε ψηφιακό) για τη μετάδοση δεδομένων μεταξύ συσκευών.

Augmented Startups Το κανάλι YouTube έχει ένα εύκολο να ακολουθήσει εκκίνηση για το SPI, εξηγώντας περαιτέρω το πρωτόκολλο:

Πώς να ενεργοποιήσετε το SPI στο Raspberry Pi

Για να ενεργοποιήσετε το SPI στο Raspberry Pi, ανοίξτε το raspi-config από το τερματικό εισάγοντας:

sudo raspi-config 

Μεταβείτε στις επιλογές διεπαφής και στο επόμενο μενού επιλέξτε P4 SPI Ενεργοποίηση / απενεργοποίηση αυτόματης φόρτωσης της μονάδας πυρήνα SPI . Επιλέξτε Ναι στη γραμμή παραθύρου. Το SPI είναι πλέον ενεργοποιημένο!

SPI και I2C στο Raspberry Pi

Εναλλακτικά, μπορείτε να ενεργοποιήσετε το SPI από το αρχείο /boot/config.txt . Ανοίξτε ένα παράθυρο τερματικού και εισάγετε:

 sudo nano /boot/config.txt 

Αναζητήστε μια γραμμή που διαβάζει # dtparam = spi = on και αφαιρέστε το σύμβολο # . Όποια και αν είναι η δυνατότητα ενεργοποίησης του SPI, θα γίνει επανεκκίνηση του Pi και του SPI.

Τι μπορείτε να κάνετε με το SPI στο Raspberry Pi;

Ενώ υπάρχουν εκατοντάδες διαφορετικά έργα που χρησιμοποιούν πολλά διαφορετικά περιφερειακά SPI, ένα καλό πρόγραμμα εκκίνησης προγραμματίζει τον δικό σας αναγνώστη RFID.

Χρησιμοποιήσαμε τον αναγνώστη MFRC-522 στην DIY Smart Lock με τον οδηγό Arduino και RFID DIY Smart Lock με Arduino και RFID DIY Smart Lock με Arduino και RFID Εδώ είναι πώς να οικοδομήσουμε μια απλή έξυπνη κλειδαριά που βασίζεται σε RFID χρησιμοποιώντας ένα Arduino ως σπονδυλική στήλη λίγα φθηνά εξαρτήματα. Διαβάστε περισσότερα . Για μια εισαγωγή με γεύση Raspberry Pi στην RFID, ελέγξτε το in-depth Instructable του piddlerintheroot.

Αυτό το είδος εγκατάστασης δεν είναι μόνο για ηλεκτρονικά χόμπι, είτε. Στη συλλογή μας των καλύτερων έργων Raspberry Pi Τα 13 καλύτερα έργα Raspberry Pi του 2017 Τα 13 καλύτερα σχέδια Pi του Raspberry Pi του 2017 Θα σας φουσκώσουν από αυτά τα εντυπωσιακά δημιουργικά σχέδια Raspberry Pi. Διαβάστε περισσότερα, παρουσιάσαμε ένα σύστημα MES πλήρους κλίμακας που λειτουργεί με Raspberry Pi και RFID, στο πλαίσιο μιας μεγάλης κλίμακας εργοστασιακής λειτουργίας στην Ευρώπη.

Τι είναι το I2C στο Raspberry Pi;

Το I2C είναι το πρωτόκολλο επικοινωνίας που δημιουργήθηκε από την Phillips Electronics, η οποία έχει δει μια υπερβολική χρήση σε προγράμματα χόμπι που βασίζονται σε μικροελεγκτές. Ο λόγος για αυτό είναι προφανής-χρησιμοποιεί μόνο δύο σύρματα αντί για το ελάχιστο τεσσάρων SPI. Υποστηρίζεται επίσης καλά από τις βιβλιοθήκες που δημιουργούν οι χρήστες. Υπάρχουν πολλά εξαρτήματα που έχουν σχεδιαστεί για χρήση με το I2C στο Raspberry Pi. Ενώ είναι πιο αργή από την SPI, εξακολουθεί να λειτουργεί αρκετά γρήγορα για τις καθημερινές χρήσεις.

Όπως το SPI, το πρωτόκολλο έχει μια κύρια συσκευή, όπως το Pi, και μια υποτελής συσκευή, όπως οθόνη, κιβώτιο ταχυτήτων ή οδηγό κινητήρα.

Η πρώτη σύνδεση μεταξύ των συσκευών είναι το SCL (σειριακό ρολόι) το οποίο έχει οριστεί από τον κύριο για να συγχρονίσει τη μεταφορά δεδομένων. Η δεύτερη γραμμή είναι το SDA (Serial Data) το οποίο μεταφέρει τα δεδομένα εμπρός και πίσω μεταξύ όλων των συσκευών του δίαυλου I2C.

Η κύρια συσκευή ξεκινά την επικοινωνία με ένα bit έναρξης και μια δεκαεξαδική διεύθυνση hex . Αυτό πρέπει να ταιριάζει με την υποτελούμενη συσκευή για να επικοινωνήσουν. Αυτός είναι ο τρόπος με τον οποίο πολλές συσκευές μπορούν να χρησιμοποιηθούν μόνο με δύο καλώδια.

Στη συνέχεια, η κύρια συσκευή καθορίζει αν θέλει να διαβάσει ή να γράψει ( R / W ) τη σκλάβα, πριν λάβει μια επιβεβαίωση ή την επιστροφή ACK .

Ένα εύκολο στη συνέχεια και σε βάθος ματιά στο I2C παρέχεται για άλλη μια φορά από το YouTuber Augmented Startups:

Πώς να ενεργοποιήσετε το I2C στο Raspberry Pi

Το I2C είναι επίσης ενεργοποιημένο στο Pi μέσω του μενού raspi-config . Ανοίξτε το τερματικό και πληκτρολογήστε:

 sudo raspi-config 

Χρησιμοποιήστε τα πλήκτρα βέλους για να επιλέξετε Επιλογές διεπαφής, ακολουθούμενο από το P5 I2C Ενεργοποίηση / απενεργοποίηση αυτόματης φόρτωσης της μονάδας πυρήνα I2C . Επιβεβαιώστε ότι θέλετε να ενεργοποιήσετε το πρωτόκολλο και θα πρέπει να δείτε μια οθόνη επιβεβαίωσης.

SPI και I2C στο Raspberry Pi

Όπως και με το SPI, μπορείτε επίσης να ενεργοποιήσετε το I2C τροποποιώντας το αρχείο config.txt. Ανοίξτε ένα τερματικό και πληκτρολογήστε:

 sudo nano /boot/config.txt 

Τροποποιήστε την επιλογή # dtparam = i2c_arm =, αφαιρώντας το σύμβολο # .

SPI και I2C στο Raspberry Pi

Επανεκκινήστε το Pi σας και το I2C είναι έτοιμο να ξεκινήσει!

Τι μπορείτε να κάνετε με το I2C στο Raspberry Pi;

Το I2C είναι ιδανικό για κάθε έργο που απαιτεί μεγάλο αριθμό εξόδων. Μια τυπική χρήση είναι για οθόνες LCD, οι οποίες απαιτούν έως και 16 ακίδες για χρήση. Το I2C το φέρνει μόνο σε δύο για επικοινωνία και δύο για ισχύ και έδαφος.

Πολλές οθόνες LCD συνοδεύονται από ένα "σακίδιο" I2C, καθιστώντας τους πολύ απλούστερους να εγκατασταθούν και απελευθερώνοντας τους υπόλοιπους ακροδέκτες σας Pi για άλλους αισθητήρες και περιφερειακά.

ΤοRaspberryPiGuy διαθέτει ένα λεπτομερές σεμινάριο YouTube σχετικά με τη δημιουργία και τη χρήση οθόνης LCD με I2C σε Raspberry Pi

Χρησιμοποιώντας SPI και I2C σώζει Pins!

Το SPI και το I2C στο Raspberry Pi σίγουρα δεν είναι για αρχάριους ηλεκτρονικούς υπολογιστές, αλλά δεν είναι και τίποτα να φοβηθούν.

Πριν από την κατάδυση, θα ήταν καλή ιδέα να ακολουθήσετε τον οδηγό του αρχαρίου για το Raspberry Pi για να μάθετε τα βασικά στοιχεία.

Εργαζόμενοι σε ορισμένα παραδείγματα έργων είναι ο καλύτερος τρόπος για να μάθουμε και ανυπομονούμε να δούμε τι φτάνετε! Ποιος ξέρει τι περίεργες και υπέροχες δημιουργίες Raspberry Pi 10 Το πιο περίεργο Raspberry Pi Έργα Έχει έναν τρελό επιστήμονα μέσα σε κάθε έναν από εμάς και το Raspberry Pi σας αφήνει το εσωτερικό στέλεχος να βγει και να παίξει. Μερικές φορές, τα πράγματα γίνονται παράξενα. Πραγματικά παράξενο. Διαβάστε περισσότερα που θα κάνετε;

In this article