2 τρόποι για να προσθέσετε ένα κουμπί στο έργο σας Raspberry Pi

2 τρόποι για να προσθέσετε ένα κουμπί στο έργο σας Raspberry Pi

Η εκμάθηση της χρήσης των καρφιών GPIO στο Raspberry Pi σας ανοίγει έναν ολόκληρο κόσμο δυνατοτήτων. Οι βασικές αρχές που μαθαίνονται μέσω αρχάριων έργων ανοίγουν το δρόμο προς χρήσιμες γνώσεις τόσο για ηλεκτρονικά DIY όσο και για προγραμματισμό.





Αυτό το σεμινάριο θα σας δείξει δύο τρόπους για να προσθέσετε ένα κουμπί στο έργο Raspberry Pi. Το κουμπί θα χρησιμοποιηθεί για τον έλεγχο μιας λυχνίας LED. Οι γραπτές οδηγίες είναι διαθέσιμες κάτω από το βίντεο.





Θα χρειαστείτε

Για να ξεκινήσετε, βεβαιωθείτε ότι έχετε τα ακόλουθα στοιχεία:





  • 1 x Raspberry Pi (Οποιοσδήποτε θα κάνει, το μοντέλο 3Β χρησιμοποιείται σε αυτό το σεμινάριο)
  • 1 x Πλήκτρο
  • 1 x LED
  • 1 x 220 Ohm Resistor (Οι υψηλότερες τιμές είναι καλές, η λυχνία LED θα είναι απαλότερη)
  • 1 x Breadboard
  • Συνδέστε καλώδια

Μόλις συγκεντρωθεί, θα πρέπει να έχετε στοιχεία που μοιάζουν κάπως έτσι:

Θα χρειαστείτε επίσης μια κάρτα SD με εγκατεστημένο το λειτουργικό σύστημα Raspbian. Ο πιο γρήγορος τρόπος για να γίνει αυτό είναι με την εικόνα NOOBS (New Out Of the Box Software). Οδηγίες για το πώς να το κάνετε αυτό είναι διαθέσιμες σε αυτό το βίντεο:



Ρύθμιση του κυκλώματος

Θα χρησιμοποιείτε τις καρφίτσες GPIO του Pi για να κάνετε το κύκλωμα και εάν δεν είστε εξοικειωμένοι με αυτούς οδηγός για καρφίτσες Raspberry Pi GPIO θα βοηθήσει. Το κύκλωμα εδώ είναι σχεδόν το ίδιο με το προηγούμενο Έργο LED Raspberry Pi , με την προσθήκη του κουμπιού που θα χρησιμοποιείτε σήμερα.

Ρυθμίστε το κύκλωμά σας σύμφωνα με αυτό το διάγραμμα:





  • ο 5v και GND οι ακίδες συνδέονται με τις ράγες τροφοδοσίας της σανίδας.
  • Καρφίτσα 12 (GPIO 18) συνδέεται με το θετικό σκέλος του LED.
  • Το ένα πόδι του αντίσταση συνδέεται με το αρνητικό σκέλος της λυχνίας LED και το άλλο πόδι συνδέεται με τη ράγα εδάφους της σανίδας.
  • Καρφίτσα 16 (GPIO 23) προσαρτάται στη μία πλευρά του κουμπιού, η άλλη πλευρά προσαρτάται στη ράγα εδάφους της σανίδας.

Μόλις ρυθμιστεί, δείτε πώς πρέπει να φαίνεται:

Ελέγξτε το κύκλωμά σας για να βεβαιωθείτε ότι είναι σωστό και, στη συνέχεια, ενεργοποιήστε το Raspberry Pi.





Μέθοδος 1: Η βιβλιοθήκη RPi.GPIO

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

Ξεκινήστε εισάγοντας τη βιβλιοθήκη RPi.GPIO και ορίζοντας τη λειτουργία της πλακέτας.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

Τώρα δηλώστε τις μεταβλητές για τους αριθμούς των LED και των πλήκτρων κουμπιών.

ledPin = 12
buttonPin = 16

Σημειώστε ότι δεδομένου ότι έχουμε ρυθμίσει τη λειτουργία του πίνακα σε ΣΑΝΙΔΑ χρησιμοποιούμε τους αριθμούς pin και όχι τους αριθμούς GPIO. Εάν αυτό σας προκαλεί σύγχυση, ένα διάγραμμα pinout Raspberry Pi μπορεί να σας βοηθήσει να το ξεκαθαρίσετε.

Ρύθμιση του κουμπιού

It'sρθε η ώρα να ρυθμίσετε τις καρφίτσες GPIO. Ρυθμίστε τον πείρο LED στην έξοδο και τον πείρο του κουμπιού στην είσοδο με αντίσταση έλξης

GPIO.setup(ledPin, GPIO.OUT)
GPIO.setup(buttonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

Το κείμενο μετά το GPIO.IN αναφέρεται στο εσωτερική αντίσταση έλξης του Raspberry Pi. Πρέπει να το ενεργοποιήσετε για να έχετε μια καθαρή ανάγνωση από το κουμπί. Δεδομένου ότι το κουμπί πηγαίνει στον πείρο γείωσης, χρειαζόμαστε μια αντίσταση έλξης για να κρατάει τον πείρο εισόδου Υ HIGHΗΛΟ μέχρι να τον πατήσετε.

Πριν συνεχίσουμε, ας δούμε τις αντιστάσεις έλξης και έλξης.

Παρεμβολή: Τραβήξτε Επάνω/Τραβήξτε τις αντιστάσεις

Όταν διαμορφώνετε ένα pin GPIO για είσοδο, διαβάζει αυτό το pin για να καθορίσετε την κατάστασή του. Σε αυτό το κύκλωμα, πρέπει να διαβάσετε εάν είναι μια καρφίτσα ΥΨΗΛΟΣ ή ΧΑΜΗΛΟΣ για ενεργοποίηση της λυχνίας LED όταν πατηθεί το κουμπί. Αυτό θα ήταν απλό αν αυτές ήταν οι μόνες καταστάσεις που μπορεί να έχει μια καρφίτσα, αλλά δυστυχώς, υπάρχει μια τρίτη κατάσταση: ΕΠΙΠΛΕΩΝ Το

Ένας πλωτός πείρος έχει μια τιμή μεταξύ υψηλού και χαμηλού, προκαλώντας την είσοδο να ενεργεί απρόβλεπτα. Οι αντιστάσεις έλξης/έλξης το λύνουν αυτό.

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

Όταν πατάτε το κουμπί, ο ακροδέκτης GPIO συνδέεται απευθείας με τον πείρο γείωσης και το κουμπί διαβάζεται χαμηλά.

Οι πτυσσόμενες αντιστάσεις είναι για όταν ο διακόπτης είναι συνδεδεμένος στην ακίδα τροφοδοσίας. Αυτή τη φορά, η εσωτερική αντίσταση συνδέει τον ακροδέκτη GPIO στη γείωση, κρατώντας το LOW μέχρι να πατήσετε το κουμπί.

Η θεωρία αντίστασης Pull-up και Pull-down είναι μπερδεμένη με την πρώτη ματιά, αλλά σημαντική γνώση που πρέπει να έχετε όταν εργάζεστε με μικροελεγκτές. Προς το παρόν, αν δεν το καταλαβαίνετε, μην ανησυχείτε!

Συνεχίζουμε από εκεί που σταματήσαμε.

Ο βρόχος προγράμματος

Στη συνέχεια, ρυθμίστε τον βρόχο προγράμματος:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

ο ενώ True Ο βρόχος τρέχει συνεχώς τον κώδικα μέσα του μέχρι να τερματίσουμε το πρόγραμμα. Κάθε φορά που κάνει loop ενημερώνει το κουμπίΚράτος διαβάζοντας την είσοδο από το κουμπί Καρφίτσα Το Ενώ το κουμπί δεν πιέζεται, παραμένει ΥΨΗΛΟΣ Το

Μόλις πατηθεί το κουμπί, κουμπίΚράτος γίνεται ΧΑΜΗΛΟΣ Το Αυτό ενεργοποιεί το αν δήλωση , Από Ψευδής είναι το ίδιο με ΧΑΜΗΛΟΣ , και ανάβει η λυχνία LED. ο αλλού η δήλωση απενεργοποιεί τη λυχνία LED κάθε φορά που το κουμπίPin δεν είναι False.

Αποθηκεύστε και εκτελέστε το σενάριό σας

Αποθηκεύστε το σενάριό σας κάνοντας κλικ Αρχείο> Αποθήκευση ως και επιλέγοντας ένα όνομα αρχείου. Μπορείτε να εκτελέσετε το σκίτσο κάνοντας κλικ στο πράσινο Παίζω κουμπί στη γραμμή εργαλείων Thonny.

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

Εάν αντιμετωπίζετε δυσκολίες, ελέγξτε προσεκτικά τον κωδικό και το κύκλωμα για τυχόν σφάλματα και δοκιμάστε ξανά.

Μέθοδος 2: GPIO Zero Library

Η βιβλιοθήκη RPi.GPIO είναι φανταστική, αλλά υπάρχει ένα νέο παιδί στο μπλοκ. Η GPIO Zero Library ήταν δημιουργήθηκε από τον διευθυντή κοινότητας Raspberry Pi Ben Nuttall με σκοπό την απλούστερη και ευκολότερη ανάγνωση και γραφή κώδικα.

Για να δοκιμάσετε τη νέα βιβλιοθήκη ανοίξτε ένα νέο αρχείο Thonny και εισαγάγετε τη βιβλιοθήκη.

from gpiozero import LED, Button
from signal import pause

Θα παρατηρήσετε ότι δεν εισαγάγατε ολόκληρη τη βιβλιοθήκη. Δεδομένου ότι χρησιμοποιείτε μόνο LED και κουμπί, χρειάζεστε μόνο αυτές τις ενότητες στο σενάριο. Εισάγουμε επίσης Παύση από τη βιβλιοθήκη σημάτων, η οποία είναι μια βιβλιοθήκη Python για διαχείριση συμβάντων.

Η ρύθμιση των ακίδων είναι πολύ πιο εύκολη με το GPIO Zero:

led = LED(18)
button = Button(23)

Δεδομένου ότι η βιβλιοθήκη GPIO Zero διαθέτει μονάδες για το LED και το κουμπί, δεν χρειάζεται να ρυθμίσετε εισόδους και εξόδους όπως πριν. Θα παρατηρήσετε ότι αν και οι καρφίτσες δεν έχουν αλλάξει, οι αριθμοί εδώ είναι διαφορετικοί από τους παραπάνω. Αυτό συμβαίνει επειδή το GPIO Zero χρησιμοποιεί μόνο τους αριθμούς καρφιτσών GPIO (επίσης γνωστοί ως αριθμοί Broadcom ή BCM).

πώς να επεξεργαστείτε τα περιθώρια στα έγγραφα Google

Το υπόλοιπο σενάριο είναι μόνο τρεις γραμμές:

button.when_pressed = led.on
button.when_released = led.off
pause()

ο παύση() Η κλήση εδώ σταματά απλώς την έξοδο του σεναρίου όταν φτάσει στο κάτω μέρος. Τα συμβάντα δύο κουμπιών ενεργοποιούνται κάθε φορά που πατάτε και αφήνετε το κουμπί. Αποθηκεύστε και εκτελέστε το σενάριό σας και θα δείτε το ίδιο αποτέλεσμα με πριν!

Δύο τρόποι για να προσθέσετε ένα κουμπί στο Raspberry Pi

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

Η χρήση των ακίδων GPIO είναι ένας πολύ καλός τρόπος για να μάθετε και να εφεύρετε τις δικές σας συσκευές, αλλά απέχει πολύ από όλα όσα μπορείτε να κάνετε με το Pi. Ο ανεπίσημος οδηγός μας για το Raspberry Pi είναι γεμάτος δημιουργικές ιδέες και σεμινάρια που μπορείτε να δοκιμάσετε μόνοι σας! Για ένα άλλο σεμινάριο όπως αυτό, ελέγξτε έξω πώς να δημιουργήσετε ένα κουμπί συνδεδεμένο Wi-Fi Το

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ 5 Συμβουλές για την υπερφόρτιση των μηχανών σας VirtualBox Linux

Έχετε κουραστεί από τις κακές επιδόσεις που προσφέρουν οι εικονικές μηχανές; Δείτε τι πρέπει να κάνετε για να αυξήσετε την απόδοση του VirtualBox.

Διαβάστε Επόμενο
Σχετικά θέματα
  • DIY
  • Raspberry Pi
  • Πύθων
  • GPIO
  • Σεμινάρια έργων DIY
Σχετικά με τον Συγγραφέα Ο anαν Μπάκλεϊ(216 δημοσιευμένα άρθρα)

Ο Ian Buckley είναι ανεξάρτητος δημοσιογράφος, μουσικός, ερμηνευτής και παραγωγός βίντεο που ζει στο Βερολίνο της Γερμανίας. Όταν δεν γράφει ή δεν είναι στη σκηνή, ασχολείται με ηλεκτρονικά ή κώδικα DIY με την ελπίδα να γίνει τρελός επιστήμονας.

Περισσότερα από τον Ian Buckley

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή
Κατηγορία Diy