Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Λαμβάνοντας τιμές από το Arduino Αντίθετα…
- Βήμα 2: Χρήση ADC
- Βήμα 3: Συνδέοντας το Raspberry Pi και το ADC
- Βήμα 4: Τελική ρύθμιση και κώδικας
- Βήμα 5: Βίντεο με οδηγίες
Βίντεο: Πώς να κάνετε αναλογικές αναγνώσεις στο Raspberry Pi: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Γεια σε όλους! Σε αυτό το σεμινάριο θα σας δείξω πώς μπορούμε να καταγράψουμε απευθείας αναλογικές τιμές χρησιμοποιώντας το Raspberry Pi. Όπως όλοι γνωρίζουμε ότι το Raspberry Pi είναι μια αρκετά ισχυρή μονάδα υπολογιστών μίνι που είναι δημοφιλής στους χομπίστες και τους επαγγελματίες και έχει σχεδόν όλες τις δυνατότητες που θέλει κάθε λάτρης των ηλεκτρονικών. Ωστόσο, το μόνο μειονέκτημα του pi είναι η έλλειψη ειδικού υλικού αναλογικού σε ψηφιακό μετατροπέα, γεγονός που καθιστά το Pi ακατάλληλο για άμεση καταγραφή των αναλογικών τιμών από οποιονδήποτε αισθητήρα. Η λύση σε αυτό είναι είτε να χρησιμοποιήσετε ένα Arduino σε σύνδεση με το Pi είτε να χρησιμοποιήσετε ένα ειδικό ADC. Για αυτό το έργο θα χρησιμοποιήσω το ADC MCP3204-12 bit.
Προμήθειες
- Raspberry Pi (μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοντέλο έχετε στη διάθεσή σας)
- MCP3204 ADC ή MCP3008 ADC
- Αναλογικός αισθητήρας (αντ 'αυτού χρησιμοποιώ ποτενσιόμετρο 10Κ)
- Breadboard
- Jumper Wires
Βήμα 1: Λαμβάνοντας τιμές από το Arduino Αντίθετα…
Μια εναλλακτική λύση για να φτάσετε τις αναλογικές τιμές στο raspberry pi είναι να χρησιμοποιήσετε το arduino το οποίο διαθέτει ένα ειδικό ADC 10 bit. Το arduino και το Raspberry Pi μπορούν να επικοινωνούν μέσω της σειριακής θύρας για τη μετάδοση των πληροφοριών. Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί όταν πειραματίζεστε με ορισμένα δεδομένα αισθητήρων και ταυτόχρονα θέλετε να χρησιμοποιήσετε την ισχύ επεξεργασίας του Pi. Το μειονέκτημα αυτής της διαμόρφωσης είναι ότι θα χρησιμοποιούσατε περισσότερους πόρους υλικού και θα έπρεπε επίσης να γράψετε ξεχωριστούς κωδικούς για το arduino και το Pi.
Βήμα 2: Χρήση ADC
Η εναλλακτική λύση στη χρήση του Arduino ως ADC είναι να χρησιμοποιήσετε ένα ειδικό ADC IC που εξυπηρετεί τον ίδιο σκοπό. Για αυτό το έργο θα χρησιμοποιήσω το IC MCP3204 που είναι ένα ADC 4 καναλιών 12 bit που μπορεί να επικοινωνήσει με το Raspberry Pi χρησιμοποιώντας το πρωτόκολλο SPI. Σκοποί επίδειξης εχθρών Θα χρησιμοποιήσω το IC σε λειτουργία 10 bit.
Έχω επισυνάψει το pinout αυτού του IC που δείχνει την περιγραφή του pin.
Βήμα 3: Συνδέοντας το Raspberry Pi και το ADC
Τώρα που έχουμε ταξινομήσει το υλικό μας, ας μπούμε στο σχήμα σύνδεσης του ADC και του Pi.
Το Raspberry Pi είχε 2 διεπαφές SPI: SPI0 και SPI1. Για την εφαρμογή μας θα χρησιμοποιούσαμε το SPI0 και θα χρησιμοποιούσαμε το φυσικό (ή το υλικό) SPI όπου συνδέουμε το ADC με τις συγκεκριμένες καρφίτσες SPI υλικού του Pi
Έχω επισυνάψει το Pinout του Pi και το διάγραμμα κυκλώματος που έχω χρησιμοποιήσει στο έργο
Το σχήμα σύνδεσης έχει ως εξής:
- VDD (Pin14) και Vref (Pin13) του ADC στην παροχή 5V του Pi
- DGND (Pin7) και AGND (Pin12) του ADC στο έδαφος του Pi
- Το CLK (Pin11) του ADC στο GPIO 11 (Φυσική ακίδα 23) του Pi
- Το Dout (Pin10) του ADC στο GPIO 9 (Physical pin 21) του Pi
- Το Din (Pin 9) του ADC στο GPIO 10 (Physical pin 19) του Pi
- Το Chip Select (Pin 8) του ADC στο GPIO 8 (Physical pin 24) του Pi
Βήμα 4: Τελική ρύθμιση και κώδικας
Τώρα που έχουν γίνει όλες οι συνδέσεις ισχύος και επικοινωνίας, ήρθε η ώρα να επισυνάψουμε οποιονδήποτε αισθητήρα, την τιμή του οποίου θέλουμε να δούμε. Χρησιμοποιώ ποτενσιόμετρο 10K ως αισθητήρα.
Οι κωδικοί έχουν γραφτεί σε δύο μέρη, ο πρώτος κώδικας αφορά σχεδόν τη δημιουργία των βιβλιοθηκών, την ενεργοποίηση της επικοινωνίας SPI και την απόκτηση της τιμής ADC από το MCP3204 και, στη συνέχεια, την εκτύπωσή της στο τερματικό python.
Ο δεύτερος κώδικας είναι πιο διαδραστικός και δημιουργεί μια γραφική παράσταση των δεδομένων πραγματικού χρόνου που προέρχονται από τον αισθητήρα.
Μπορείτε να παίξετε με τον κωδικό και να τον κάνετε κατάλληλο για τις ανάγκες σας.
Βήμα 5: Βίντεο με οδηγίες
Αυτό είναι το βίντεο που περιγράφει λεπτομερώς όλα τα απαραίτητα βήματα για την υλοποίηση αυτού του έργου. Ελπίζω ότι αυτό ήταν χρήσιμο!
Συνιστάται:
DIY Πώς να εμφανίσετε το χρόνο στο M5StickC ESP32 χρησιμοποιώντας το Visuino - Εύκολο να το κάνετε: 9 βήματα
DIY Πώς να εμφανίζετε χρόνο στο M5StickC ESP32 χρησιμοποιώντας Visuino - Εύκολο να το κάνετε: Σε αυτό το σεμινάριο θα μάθουμε πώς να προγραμματίζουμε το ESP32 M5Stack StickC με Arduino IDE και Visuino για να εμφανίζει την ώρα στην οθόνη LCD
M5STACK Πώς να εμφανίσετε τη θερμοκρασία, την υγρασία και την πίεση στο M5StickC ESP32 χρησιμοποιώντας το Visuino - Εύκολο να το κάνετε: 6 βήματα
M5STACK Πώς να εμφανίζεται η θερμοκρασία, η υγρασία και η πίεση στο M5StickC ESP32 χρησιμοποιώντας Visuino - Εύκολο να το κάνετε: Σε αυτό το σεμινάριο θα μάθουμε πώς να προγραμματίζουμε το ESP32 M5Stack StickC με Arduino IDE και Visuino για την εμφάνιση θερμοκρασίας, υγρασίας και πίεσης χρησιμοποιώντας αισθητήρα ENV (DHT12, BMP280, BMM150)
ΠΩΣ ΝΑ ΚΑΝΕΤΕ ΤΕΤΡΑ ΛΕΙΤΟΥΡΓΙΚΟ ΥΠΟΛΟΓΙΣΤΗ ΣΤΟ CPP: 6 Βήματα
ΠΩΣ ΝΑ ΚΑΝΕΤΕ ΤΕΤΑΡΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΥΠΟΛΟΓΙΣΤΗ ΣΤΟ CPP: Οι υπολογιστές χρησιμοποιούνται σε όλους στην καθημερινή ζωή. Ένας απλός υπολογιστής μπορεί να γίνει χρησιμοποιώντας ένα πρόγραμμα C ++ το οποίο είναι σε θέση να προσθέσει, να αφαιρέσει, να πολλαπλασιάσει και να διαιρέσει, δύο τελεστέους που εισάγει ο χρήστης. Η δήλωση if και goto χρησιμοποιείται για τη δημιουργία αριθμομηχανής
Πώς να κάνετε αεροπλάνο Rc στο σπίτι κάτω από $ 60: 4 βήματα
Πώς να φτιάξετε αεροπλάνο RC στο σπίτι κάτω από $ 60: Σήμερα θα σας δείξω πώς να φτιάξετε αεροπλάνο rc κάτω από $ 60. Μπορείτε να παρακολουθήσετε το βίντεό μου στο youtube για κατανόηση. Στο βίντεο είπα την τιμή σε ρουπίες Ινδίας καθώς θέλω να στοχεύσω στο ινδικό κοινό. Αν σας αρέσει το βίντεό μου, κάντε εγγραφή στο κανάλι μου για μελλοντική
Πώς να διαβάσετε πολλαπλές αναλογικές τιμές χρησιμοποιώντας ένα αναλογικό pin: 6 βήματα (με εικόνες)
Πώς να διαβάσετε πολλαπλές αναλογικές τιμές χρησιμοποιώντας ένα αναλογικό pin: Σε αυτό το σεμινάριο, θα σας δείξω πώς να διαβάζετε πολλαπλές αναλογικές τιμές χρησιμοποιώντας μόνο ένα αναλογικό pin pin