Ανάψτε ένα LED με το GPIO του Raspberry Pi

Νωρίτερα φέτος πήρατε μια περιοδεία στο GPIO του Raspberry Pi και επίσης συνιστούσαμε κάποιες πραγματικά χρήσιμες κάρτες ξεμπλοκάρισμα για τον εντοπισμό αριθμών pin. Σήμερα συνεχίζουμε αυτό το θέμα και αρχίζουμε να χρησιμοποιούμε αυτές τις καρφίτσες σε συνδυασμό με τον κώδικα και το υλικό.

Το GPIO είναι ο τρόπος με τον οποίο ο Raspberry Pi μιλά στον εξωτερικό κόσμο - "πραγματικά πράγματα" - χρησιμοποιώντας κώδικα για τον προγραμματισμό των σημάτων και των τάσεων προς και από την κεφαλίδα των 40 ακίδων.

Η κωδικοποίηση με το GPIO είναι λογικά απλή για να ξεκινήσετε, ειδικά για αρχάριους σχεδιαστές όπως LED και buzzers. Με μόνο μερικά εξαρτήματα και μερικές σειρές κώδικα μπορείτε να ανάβετε ή να αναβοσβήνετε ένα LED ως μέρος του έργου σας.

Αυτό το άρθρο θα σας δείξει τι χρειάζεστε για να ανάψετε μια λυχνία LED χρησιμοποιώντας τον κώδικα Python στο Raspberry Pi, χρησιμοποιώντας την παραδοσιακή μέθοδο RPi.GPIO.

01 από 04

Ο, τι χρειάζεσαι

Λίγα απλά και φθηνά μέρη απαιτούνται για αυτό το έργο. Ρίτσαρντ Σαβίλ

Ακολουθεί μια λίστα με όλα όσα χρειάζεστε για αυτό το μικρό πρόγραμμα εκκίνησης. Θα πρέπει να είστε σε θέση να βρείτε αυτά τα στοιχεία στο αγαπημένο κατάστημα maker σας ή σε απευθείας σύνδεση περιοχές δημοπρασιών.

02 από 04

Δημιουργήστε το κύκλωμα - Βήμα 1

Συνδέστε κάθε πείρο στο πινάκιο με καλώδια σύνδεσης. Ρίτσαρντ Σαβίλ

Θα χρησιμοποιήσουμε 2 ακίδες GPIO για αυτό το έργο, έναν ακροδέκτη γείωσης (φυσική καρφίτσα 39) για το πόδι εδάφους της λυχνίας LED και ένα γενικό pin GPIO (GPIO 21, φυσικός πείρος 40) για την τροφοδοσία της λυχνίας LED - αλλά μόνο όταν αποφασίζουμε να - όπου βρίσκεται ο κώδικας.

Αρχικά, απενεργοποιήστε το Raspberry Pi. Τώρα, χρησιμοποιώντας τα καλώδια διασύνδεσης, συνδέστε τον πείρο γείωσης σε μια λωρίδα στο πινέλο σας. Στη συνέχεια κάντε το ίδιο για τον ακροδέκτη GPIO, συνδέοντας σε διαφορετική λωρίδα.

03 του 04

Δημιουργήστε το κύκλωμα - Βήμα 2

Η λυχνία LED και η αντίσταση ολοκληρώνουν το κύκλωμα. Ρίτσαρντ Σαβίλ

Στη συνέχεια προσθέτουμε το LED και την αντίσταση στο κύκλωμα.

Οι λυχνίες LED έχουν πολικότητα - που σημαίνει ότι πρέπει να συνδεθούν με ένα συγκεκριμένο τρόπο. Συνήθως έχουν ένα μεγαλύτερο πόδι το οποίο είναι το άνοδο (θετικό) πόδι και συνήθως μια επίπεδη ακμή στην πλαστική κεφαλή LED που δηλώνει το πόδι της καθόδου (αρνητικό).

Μια αντίσταση χρησιμοποιείται για να προστατεύσει τόσο το LED από το να δέχεται υπερβολικά μεγάλο ρεύμα, όσο και ο ακροδέκτης GPIO από το να "δίνει" πάρα πολύ - πράγμα που θα μπορούσε να βλάψει και τα δύο.

Υπάρχει ένα κομμάτι μιας γενικής ονομαστικής αντίσταση για τα πρότυπα LED - 330ohm. Υπάρχουν κάποια μαθηματικά πίσω από αυτό, αλλά επί του παρόντος ας επικεντρωθούμε στο έργο - μπορείτε να εξετάσετε πάντα νόμους ohms και συναφή θέματα στη συνέχεια.

Συνδέστε το ένα σκέλος της αντίστασης στη λωρίδα GND στο πινέλο σας και το άλλο πόδι αντίστασης στη λωρίδα που συνδέεται με το βραχύτερο σκέλος της λυχνίας LED σας.

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

04 του 04

Κωδικός GPIO της Python (RPi.GPIO)

Το RPi.GPIO είναι μια εξαιρετική βιβλιοθήκη για τη χρήση των καρφίτσες GPIO. Ρίτσαρντ Σαβίλ

Προς το παρόν έχουμε ένα κύκλωμα καλωδιωμένο και έτοιμο να πάμε, αλλά δεν είπαμε στον ακροδέκτη μας GPIO να στείλει οποιαδήποτε ισχύ ακόμα, οπότε τα LED σας δεν πρέπει να ανάβουν.

Ας φτιάξουμε ένα αρχείο Python για να πούμε στο pin GPIO να στείλει κάποια ισχύ για 5 δευτερόλεπτα και στη συνέχεια να σταματήσει. Η τελευταία έκδοση του Raspbian θα έχει ήδη εγκαταστήσει τις βιβλιοθήκες GPIO που δεν έχουν εγκατασταθεί.

Ανοίξτε ένα παράθυρο τερματικού και δημιουργήστε μια νέα δέσμη Python εισάγοντας την ακόλουθη εντολή:

sudo nano led1.py

Αυτό θα ανοίξει ένα κενό αρχείο για να εισάγουμε τον κωδικό μας. Καταχωρίστε τις παρακάτω γραμμές:

#! / usr / bin / python # Εισαγωγή βιβλιοθηκών που χρειαζόμαστε για εισαγωγή RPi.GPIO ως GPIO εισαγωγής χρόνου # Ρυθμίστε τη λειτουργία GPIO GPIO.setmode (GPIO.BCM) # Ρυθμίστε τον αριθμό GPIO LED LED = 21 # Ρυθμίστε την ακίδα LED GPIO ως Έξοδος GPIO.setup (LED, GPIO.OUT) # Γυρίστε τον ακροδέκτη GPIO στο GPIO.output (LED, True) # Περιμένετε 5 δευτερόλεπτα time.sleep (5) # Γυρίστε τον ακροδέκτη GPIO εκτός GPIO.output (LED,

Πατήστε Ctrl + X για να αποθηκεύσετε το αρχείο. Για να εκτελέσετε το αρχείο, πληκτρολογήστε την ακόλουθη εντολή στο τερματικό και πατήστε enter:

sudo python led1.py

Η λυχνία LED πρέπει να ανάβει για 5 δευτερόλεπτα και μετά να απενεργοποιηθεί, τερματίζοντας το πρόγραμμα

Γιατί να μην προσπαθήσετε να αλλάξετε τον αριθμό "time.sleep" για να ανάψετε τη λυχνία LED για διαφορετικούς χρόνους ή να δοκιμάσετε να αλλάξετε το "GPIO.output (LED, True)" στο "GPIO.output (LED, False)" και να δούμε τι συμβαίνει;