Διαφήμιση
Η εκμάθηση να χρησιμοποιείτε τις καρφίτσες GPIO στο Raspberry Pi σας ανοίγει έναν ολόκληρο κόσμο δυνατοτήτων. Οι βασικές αρχές που μαθαίνουν μέσω αρχάριων έργων ανοίγουν το δρόμο προς χρήσιμες γνώσεις τόσο για τα ηλεκτρονικά DIY όσο και για τον προγραμματισμό.
Αυτό το σεμινάριο θα σας δείξει δύο τρόπους για να προσθέσετε ένα κουμπί στο έργο Raspberry Pi. Το κουμπί θα χρησιμοποιηθεί για τον έλεγχο ενός LED. Γραπτές οδηγίες είναι διαθέσιμες κάτω από το βίντεο.
Θα χρειαστείτε
Για να ξεκινήσετε, βεβαιωθείτε ότι έχετε τα ακόλουθα στοιχεία:
- 1 x Raspberry Pi (Οποιοδήποτε θα κάνει, το μοντέλο 3B χρησιμοποιείται σε αυτό το σεμινάριο)
- 1 x Κουμπί πίεσης
- 1 x LED
- Αντίσταση 1 x 220 Ohm (Οι υψηλότερες τιμές είναι εντάξει, η LED σας θα είναι πιο αμυδρό)
- 1 x Breadboard
- Συνδέστε τα καλώδια
Μόλις συγκεντρωθούν, θα πρέπει να έχετε στοιχεία που μοιάζουν με αυτό:

Θα χρειαστείτε επίσης μια κάρτα SD με εγκατεστημένο το λειτουργικό σύστημα Raspbian. Ο γρηγορότερος τρόπος για να γίνει αυτό είναι με την εικόνα NOOBS (New Out Of the Box Software). Οδηγίες για το πώς να το κάνετε αυτό είναι διαθέσιμες σε αυτό το βίντεο:
Ρύθμιση του κυκλώματος
Θα χρησιμοποιήσετε τους ακροδέκτες GPIO του Pi για να φτιάξετε το κύκλωμα και αν δεν είστε εξοικειωμένοι με αυτούς οδηγός για καρφίτσες Raspberry Pi GPIO θα βοηθήσει. Το κύκλωμα εδώ είναι σχεδόν το ίδιο με το προηγούμενο Έργο Raspberry Pi LED, με την προσθήκη του κουμπιού που θα χρησιμοποιείτε σήμερα.
Ρυθμίστε το κύκλωμα σύμφωνα με αυτό το διάγραμμα:

- ο 5v και GND οι ακίδες συνδέονται με τις ράγες τροφοδοσίας του breadboard.
- Καρφίτσα 12 (GPIO 18) συνδέεται με το θετικό πόδι του LED.
- Ένα πόδι του αντίσταση συνδέεται με το αρνητικό πόδι του LED και το άλλο πόδι συνδέεται με τη ράγα γείωσης της πλακέτας.
- Καρφίτσα 16 (GPIO 23) συνδέεται με τη μία πλευρά του κουμπιού, η άλλη πλευρά συνδέεται με τη ράγα γείωσης του breadboard.
Μόλις ρυθμιστεί, δείτε πώς πρέπει να φαίνεται:

Ελέγξτε το κύκλωμα για να βεβαιωθείτε ότι είναι σωστό και, στη συνέχεια, ενεργοποιήστε το Raspberry Pi.
Μέθοδος 1: Το RPi. Βιβλιοθήκη GPIO
Μετά την εκκίνηση του Pi, κατευθυνθείτε στο μενού και επιλέξτε Προγραμματισμός> Thonny Python IDE. Θα ανοίξει ένα νέο σενάριο Python. Εάν είστε εντελώς νέοι στο Python, είναι μια υπέροχη γλώσσα για αρχάριους και υπάρχουν πολλά υπέροχα μέρη για να μάθετε περισσότερα για την Python αφού τελειώσετε με αυτό το σεμινάριο!

Ξεκινήστε εισάγοντας το RPi. GPIO βιβλιοθήκη και ρύθμιση της λειτουργίας της πλακέτας.
εισαγωγή RPi. GPIO ως GPIO GPIO.setmode (GPIO.BOARD)
Τώρα δηλώστε τις μεταβλητές για τους αριθμούς LED και pin.
ledPin = 12. buttonPin = 16.
Λάβετε υπόψη ότι δεδομένου ότι έχουμε ρυθμίσει τη λειτουργία πλακέτας ΣΑΝΙΔΑ χρησιμοποιούμε τους αριθμούς pin και όχι τους αριθμούς GPIO. Εάν αυτό σας προκαλεί σύγχυση, ένα διάγραμμα Pinout του Raspberry Pi μπορεί να σας βοηθήσει να το καθαρίσετε.

Ρύθμιση του κουμπιού
Ήρθε η ώρα να ρυθμίσετε τις καρφίτσες GPIO. Ρυθμίστε τον πείρο LED στην έξοδο και τον πείρο κουμπιού για είσοδο με μια αντίσταση pull-up
GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (buttonPin, GPIO.IN, pull_up_down = GPIO.PUD_UP)
Το κείμενο μετά το GPIO.IN αναφέρεται στο εσωτερική αντίσταση έλξης του Raspberry Pi. Πρέπει να το ενεργοποιήσετε για να έχετε καθαρή ανάγνωση από το κουμπί. Δεδομένου ότι το κουμπί πηγαίνει στον πείρο γείωσης, χρειαζόμαστε μια αντίσταση pull-up για να κρατήσουμε τον πείρο εισόδου ΥΨΗΛΑ έως ότου τον πατήσετε.
Προτού συνεχίσουμε, ας δούμε τις αντιστάσεις pull-up και pull-down.
Διακοπή: Αντίσταση Pull Up / Pull Down
Όταν διαμορφώνετε έναν ακροδέκτη GPIO για εισαγωγή, διαβάζει αυτόν τον ακροδέκτη για να προσδιορίσει την κατάστασή του. Σε αυτό το κύκλωμα, πρέπει να διαβάσετε αν ένας ακροδέκτης είναι ΥΨΗΛΟΣ ή ΧΑΜΗΛΟΣ για να ενεργοποιήσετε το LED όταν πατήσετε το κουμπί. Αυτό θα ήταν απλό εάν αυτές ήταν οι μόνες καταστάσεις που μπορεί να έχει ένας πείρος, αλλά δυστυχώς, υπάρχει μια τρίτη κατάσταση: ΕΠΙΠΛΕΩΝ.
Ένας πλωτός πείρος έχει τιμή μεταξύ υψηλού και χαμηλού, προκαλώντας την είσοδο να ενεργεί απρόβλεπτα. Οι αντιστάσεις Pull-up / pull-down λύνουν αυτό.

Η παραπάνω εικόνα είναι ένα απλοποιημένο διάγραμμα ενός κουμπιού και ενός Raspberry Pi. Ο ακροδέκτης GPIO συνδέεται στη γείωση μέσω του κουμπιού. Η εσωτερική αντίσταση έλξης συνδέει τον πείρο GPIO στην εσωτερική τροφοδοσία Pi. Αυτό το ρεύμα ρέει και ο πείρος τραβιέται με ασφάλεια μέχρι ΥΨΗΛΟ.
Όταν πατάτε το κουμπί, ο πείρος GPIO συνδέεται απευθείας με τον πείρο γείωσης και το κουμπί έχει χαμηλή ένδειξη.

Οι αντιστάσεις έλξης είναι όταν ο διακόπτης είναι συνδεδεμένος στον πείρο τροφοδοσίας. Αυτή τη φορά, η εσωτερική αντίσταση συνδέει τον ακροδέκτη GPIO στη γείωση, κρατώντας το LOW μέχρι να πατήσετε το κουμπί.
Η θεωρία αντιστάσεων Pull-up και Pull-down είναι σύγχυση με την πρώτη ματιά, αλλά σημαντική γνώση που πρέπει να έχετε όταν εργάζεστε με μικροελεγκτές. Προς το παρόν, αν δεν το καταλαβαίνετε, μην ανησυχείτε!
Ας συνεχίσουμε εκεί που σταματήσαμε.
Ο βρόχος προγράμματος
Στη συνέχεια, ρυθμίστε το βρόχο προγράμματος:
ενώ True: buttonState = GPIO.input (buttonPin) if buttonState == False: GPIO.output (ledPin, GPIO.HIGH) άλλο: GPIO.output (ledPin, GPIO.LOW)
ο ενώ είναι αλήθεια Ο βρόχος εκτελεί συνεχώς τον κώδικα μέσα του μέχρι να τερματίσουμε το πρόγραμμα. Κάθε φορά που βγαίνει ενημερώνει το κουμπί διαβάζοντας την είσοδο από το κουμπίPin. Ενώ δεν πατάτε το κουμπί, παραμένει ΥΨΗΛΟΣ.
Μόλις πατηθεί το κουμπί, κουμπί γίνεται ΧΑΜΗΛΟΣ. Αυτό ενεργοποιεί το εάν δήλωση, Από Ψευδής είναι το ίδιο με ΧΑΜΗΛΟΣκαι το LED ανάβει. ο αλλού Η δήλωση σβήνει το LED κάθε φορά που το κουμπίPin δεν είναι False.
Αποθηκεύστε και εκτελέστε το σενάριό σας
Αποθηκεύστε το σενάριό σας κάνοντας κλικ Αρχείο> Αποθήκευση ως και επιλέγοντας ένα όνομα αρχείου. Μπορείτε να εκτελέσετε το σκίτσο κάνοντας κλικ στο πράσινο Παίζω κουμπί στη γραμμή εργαλείων Thonny.

Τώρα πατήστε το κουμπί και το LED σας θα ανάψει! Πατήστε το κόκκινο Να σταματήσει κουμπί ανά πάσα στιγμή για να διακόψετε το πρόγραμμα

Εάν αντιμετωπίζετε δυσκολίες, ελέγξτε διεξοδικά τον κωδικό και τη ρύθμιση κυκλώματος για σφάλματα και δοκιμάστε ξανά.
Μέθοδος 2: GPIO Zero Library
Το RPi. Η βιβλιοθήκη GPIO είναι φανταστική, αλλά υπάρχει ένα νέο παιδί στο μπλοκ. Η βιβλιοθήκη GPIO Zero ήταν δημιουργήθηκε από τον διαχειριστή κοινότητας του Raspberry Pi Ben Nuttall με σκοπό την απλοποίηση του κώδικα και την ευκολότερη ανάγνωση και εγγραφή.
Για να δοκιμάσετε τη νέα βιβλιοθήκη ανοίξτε ένα νέο αρχείο Thonny και εισαγάγετε τη βιβλιοθήκη.
από gpiozero import LED, Button. από παύση εισαγωγής σήματος.
Θα παρατηρήσετε ότι δεν εισαγάγατε ολόκληρη τη βιβλιοθήκη. Δεδομένου ότι χρησιμοποιείτε μόνο LED και κουμπί, χρειάζεστε μόνο αυτές τις ενότητες στο σενάριο. Εισάγουμε επίσης Παύση από τη βιβλιοθήκη σημάτων, η οποία είναι μια βιβλιοθήκη Python για διαχείριση συμβάντων.
Η ρύθμιση των ακίδων είναι πολύ πιο εύκολη με το GPIO Zero:
led = LED (18) κουμπί = κουμπί (23)
Δεδομένου ότι η βιβλιοθήκη GPIO Zero διαθέτει μονάδες για το LED και το κουμπί, δεν χρειάζεται να ρυθμίσετε εισόδους και εξόδους όπως πριν. Θα παρατηρήσετε ότι αν και οι ακίδες δεν έχουν αλλάξει, οι αριθμοί εδώ είναι διαφορετικοί από τους παραπάνω. Αυτό συμβαίνει επειδή το GPIO Zero χρησιμοποιεί μόνο τους αριθμούς pin GPIO (επίσης γνωστοί ως αριθμοί Broadcom ή BCM).
Το υπόλοιπο σενάριο είναι μόνο τρεις γραμμές:
button.when_pressed = led.on. button.when_released = led.off παύση ()
ο παύση() καλέστε εδώ απλά σταματά το σενάριο από την έξοδο όταν φτάσει στο κάτω μέρος. Τα συμβάντα με δύο κουμπιά ενεργοποιούνται κάθε φορά που πατάτε και απελευθερώνεται το κουμπί. Αποθηκεύστε και εκτελέστε το σενάριό σας και θα δείτε το ίδιο αποτέλεσμα όπως και πριν!
Δύο τρόποι για να προσθέσετε ένα κουμπί στο Raspberry Pi
Από τους δύο τρόπους ρύθμισης του κουμπιού, η μέθοδος GPIO Zero φαίνεται να είναι η ευκολότερη. Αξίζει ακόμα να μάθετε για το RPi. GPIO βιβλιοθήκη ως τα περισσότερα προγράμματα για αρχάριους Raspberry Pi χρησιμοποιησετο. Όσο απλό και αν είναι αυτό το έργο, η γνώση μπορεί να χρησιμοποιηθεί για πολλά πράγματα.
Η χρήση των καρφιτσών GPIO είναι ένας πολύ καλός τρόπος για να μάθετε και να εφεύρετε τις δικές σας συσκευές, αλλά απέχει πολύ από ό, τι μπορείτε να κάνετε με το Pi. Μας ανεπίσημος οδηγός για το Raspberry Pi Raspberry Pi: Το ανεπίσημο σεμινάριοΕίτε είστε τρέχων κάτοχος Pi που θέλετε να μάθετε περισσότερα ή δυνητικός κάτοχος αυτής της συσκευής μεγέθους πιστωτικής κάρτας, αυτός δεν είναι ένας οδηγός που θέλετε να χάσετε. Διαβάστε περισσότερα γεμίζει με δημιουργικές ιδέες και σεμινάρια που μπορείτε να δοκιμάσετε μόνοι σας! Για ένα άλλο σεμινάριο σαν αυτό, ρίξτε μια ματιά πώς να δημιουργήσετε ένα συνδεδεμένο κουμπί Wi-Fi Πώς να φτιάξετε το δικό σας συνδεδεμένο κουμπί Wi-Fi με ESP8266Σε αυτό το σεμινάριο, θα μάθετε πώς να δημιουργείτε ένα κουμπί με δυνατότητα Wi-Fi χρησιμοποιώντας το NodeMCU και το IFTTT. Διαβάστε περισσότερα .
Ο Ian Buckley είναι ανεξάρτητος δημοσιογράφος, μουσικός, ερμηνευτής και παραγωγός βίντεο που ζει στο Βερολίνο της Γερμανίας. Όταν δεν γράφει ή στη σκηνή, παίζει με ηλεκτρονικά είδη DIY ή κώδικα με την ελπίδα να γίνει τρελός επιστήμονας.