ο Raspberry Pi GPIO είναι υπέροχο, αλλά του λείπει ένα σημαντικό χαρακτηριστικό, η αναλογική είσοδος. Υπάρχουν μερικοί τρόποι για να προσθέσετε μετατροπή αναλογικού σε ψηφιακό, αλλά ο καθένας έχει τα μειονεκτήματά του. Θα μπορούσατε να χρησιμοποιήσετε ένα φτηνό τσιπ ADC όπως το MCP3008, αλλά αυτό απαιτεί πολλά καλώδια και συγκόλληση. Κάποια από τα τα καλύτερα καπέλα Raspberry Piέχετε ADC, αλλά τι γίνεται αν δεν χρειάζεστε ή θέλετε να πληρώσετε για ένα ΚΑΠΕΛΟ με ένα σωρό άλλα χαρακτηριστικά;
Ωστόσο, εάν αναζητάτε μια προσιτή και ελαφριά λύση για να έχετε αναλογική είσοδο στη συσκευή σας Raspberry Pi, το Pimoroni IO Expander θα μπορούσε να είναι η καλύτερη επιλογή σας. Για μόλις 10 $, το IO Expander προσφέρει ADC, μαζί με διαμόρφωση πλάτους παλμού (PWM) και επιπλέον καρφίτσες GPIO σε οποιοδήποτε μοντέλο Raspberry Pi.
Σχεδιασμός του Pimoroni IO Expander
Το Pimoroni IO Expander δεν είναι μια τυπική προσθήκη για το Raspberry Pi. Με διαστάσεις μόλις 1 x 0,9 ίντσας (25 x 23 mm), η πλακέτα έχει μόνο πέντε συνδέσεις που γίνονται στο GPIO. Η ανάγκη για τόσο λίγες συνδέσεις οφείλεται στο IO Expander που χρησιμοποιεί το I2C, ένα σειριακό πρωτόκολλο επικοινωνίας δύο καλωδίων.
Αυτές οι πέντε ακίδες μπορούν να συγκολληθούν με τη χρήση των παρεχόμενων αρσενικών/θηλυκών ακίδων κεφαλίδας και στη συνέχεια να τοποθετηθούν επάνω στις ακίδες I2C του GPIO. Αυτός ο σχεδιασμός δεν είναι τυχαίος, μάλλον είναι σκόπιμος, καθώς το IO Expander είναι μέρος της σειράς πλακών Breakout Garden της Pimoroni. Χρησιμοποιώντας την ΚΑΠΕΛΟ Κήπου Breakout Μπορούμε να τοποθετήσουμε έως και έξι σανίδες στη σειρά για να δημιουργήσουμε γρήγορα έργα κατά παραγγελία. Άλλες πλακέτες της σειράς περιλαμβάνουν θερμική κάμερα, αισθητήρα κίνησης έξι αξόνων (X,Y,Z και μαγνητική επικεφαλίδα) και υπάρχουν οθόνες όπως LCD, e-ink και OLED.
Προδιαγραφές υλικού Pimoroni IO Expander
Το Pimoroni IO Expander χρησιμοποιεί έναν προγραμματιζόμενο μικροελεγκτή Nuvoton MS51, ο οποίος είναι ένα οικονομικό και αξιόπιστο μέσο για την παροχή των επιπλέον ακίδων GPIO μέσω της διεπαφής I2C. Στην πραγματικότητα, το προσαρμοσμένο υλικολογισμικό μπορεί να αντικατασταθεί με δικό σας, εάν έχετε την ανάγκη και τις δεξιότητες να το κάνετε.
Ο μικροελεγκτής παρέχει πλήρεις επιπλέον 14 ακίδες GPIO, οι οποίες μπορούν να διαμορφωθούν ως «ψηφιακές» και να προστεθούν σε αυτές που βρίσκονται ήδη στο Pi. Ή το IO Expander μπορεί να χρησιμοποιηθεί για την παροχή οκτώ αναλογικών ακίδων χρησιμοποιώντας τον ενσωματωμένο μετατροπέα αναλογικού σε ψηφιακό 12-bit του MS51 (2DC) και έξι διαμόρφωση πλάτους παλμού (PWM). Και οι 14 ακίδες GPIO του IO Expander είναι προ-κολλημένες και έτοιμες για χρήση. Πρόσθετοι ακροδέκτες για έξοδο 3,3 V, GND και είσοδο τάσης (VIN) υπάρχουν στο επάνω και στο κάτω μέρος των στηλών ακίδων.
Χρησιμοποιώντας το Pimoroni IO Expander
Δοκιμάσαμε το IO Expander χρησιμοποιώντας ένα καπέλο Breakout Garden σε ένα Raspberry Pi 4 4 GB με την πιο πρόσφατη έκδοση του Raspberry Pi OS. Η εγκατάσταση της μονάδας Python μέσω της κλωνοποίησης ενός αποθετηρίου Git ήταν ανώδυνη και, μέσα σε λίγα λεπτά, μπορέσαμε να ολοκληρώσουμε μια σειρά παραδειγμάτων έργων που κάλυπταν την ανάγνωση του μεταβαλλόμενου επιπέδου μιας αναλογικής πηγής τάσης, ελέγχοντας ένα RGB LED χρησιμοποιώντας PWM για τη μίξη του χρώματα και με ακρίβεια τον έλεγχο ενός σερβομηχανισμού χρησιμοποιώντας PWM.
Η ενότητα Python “ioexpander” είναι εκτεταμένη και θα καλύψει ακόμη και τις ανάγκες των πιο απαιτητικών έργων. Αλλά η ενότητα αφαιρεί επίσης τις πολυπλοκότητες και έτσι επιτρέπει στους μαθητές να αντιμετωπίσουν τον πίνακα.
Αυτήν τη στιγμή, ο μόνος υποστηριζόμενος τρόπος λήψης δεδομένων από το IO Expander είναι μέσω της λειτουργικής μονάδας Python, αλλά καθώς αυτός ο πίνακας χρησιμοποιεί το I2C για να επικοινωνεί με το Raspberry Pi, θα πρέπει να είναι δυνατή η ανάγνωση των δεδομένων με οποιαδήποτε γλώσσα διαθέτει βιβλιοθήκες I2C, για παράδειγμα Node-RED.
Χρησιμοποιήστε τις θήκες για το Pimoroni IO Expander
Το IO Expander είναι μια σταθερή επιλογή εάν το έργο σας χρειάζεται αναλογικές εισόδους, PWM ή μόλις 14 περισσότερες ακίδες GPIO. Με το IO Expander μπορούμε να προσθέσουμε αναλογικές εισόδους μόνο με αυτήν την πλακέτα, καθιστώντας την ιδανική αντικατάσταση για Έργο Raspberry Pi Light Show, ή ως πίνακας ελέγχου για σερβομηχανισμούς για τον ακριβή έλεγχο ενός έργου βραχίονα ρομπότ. Αλλά αυτή η πλακέτα είναι επίσης χρήσιμη εάν έχετε χρησιμοποιήσει όλες τις ακίδες GPIO στο Pi σας.
Συμπέρασμα
Δεν υπάρχει τίποτα να μισείς σε αυτόν τον πίνακα. Μικρό σε μέγεθος αλλά μεγάλο σε χαρακτηριστικά. Έχουμε επιτέλους ένα βολικό και απλό μέσο για να προσθέσουμε αναλογική είσοδο, μια δυνατότητα που λείπει από όλα τα μοντέλα Raspberry Pi, και να αυξήσουμε το υπάρχον συμπλήρωμα ακίδων GPIO με επιπλέον PWM και ψηφιακές ακίδες. Για λίγο λιγότερο από 10 $, το IO Expander είναι ένα εντελώς άψογο και θα πρέπει να βρίσκεται στο κουτί bit κάθε λάτρη του Raspberry Pi.