Πίνακας περιεχομένων:
- Βήμα 1: Τι θα χρειαστείτε
- Βήμα 2: Δημιουργήστε το κύκλωμά σας
- Βήμα 3: Δημιουργήστε ένα σενάριο για τον έλεγχο και τον έλεγχο των LED
- Βήμα 4: Προσθήκη ευελιξίας με χρήση παραμέτρων και δηλώσεων υπό όρους
Βίντεο: Έλεγχος πολλαπλών LED με καρφίτσες GPIO Python και Your Raspberry Pi: 4 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Αυτό το Instructable δείχνει πώς μπορείτε να ελέγξετε πολλαπλούς ακροδέκτες GPIO στο RaspberryPi σας για να τροφοδοτήσετε 4 LED. Θα σας εισαγάγει επίσης σε παραμέτρους και δηλώσεις υπό όρους στην Python.
Το προηγούμενο εγχειρίδιό μας με χρήση των καρφιτσών GPIO του Raspberry Pi για τον έλεγχο μιας λυχνίας LED δείχνει πώς μπορείτε να ενεργοποιήσετε και να απενεργοποιήσετε ένα μόνο LED χρησιμοποιώντας την εντολή GPIO.output. Αυτό το Instructable βασίζεται σε αυτές τις γνώσεις για να σας διδάξει πώς να αποκτήσετε περισσότερο έλεγχο στο κύκλωμά σας.
Βήμα 1: Τι θα χρειαστείτε
- Ένα RaspberryPi με ήδη εγκατεστημένο το Raspbian. Θα χρειαστεί επίσης να έχετε πρόσβαση στο Pi χρησιμοποιώντας οθόνη, ποντίκι και πληκτρολόγιο ή μέσω απομακρυσμένης επιφάνειας εργασίας. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοντέλο Raspberry Pi. Εάν διαθέτετε ένα από τα μοντέλα Pi Zero, μπορεί να θέλετε να κολλήσετε μερικές καρφίτσες κεφαλίδας στη θύρα GPIO.
- Κόκκινο, μπλε, κίτρινο και πράσινο LED
- Ένα Solderless Prototyping Breadboard
- Αντιστάσεις 4 x 330 ohm
- Μερικά καλώδια από άνδρες έως γυναίκες
Βήμα 2: Δημιουργήστε το κύκλωμά σας
Δημιουργήστε το παραπάνω κύκλωμα στο breadboard σας, βεβαιωθείτε ότι κανένα από τα καλώδια των εξαρτημάτων δεν αγγίζει και ότι τα LED είναι συνδεδεμένα σωστά.
Πώς εντοπίζετε τα θετικά και αρνητικά καλώδια (η πολικότητα) στα LED σας; Αν κοιτάξετε προσεκτικά ένα LED, θα δείτε ότι έχει δύο μικρά κομμάτια μετάλλου μέσα στο χρωματιστό περίβλημα. Αυτά ονομάζονται Άνοδος και Κάθοδος. Το Cathode είναι το μεγαλύτερο από τα δύο και συνδέεται επίσης με το αρνητικό καλώδιο LED.
Αφού ελέγξετε το κύκλωμά σας, συνδέστε τα καλώδια με βραχυκυκλωτήρες, τις ακίδες GPIO του Raspberry Pi ακολουθώντας το παραπάνω διάγραμμα.
Βήμα 3: Δημιουργήστε ένα σενάριο για τον έλεγχο και τον έλεγχο των LED
Στο Raspberry Pi, ανοίξτε το IDLE (Μενού> Προγραμματισμός> Python 2 (IDLE)).
Ανοίξτε ένα νέο έργο μεταβείτε στο Αρχείο> Νέο αρχείο. Στη συνέχεια, πληκτρολογήστε (ή αντιγράψτε και επικολλήστε) τον ακόλουθο κώδικα:
εισαγωγή RPi. GPIO ως GPIO
ώρα εισαγωγής GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. έξοδος (23, Λάθος)
Αποθηκεύστε το έργο σας ως multilights.py (Αρχείο> Αποθήκευση ως) στο φάκελο Raspberry Pis Documents.
Στο Raspberry Pi ανοίξτε το Τερματικό (Μενού> Αξεσουάρ> Τερματικό) και μεταβείτε στο φάκελο Έγγραφα πληκτρολογώντας τα ακόλουθα:
cd/home/pi/Έγγραφα
Τώρα μπορείτε να εκτελέσετε το νέο σας σενάριο πληκτρολογώντας τα ακόλουθα:
python multilights.py
Τα φώτα θα χρειαστούν με τη σειρά τους για να ανάψουν και να σβήσουν. Το παραπάνω σενάριο χρησιμοποιεί την εντολή time.sleep για να δημιουργήσει μια παύση μεταξύ κάθε βήματος, κάνοντας κάθε φωτεινή ένδειξη να παραμένει αναμμένη για 3 δευτερόλεπτα και να περιμένει για 1 δευτερόλεπτο πριν ανάψει η επόμενη λυχνία.
Βήμα 4: Προσθήκη ευελιξίας με χρήση παραμέτρων και δηλώσεων υπό όρους
Χρησιμοποιώντας τις παραμέτρους και τις καταστάσεις υπό όρους μπορούμε να κάνουμε το παραπάνω σενάριο πολύ πιο ευέλικτο.
Μια παράμετρος σας επιτρέπει να αποθηκεύσετε μια τιμή την οποία μπορείτε να χρησιμοποιήσετε αργότερα στο σενάριο. Οι πιο συνηθισμένοι τύποι τιμών είναι οι συμβολοσειρές (κείμενο), οι ακέραιοι αριθμοί (ακέραιοι αριθμοί) ή οι πλωτήρες (δεκαδικοί αριθμοί).
Μια δήλωση υπό όρους θα καθορίσει εάν ένα τμήμα κώδικα πρέπει να εκτελεστεί ή όχι, ελέγχοντας εάν πληρούται μια συγκεκριμένη συνθήκη. Η συνθήκη μπορεί επίσης να περιλαμβάνει παραμέτρους.
Ανοίξτε το IDLE στο Raspberry Pi και ανοίξτε ένα νέο έργο (Αρχείο> Νέο αρχείο). Στη συνέχεια πληκτρολογήστε το ακόλουθο. Προσέξτε να βεβαιωθείτε ότι περιλαμβάνονται όλες οι εσοχές (καρτέλες) χρησιμοποιώντας το πλήκτρο καρτέλας:
εισαγωγή RPi. GPIO ως GPIO
χρόνος εισαγωγής από sys εισαγωγή argv wholed = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO ΕΞΟΔΟΣ) εάν η διαγραφή == "απενεργοποιημένη": εάν ονομαστεί == "α": GPIO.output (LEDa, False) ifledled == "b": GPIO.output (LEDb, False) if wholed == "c": GPIO.output (LEDc, False) ifledled == "d": GPIO.output (LEDd, False) ifledled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. έξοδος (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if wholed == "a": GPIO.output (LEDa, True) if wholed == "b": GPIO.output (LEDb, True) εάν ονομαζόταν == "c": GPIO.output (LEDc, True) ifledled == "d": GPIO.output (LEDd, True) ifledled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)
Αποθηκεύστε το έργο σας ως controllight.py (Αρχείο> Αποθήκευση ως) στο φάκελο Έγγραφα. Τώρα ανοίξτε το Τερματικό (Μενού> Αξεσουάρ> Τερματικό) και πληκτρολογήστε την ακόλουθη εντολή:
python controllight.py b on
Το δεύτερο LED πρέπει να ανάψει. Τώρα πληκτρολογήστε τα ακόλουθα:
python controllight.py b off
Το δεύτερο LED πρέπει να σβήσει.
Στις γραμμές 5, 6, 7 & 8, δημιουργούμε τις παραμέτρους LEDa, LEDb, LEDc και LEDd για να αποθηκεύσουμε ποια καρφίτσα GPIO έχουμε συνδέσει σε ποια LED. Αυτό μας επιτρέπει να χρησιμοποιούμε εναλλακτικές καρφίτσες GPIO χωρίς να χρειάζεται να κάνουμε ουσιαστικές αλλαγές στο σενάριο.
Για παράδειγμα, αν θέλαμε να συνδέσουμε το πρώτο καλώδιο LED στο Pin 3 (GPIO 2), θα πρέπει απλώς να αλλάξουμε τη γραμμή 5 στα ακόλουθα:
LEDa = 2
Η γραμμή 4 αποθηκεύει τις τιμές που πληκτρολογήσατε μετά το controllight.py στις παραμέτρους που εμφανίζονται (c) και ledaction (on). Στη συνέχεια, το σενάριο χρησιμοποιεί αυτές τις παραμέτρους, μαζί με μια σειρά δηλώσεων υπό όρους, για να αποφασίσει ποια LED θα ελέγξει και αν θα την ενεργοποιήσει ή θα την απενεργοποιήσει.
Η γραμμή 16 (αν το ledaction == "on":) είναι μια δήλωση υπό όρους. Οι εσοχές που ακολουθούν αυτήν τη δήλωση θα εκτελούνται μόνο εάν πληρούται η προϋπόθεση της δήλωσης. Σε αυτό το σενάριο, η προϋπόθεση είναι το ledaction να περιέχει το κείμενο.
Διαβάζοντας τις υπόλοιπες δηλώσεις υπό όρους του σεναρίου, μπορείτε να προβλέψετε τι θα συμβεί όταν πληκτρολογήσετε την ακόλουθη εντολή στο τερματικό;
python controllight.py all on
Γιατί να μην προχωρήσετε και να δημοσιεύσετε την απάντησή σας στην παρακάτω ενότητα σχολίων.
Συνιστάται:
Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2: 9 Βήματα
Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο Bit-bang-πρόγραμμα DIMP 2 ή DA PIMP 2: Αυτές είναι αναλυτικές οδηγίες σχετικά με τον τρόπο χρήσης ενός Raspberry Pi και τη δωρεάν εντολή ανοιχτού κώδικα avrdude στο bit-bang -προγραμματίστε ένα DIMP 2 ή DA PIMP 2. Υποθέτω ότι είστε εξοικειωμένοι με το Raspberry Pi και τη γραμμή εντολών LINUX. Δεν χρειάζεται να
Αναβοσβήνει LED με Raspberry Pi - Πώς να χρησιμοποιήσετε καρφίτσες GPIO στο Raspberry Pi: 4 βήματα
Αναβοσβήνει LED με Raspberry Pi | Πώς να χρησιμοποιήσετε καρφίτσες GPIO στο Raspberry Pi: Γεια σας παιδιά σε αυτό το εκπαιδευτικό εγχειρίδιο θα μάθουμε πώς να χρησιμοποιούμε GPIO's του Raspberry pi. Εάν έχετε χρησιμοποιήσει ποτέ το Arduino, τότε πιθανότατα γνωρίζετε ότι μπορούμε να συνδέσουμε τον διακόπτη LED κ.λπ. στις ακίδες του και να το κάνουμε να λειτουργεί όπως. κάντε το LED να αναβοσβήνει ή λάβετε είσοδο από το διακόπτη έτσι
Έλεγχος φωτεινότητας Έλεγχος LED βασισμένος σε PWM χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: 8 βήματα (με εικόνες)
Έλεγχος φωτεινότητας PWM Βασισμένος έλεγχος LED χρησιμοποιώντας κουμπιά, Raspberry Pi και Scratch: Προσπαθούσα να βρω έναν τρόπο να εξηγήσω πώς λειτουργούσε το PWM στους μαθητές μου, οπότε έθεσα τον εαυτό μου στην προσπάθεια να ελέγξω τη φωτεινότητα ενός LED χρησιμοποιώντας 2 κουμπιά - το ένα κουμπί αυξάνει τη φωτεινότητα ενός LED και το άλλο το μειώνει. Για να προχωρήσει
8 Έλεγχος ρελέ με NodeMCU και δέκτη IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: 5 βήματα (με εικόνες)
8 Έλεγχος ρελέ με δέκτη NodeMCU και IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: Έλεγχος 8 διακοπτών ρελέ χρησιμοποιώντας nodemcu και δέκτη ir μέσω wifi και ir απομακρυσμένης και εφαρμογής Android. Το ir remote λειτουργεί ανεξάρτητα από τη σύνδεση wifi. ΕΔΩ ΕΙΝΑΙ ΕΝΗΜΕΡΩΜΕΝΗ ΚΛΙΚ ΕΔΩ
Ανάπτυξη εφαρμογών χρησιμοποιώντας καρφίτσες GPIO στο DragonBoard 410c με λειτουργικά συστήματα Android και Linux: 6 βήματα
Ανάπτυξη εφαρμογών χρησιμοποιώντας καρφίτσες GPIO στο DragonBoard 410c Με λειτουργικά συστήματα Android και Linux: Ο σκοπός αυτού του σεμιναρίου είναι να δείξει τις πληροφορίες που απαιτούνται για την ανάπτυξη εφαρμογών χρησιμοποιώντας την καρφίτσα GPIO στην επέκταση χαμηλής ταχύτητας DragonBoard 410c. Αυτό το σεμινάριο παρουσιάζει πληροφορίες για την ανάπτυξη εφαρμογών χρησιμοποιώντας τις καρφίτσες GPIO με το SYS στο Andr