Το 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
- Interfacing Shift Register με Raspberry Pi
Σε αυτό το σεμινάριο, θα διεπαφή ένα Capacitive Touchpad στο Raspberry Pi. Το Capacitive Touchpad έχει 8 πλήκτρα από 1 έως 8. Αυτά τα πλήκτρα δεν είναι ακριβώς πλήκτρα, είναι Touch Sensitive Pads που τοποθετούνται στο PCB. Όταν αγγίζουμε ένα από τα τακάκια, τα τακάκια βιώνουν την αλλαγή χωρητικότητας στην επιφάνειά του. Αυτή η αλλαγή καταγράφεται από τη μονάδα ελέγχου και η μονάδα ελέγχου, ως απόκριση, τραβά έναν αντίστοιχο πείρο ψηλά στην πλευρά εξόδου.
Θα συνδέσουμε αυτό το Capacitive Touchpad Sensor Module στο Raspberry Pi, για να το χρησιμοποιήσουμε ως συσκευή εισόδου για το PI.
Θα συζητήσουμε λίγο για το Raspberry Pi GPIO Pins πριν προχωρήσουμε.
Καρφίτσες GPIO:
Όπως φαίνεται στο παραπάνω σχήμα, υπάρχουν 40 ακίδες εξόδου για το PI. Αλλά όταν κοιτάξετε το δεύτερο σχήμα παρακάτω, μπορείτε να δείτε ότι δεν μπορούν να προγραμματιστούν και οι 40 ακίδες pin για τη χρήση μας. Αυτές είναι μόνο 26 καρφίτσες GPIO που μπορούν να προγραμματιστούν. Αυτές οι καρφίτσες πηγαίνουν από GPIO2 στο GPIO27.
Αυτές οι 26 καρφίτσες GPIO μπορούν να προγραμματιστούν ανάλογα με τις ανάγκες. Ορισμένες από αυτές τις καρφίτσες εκτελούν επίσης ορισμένες ειδικές λειτουργίες, θα το συζητήσουμε αργότερα. Με το ειδικό GPIO να παραμεριστεί, απομένουν 17 GPIO (ανοιχτό πράσινο χρώμα).
Κάθε μία από αυτές τις 17 καρφίτσες GPIO μπορεί να αποδώσει μέγιστο ρεύμα 15mA. Και το άθροισμα των ρευμάτων από όλο το GPIO δεν μπορεί να υπερβαίνει τα 50mA. Έτσι μπορούμε να αντλήσουμε κατά μέσο όρο 3mA από κάθε μία από αυτές τις ακίδες GPIO. Επομένως, δεν πρέπει να παραβιάζετε αυτά τα πράγματα εκτός και αν ξέρετε τι κάνετε.
Τώρα άλλο ένα σημαντικό πράγμα εδώ είναι ότι, ο έλεγχος λογικής PI είναι + 3.3v, οπότε δεν μπορείτε να δώσετε περισσότερα από + 3.3V λογική στον ακροδέκτη GPIO του PI. Εάν δώσετε + 5V σε οποιονδήποτε ακροδέκτη GPIO PI, η πλακέτα θα υποστεί ζημιά. Επομένως, πρέπει να ενεργοποιήσουμε το Capacitive Touchpad κατά + 3.3V, για να έχουμε σωστές εξόδους λογικής για PI.
Απαιτούμενα στοιχεία:
Εδώ χρησιμοποιούμε το Raspberry Pi 2 Model B με το Raspbian Jessie OS. Όλες οι βασικές απαιτήσεις υλικού και λογισμικού συζητήθηκαν προηγουμένως, μπορείτε να το αναζητήσετε στην Εισαγωγή Raspberry Pi, εκτός από αυτό που χρειαζόμαστε:
- Σύνδεση ακίδων
- Χωρητικό Touch Pad
Διάγραμμα κυκλώματος:
Οι συνδέσεις, οι οποίες γίνονται για Capacitive Touchpad Interfacing, εμφανίζονται στο παραπάνω διάγραμμα κυκλώματος.
Επεξήγηση εργασίας και προγραμματισμού:
Μόλις όλα συνδεθούν σύμφωνα με το διάγραμμα κυκλώματος, μπορούμε να ενεργοποιήσουμε το 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)
Ορίζουμε 8 ακίδες ως καρφίτσες εισόδου. Θα εντοπίσουμε 8 βασικές εξόδους από το Capacitive Touchpad.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Σε περίπτωση που η συνθήκη στα τιράντες είναι αληθινή, οι δηλώσεις μέσα στο βρόχο θα εκτελεστούν μία φορά. Έτσι, εάν ο ακροδέκτης GPIO 21 πάει ψηλά, τότε οι δηλώσεις εντός του βρόχου IF θα εκτελεστούν μία φορά. Εάν ο ακροδέκτης GPIO 21 δεν πάει ψηλά, δεν θα εκτελεστούν οι δηλώσεις εντός του βρόχου IF.
if (IO.input (21) == True):
Η παρακάτω εντολή χρησιμοποιείται ως βρόχος για πάντα, με αυτήν την εντολή οι δηλώσεις μέσα σε αυτόν τον βρόχο θα εκτελούνται συνεχώς.
Ενώ 1:
Μόλις γράψουμε το παρακάτω πρόγραμμα στο PYTHON και το εκτελέσουμε, είμαστε έτοιμοι να ξεκινήσουμε. Όταν αγγίξετε το μαξιλάρι, η μονάδα τραβά προς τα επάνω τον αντίστοιχο πείρο και αυτή η σκανδάλη ανιχνεύεται από το PI. Μετά την ανίχνευση, το PI εκτυπώνει το κατάλληλο πλήκτρο στην οθόνη.
Ως εκ τούτου, έχουμε Interfaced Capacitive Touchpad to PI.