Περίληψη
Για τις μεγάλες εφαρμογές είναι απαραίτητο η επέκταση θυρών στην πλακέτα του Raspberry.
Επιλέξαμε το ολοκληρωμένο mcp23017 πάνω σε μια πλακέτα της www.mlt-group.com
που στην ουσία φιλοξενεί το ολοκληρωμένο της microchip mcp23017. Το ολοκληρωμένο αυτό έχει δυο πόρτες των 8 μπιτ σύνολο 16 νέα gpios. Η πρόσβαση σε αυτά τα νέα gpios γίνεται με το πρωτόκολο I2C
Hardware
Λίστα με τα απαραίτητα υλικά
http://www.ebay.com/itm/MCP23017-16-bit-I2C-I-O-Expander-HAT-Board-for-Raspberry-Pi
Βήματα υλοποίησης
Βήμα 1ο
Αποσυνδέουμε το Raspberry από την τροφοδοσία. Τοποθετούμε την πλακέτα σαν καπέλο πάνω από το 40 πιν φύσα εξόδου του Raspberry
Βήμα 2ο
Συνδεόμαστε απόμακρα με putty ή σε απευθείας σύνδεση στην κονσόλα του Raspberry
και πληκτρολογούμε τις επόμενες εντολές
-
sudo apt-get install python-smbus
-
sudo apt-get install i2c-tools
-
sudo apt-get install libi2c-dev python-dev
Finally reboot:
sudo reboot
Βήμα 3ο
Εγκατάσταση Kernel Υποστήριξης (με Raspi-config)Τρέξτε πληκτρολογόντας το sudo raspi-config και ακολουθήστε τις οδηγίες για να εγκαταστήσετε την I2C υποστήριξη για τον πυρήνα ARM και στον Linux kernel όπως δείχνουν οι επόμενες εικόνες.
μετά
στη συνέχεια
τέλος μετά πατήστε Yes
Στη συνέχεια, κάντε επανεκκίνηση!
Βήμα 4ο
Σας προτείνουμε επίσης να περάσετε από τα παρακάτω βήματα για να ελέγξετε χειροκίνητα τα πάντα που προστέθηκαν μέσω του raspi-config!
Εγκατάσταση Kernel Στήριξης (Μη αυτόματη)
Ωστόσο, αν χρησιμοποιείτε Raspbian, θα χρειαστεί να ανοίξετε το LXTerminal ή την κονσόλα ή μέσω ssh για να πληκτρολογήσετε την ακόλουθη εντολή:
-
sudo nano /etc/modules
-
και να προσθέσετε αυτές τις δύο γραμμές στο τέλος του αρχείου:
i2c-bcm2708
i2c-dev
όπως δείχνει η επόμενη εικόνα
Στη συνέχεια, αποθηκεύστε το αρχείο με Control-X Y <enter>
Βήμα 5ο
Ανάλογα με τη διανομή σας, μπορείτε επίσης να έχετε ένα αρχείο που ονομάζεται
/etc/modprobe.d/raspi-blacklist.conf
Αν δεν έχετε αυτό το αρχείο, τότε δεν υπάρχει τίποτα να κάνετε, όμως, αν έχετε αυτό το αρχείο, θα πρέπει να το επεξεργαστείτε και να σχολιάσει τις γραμμές παρακάτω:
blacklist SPI-bcm2708
blacklist I2C-bcm2708
.. Βάζοντας μια δίεση # μπροστά τους.
Ανοίξτε έναν editor το αρχείο, πληκτρολογώντας:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
.. Στη συνέχεια, επεξεργαστείτε το αρχείο έτσι ώστε να φαίνεται όπως παρακάτω, και στη συνέχεια, αποθηκεύστε και βγείτε από το αρχείο χρησιμοποιώντας CTRL-Χ και Υ <enter>
Βήμα 6ο
Εάν εκτελείτε πρόσφατo Raspberry Pi image (3.18 kernel ή μεγαλύτερο) θα πρέπει επίσης να ενημερώσετε το αρχείο /boot/config.txt. Επεξεργαστείτε το με
sudo nano /boot/config.txt και προσθέστε το κείμενο
dtparam=i2c1=on
dtparam=i2c_arm=on
Μόλις γίνει αυτό, κάντε επανεκκίνηση!
sudo reboot
Βήμα 7ο
Δοκιμές στο δίαυλο I2C
Τώρα όταν ξανά συνδεθείτε μπορείτε να πληκτρολογήσετε την ακόλουθη εντολή για να δείτε όλες τις συνδεδεμένες συσκευές πάνω στο δίαυλο (εάν εκτελείτε πάνω σε Raspberry Pi Model B 512MB)
sudo i2cdetect -y 1
Αυτό δείχνει ότι οι δύο διευθύνσεις I2C είναι σε χρήση - 0x40 και 0x70. Σε σας θα δείξει την διεύθυνση που είναι προγραμματισμένη η δικιά σας πλακέτα πχ. 0χ39
Σημειώστε ότι αν χρησιμοποιείτε ένα από τα πρώτα Raspberry Pis (με 256MB Raspberry Pi Model B), τότε θα πρέπει να αλλάξετε την εντολή σε:
sudo i2cdetect -y 0
Η αρίθμηση όπως φαίνεται στην εικόνα στους 2Χ5 header είναι από πάνω αριστερά 1,2,3,4,5,6,7,8,9,10 μπορούμε να βάλουμε έναν IDC connector 2X5
Τα μονά νούμερα αρίθμησης είναι αριστερά στην μια πλευρά και στα δεξιά στην άλλη πλευρά τα ζυγά νούμερα.
Tώρα εδώ ή κόβουμε τον ένα κονέκτορα για να κολλήσουμε τα καλώδια πάνω σε μια πλακέτα από ρελέδες.ή θα πάρουμε την καλωδίωση ξεχωριστά και θα την τοποθετήσουμε πάνω στον ένα κονέκτορα και την άλλη μεριά θα την κολλήσουμε στις ακίδες των ρελέδων.
Software