Πώς να συνδέσετε το LED στην πλακέτα Arduino
Η πλατφόρμα Arduino είναι εξαιρετικά δημοφιλής σε όλο τον κόσμο. Ένα ιδανικό εργαλείο για τα πρώτα βήματα στην ανάπτυξη προγραμματισμού και διαχείρισης υλικού. Καθώς μεγαλώνετε στις δεξιότητές σας, μπορείτε να κλιμακώσετε την αρχιτεκτονική προσθέτοντας περιφερειακά και να δημιουργήσετε πιο περίπλοκα συστήματα που εκτελούν πιο σύνθετα προγράμματα. Οι πλακέτες Arduino Uno και Arduino Nano είναι κατάλληλες για αρχική εκπαίδευση. Στο παράδειγμά τους, εξετάζεται η σύνδεση του LED με το Arduino.
Τι είναι το Arduino Uno και το Arduino Nano
Η βάση της πλακέτας Arduino Uno είναι ο μικροελεγκτής ATmega328. Έχει επίσης πρόσθετα στοιχεία:
- Αντηχείο χαλαζία?
- κουμπί επαναφοράς;
- Υποδοχή USB.
- ενσωματωμένος σταθεροποιητής τάσης.
- βύσμα τροφοδοσίας?
- αρκετές λυχνίες LED για την ένδειξη των τρόπων λειτουργίας.
- Τσιπ επικοινωνίας για κανάλι USB.
- υποδοχή για προγραμματισμό εντός κυκλώματος.
- μερικά ακόμη ενεργητικά και παθητικά στοιχεία.
Όλα αυτά σας επιτρέπουν να κάνετε τα πρώτα βήματα χωρίς να χρησιμοποιήσετε συγκολλητικό σίδερο και να αποφύγετε το στάδιο της κατασκευής μιας πλακέτας τυπωμένου κυκλώματος.Η μονάδα τροφοδοτείται από εξωτερική πηγή τάσης 7..12 V ή μέσω υποδοχής USB. Μέσω αυτού, η μονάδα συνδέεται με τον υπολογιστή για λήψη του σκίτσου. Η πλακέτα διαθέτει πηγή τάσης 3,3 V για την τροφοδοσία εξωτερικών συσκευών. 6, 14 ψηφιακές έξοδοι γενικής χρήσης είναι διαθέσιμες για λειτουργία. Η χωρητικότητα φορτίου της ψηφιακής εξόδου όταν τροφοδοτείται από 5 V είναι 40 mA. Αυτό σημαίνει ότι ένα LED μπορεί να συνδεθεί απευθείας σε αυτό μέσω περιοριστική αντίσταση.

Η πλακέτα Arduino Nano είναι πλήρως συμβατή με την Uno, αλλά μικρότερη σε μέγεθος και έχει κάποιες διαφορές και απλοποιήσεις που αναφέρονται στον πίνακα.
| Πληρωμή | Ελεγκτής | Υποδοχή για εξωτερική παροχή ρεύματος | Μικροτσίπ για επικοινωνία USB | Υποδοχή USB |
|---|---|---|---|---|
| Arduino Uno | ATmega328 | Υπάρχει | ATmega8U2 | USB A-B |
| Arduino Nano | ATmega328 | Δεν | FT232RL | micro USB |

Οι διαφορές δεν είναι θεμελιώδεις και δεν έχουν σημασία για το θέμα της αναθεώρησης.
Τι χρειάζεστε για να συνδέσετε το LED στην πλακέτα Arduino
Υπάρχουν δύο επιλογές για τη σύνδεση του LED. Για μαθησιακούς σκοπούς, μπορείτε να επιλέξετε οποιοδήποτε.
- Χρησιμοποιήστε ενσωματωμένο LED. Σε αυτήν την περίπτωση, δεν χρειάζεται τίποτα άλλο, εκτός από ένα καλώδιο για σύνδεση σε υπολογιστή μέσω υποδοχής USB - για τροφοδοσία και προγραμματισμό. Δεν έχει νόημα η χρήση εξωτερικής πηγής τάσης για την τροφοδοσία της πλακέτας: η κατανάλωση ρεύματος είναι μικρή.Καλώδιο USB A-B για σύνδεση Arduino Uno με υπολογιστή.
- Συνδέστε εξωτερικές λυχνίες LED. Εδώ θα χρειαστείτε επιπλέον:
- το ίδιο το LED?
- αντίσταση περιορισμού ρεύματος με ισχύ 0,25 W (ή περισσότερο) με ονομαστική τιμή 250-1000 ohms (ανάλογα με το LED).
- καλώδια και ένα κολλητήρι για τη σύνδεση εξωτερικού κυκλώματος.

Τα LED συνδέονται με κάθοδο σε οποιαδήποτε ψηφιακή έξοδο του μικροελεγκτή, άνοδο σε ένα κοινό καλώδιο μέσω μιας αντίστασης έρματος. Με μεγάλο αριθμό LED, μπορεί να χρειαστεί μια πρόσθετη πηγή ενέργειας.
Είναι δυνατή η σύνδεση πολλαπλών LED σε μία έξοδο
Μπορεί να χρειαστεί να συνδέσετε ένα εξωτερικό LED ή μια ομάδα LED σε οποιαδήποτε έξοδο. Η χωρητικότητα φορτίου μιας εξόδου του μικροελεγκτή, όπως αναφέρθηκε, είναι μικρή. Ένα ή δύο LED με κατανάλωση ρεύματος 15 mA μπορούν να συνδεθούν απευθείας σε αυτό παράλληλα. Δεν αξίζει να δοκιμάσετε τη βιωσιμότητα της εξόδου με φορτίο στα όρια της πιθανότητας ή να το υπερβείτε. Είναι καλύτερα να χρησιμοποιήσετε έναν διακόπτη σε ένα τρανζίστορ (πεδίο ή διπολικό).
Αντίσταση R1 πρέπει να επιλέγεται έτσι ώστε το ρεύμα μέσω αυτού να μην υπερβαίνει τη χωρητικότητα φορτίου της εξόδου. Είναι καλύτερα να παίρνετε το μισό ή λιγότερο από το μέγιστο. Έτσι, για να ρυθμίσετε ένα μέτριο ρεύμα 10 mA, η αντίσταση στα 5 βολτ τροφοδοσίας θα πρέπει να είναι 500 ωμ.
Κάθε LED πρέπει να έχει τη δική του αντίσταση έρματος, δεν είναι επιθυμητό να το αντικαταστήσετε με ένα κοινό. Το Rbal επιλέγεται έτσι ώστε να ρυθμίζει το ρεύμα λειτουργίας του μέσω κάθε LED. Άρα, για τάση τροφοδοσίας 5 βολτ και ρεύμα ίση με 20 mA, η αντίσταση πρέπει να είναι 250 ohms ή η πλησιέστερη τυπική τιμή.
Είναι απαραίτητο να διασφαλιστεί ότι το συνολικό ρεύμα μέσω του συλλέκτη του τρανζίστορ δεν υπερβαίνει τη μέγιστη τιμή του. Έτσι, για το τρανζίστορ KT3102, το μεγαλύτερο Ik θα πρέπει να περιοριστεί στα 100 mA. Αυτό σημαίνει ότι δεν μπορούν να συνδεθούν περισσότερα από 6 LED με ρεύμα. 15 mA. Εάν αυτό δεν είναι αρκετό, πρέπει να χρησιμοποιηθεί ένα πιο ισχυρό κλειδί.Αυτός είναι ο μόνος περιορισμός για την επιλογή ενός τρανζίστορ n-p-n σε ένα τέτοιο κύκλωμα. Ακόμη και εδώ, θεωρητικά, είναι απαραίτητο να ληφθεί υπόψη το κέρδος του τριόδου, αλλά για αυτές τις συνθήκες (ρεύμα εισόδου 10 mA, έξοδος 100) θα πρέπει να είναι τουλάχιστον 10. Οποιοδήποτε σύγχρονο τρανζίστορ μπορεί να παράγει τέτοιο h21e.
Ένα τέτοιο κύκλωμα είναι κατάλληλο όχι μόνο για την ενίσχυση της εξόδου ρεύματος του μικροελεγκτή. Έτσι, μπορείτε να συνδέσετε επαρκώς ισχυρούς ενεργοποιητές (ρελέ, ηλεκτρομαγνητικές βαλβίδες, ηλεκτρικούς κινητήρες) που τροφοδοτούνται από αυξημένη τάση (για παράδειγμα, 12 βολτ). Κατά τον υπολογισμό, πρέπει να λάβετε την αντίστοιχη τιμή τάσης.
Μπορείτε επίσης να χρησιμοποιήσετε για να εκτελέσετε κλειδιά MOSFET, αλλά μπορεί να απαιτούν υψηλότερη τάση για να ανοίξουν από αυτή που μπορεί να δώσει το Arduino. Σε αυτή την περίπτωση, πρέπει να παρέχονται πρόσθετα κυκλώματα και στοιχεία. Για να αποφευχθεί αυτό, είναι απαραίτητο να χρησιμοποιήσετε τα λεγόμενα "ψηφιακά" τρανζίστορ πεδίου - χρειάζονται 5 βόλτ για να ανοίξω. Αλλά είναι λιγότερο κοινά.
Προγραμματικός έλεγχος LED
Η απλή σύνδεση ενός LED στην έξοδο του μικροελεγκτή κάνει λίγα. Είναι απαραίτητο να ελέγξετε τον έλεγχο του LED από το Arduino προγραμματικά. Αυτό μπορεί να γίνει στη γλώσσα Arduino, η οποία βασίζεται στο C (C). Αυτή η γλώσσα προγραμματισμού είναι μια προσαρμογή της C για αρχική εκμάθηση. Αφού το κατακτήσετε, η μετάβαση στη C ++ θα είναι εύκολη. Για να γράψετε σκίτσα (όπως ονομάζονται τα προγράμματα για το Arduino) και να τα διορθώσετε ζωντανά, πρέπει να κάνετε τα εξής:
- εγκαταστήστε το Arduino IDE σε έναν προσωπικό υπολογιστή.
- ίσως χρειαστεί να εγκαταστήσετε ένα πρόγραμμα οδήγησης για το τσιπ επικοινωνίας USB.
- συνδέστε την πλακέτα σε υπολογιστή χρησιμοποιώντας ένα καλώδιο USB-microUSB.

Οι προσομοιωτές υπολογιστών μπορούν να χρησιμοποιηθούν για τον εντοπισμό σφαλμάτων απλών προγραμμάτων και κυκλωμάτων. Η προσομοίωση της λειτουργίας των πλακών Arduino Uno και Nano υποστηρίζεται, για παράδειγμα, από την Proteus (ξεκινώντας από την έκδοση 8). Η ευκολία του προσομοιωτή είναι ότι είναι αδύνατο να απενεργοποιήσετε το υλικό με ένα εσφαλμένα συναρμολογημένο κύκλωμα.

Τα σκίτσα αποτελούνται από δύο ενότητες:
- εγκατάσταση - εκτελείται μία φορά κατά την εκκίνηση του προγράμματος, αρχικοποιεί μεταβλητές και τρόπους λειτουργίας του υλικού.
- βρόχος – εκτελείται κυκλικά μετά το μπλοκ εγκατάστασης στο άπειρο.
Για Σύνδεση LED μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις 14 ελεύθερες ακίδες (pins), οι οποίες συχνά λανθασμένα ονομάζονται θύρες. Στην πραγματικότητα, το λιμάνι είναι, μιλώντας απλά, μια ομάδα από καρφίτσες. Η καρφίτσα είναι απλώς ένα στοιχείο.
Ένα παράδειγμα ελέγχου θεωρείται για τον ακροδέκτη 13 - ένα LED είναι ήδη συνδεδεμένο σε αυτό στην πλακέτα (μέσω ενός ενισχυτή-ακολούθου στην πλακέτα Uno, μέσω μιας αντίστασης στο Nano). Για να εργαστείτε με μια ακίδα θύρας, πρέπει να ρυθμιστεί σε λειτουργίες εισόδου ή εξόδου. Είναι βολικό να το κάνετε αυτό στο σώμα εγκατάστασης, αλλά δεν είναι απαραίτητο - ο προορισμός εξόδου μπορεί να αλλάξει δυναμικά. Δηλαδή κατά την εκτέλεση του προγράμματος η θύρα μπορεί να λειτουργήσει είτε για είσοδο είτε για έξοδο δεδομένων.
Η προετοιμασία της ακίδας 13 του Arduino (ακίδα PB5 της θύρας Β του μικροελεγκτή ATmega 328) είναι η εξής:
void setup()
{
pinMode(13, Έξοδος);
}
Μετά την εκτέλεση αυτής της εντολής, η ακίδα 13 της πλακέτας θα λειτουργεί σε λειτουργία εξόδου, από προεπιλογή θα είναι λογικά χαμηλή. Κατά την εκτέλεση του προγράμματος, μπορεί να γραφτεί σε αυτό το μηδέν ή ένα. Η εγγραφή της μονάδας μοιάζει με αυτό:
void loop()
{
digitalWrite(13, HIGH);
}
Τώρα η ακίδα 13 της πλακέτας θα τοποθετηθεί ψηλά - μια λογική, και μπορεί να χρησιμοποιηθεί για να ανάψει το LED.
Για να απενεργοποιήσετε το LED, πρέπει να ρυθμίσετε την έξοδο στο μηδέν:
digitalWrite(13, LOW);
Έτσι, γράφοντας εναλλάξ ένα και μηδέν στο αντίστοιχο bit του καταχωρητή θύρας, μπορείτε να ελέγξετε τις εξωτερικές συσκευές.
Τώρα μπορείτε να περιπλέκετε το πρόγραμμα Arduino για να ελέγξετε το LED και να μάθετε πώς να αναβοσβήνει το στοιχείο εκπομπής φωτός:
void setup()
{
pinMode(13, Έξοδος);
}
void loop()
{
digitalWrite(13, HIGH);
καθυστέρηση (1000);
digitalWrite(13, LOW);
καθυστέρηση (1000);
}
Ομάδα καθυστέρηση (1000) δημιουργεί καθυστέρηση 1000 χιλιοστών του δευτερολέπτου ή ενός δευτερολέπτου. Αλλάζοντας αυτήν την τιμή, μπορείτε να αλλάξετε τη συχνότητα ή τον κύκλο λειτουργίας του LED που αναβοσβήνει. Εάν ένα εξωτερικό LED είναι συνδεδεμένο σε άλλη έξοδο της πλακέτας, τότε στο πρόγραμμα, αντί για 13, πρέπει να καθορίσετε τον αριθμό της επιλεγμένης ακίδας.
Για λόγους σαφήνειας, προτείνουμε μια σειρά βίντεο.
Έχοντας κατακτήσει τις συνδέσεις LED στο Arduino και μάθετε πώς να το ελέγχετε, μπορείτε να μετακινηθείτε σε ένα νέο επίπεδο και να γράψετε άλλα, πιο σύνθετα προγράμματα. Για παράδειγμα, μπορείτε να μάθετε πώς να αλλάζετε δύο ή περισσότερα LED με ένα κουμπί, να αλλάζετε τη συχνότητα που αναβοσβήνει χρησιμοποιώντας ένα εξωτερικό ποτενσιόμετρο, να ρυθμίζετε τη φωτεινότητα της λάμψης χρησιμοποιώντας PWM, να αλλάζετε το χρώμα ενός πομπού RGB. Το επίπεδο των εργασιών περιορίζεται μόνο από τη φαντασία.


