Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Σε αυτό το έργο, θα δημιουργήσουμε μια κόκκινη, λευκή και μπλε οθόνη LED με ποτενσιόμετρο και κουμπί. Ακούγεται εύκολο, αλλά επίσης θα χρησιμοποιήσουμε διακοπές για αυτό. Έτσι, όταν πατηθεί το κουμπί, η τιμή από το ποτενσιόμετρο θα ρυθμίσει τη φωτεινότητα των LED. Τα υλικά που απαιτούνται περιλαμβάνουν:
-Arduino Uno R3
-επιτραπέζιο
-αρσενικά έως αρσενικά καλώδια
-τρία LED (κόκκινο, λευκό, μπλε)
-ποτενσιόμετρο
-κουμπί πίεσης
Αντίσταση -220ohm
Βήμα 1: Ισχύς και έδαφος
Πρώτα, συνδέστε τη γείωση και την ισχύ 5v στο breadboard.
Βήμα 2: Σύνδεση LED
Τοποθετήστε και τις τρεις λυχνίες LED στο breadboard. Συνδέστε την κάθοδο στη γείωση για κάθε μία. Συνδέστε μια αντίσταση 220 ohm στην άνοδο και, στη συνέχεια, συνδέστε την στο arduino, ακίδες 9-11.
Βήμα 3: Πιέστε το κουμπί
Για το κουμπί, βεβαιωθείτε ότι το έχετε συνδέσει ακριβώς στην εικόνα. Ισχύς σε τροφοδοσία, αντίσταση 220ohm στη γείωση και στη συνέχεια το αντίθετο άκρο στον πείρο 3. Αυτό θα χρησιμοποιηθεί ως διακοπή.
Βήμα 4: Ποτενσιόμετρο
Ακριβώς όπως το κουμπί, συνδέστε το ποτενσιόμετρο ακριβώς όπως δείχνει η εικόνα. Αυτό θα εξυπηρετήσει τον σκοπό ρύθμισης της φωτεινότητας.
Βήμα 5: Πιθανά σφάλματα
Βεβαιωθείτε ότι οι ακίδες είναι συνδεδεμένες όπως δείχνει ο κώδικας και οι εικόνες και ότι ταιριάζουν. Επίσης, βεβαιωθείτε ότι η άνοδος και η κάθοδος συνδέονται ανάλογα.
Βήμα 6: Κωδικός
const byte ledBlue = 11; // ορίζει μπλε LED στο pin 11const byte ledRed = 10; // ορίζει κόκκινο LED στην ακίδα 10
const byte ledWhite = 9; // θέτει το λευκό LED στο pin 9
const byte interruptPin = 3; // το κουμπί ώθησης ως διακοπή
const byte potPin = 1; // το ποτενσιόμετρο είναι η ακίδα Α1
πτητικό int φωτεινό? // Φωτεινότητα LED
void setup () {
pinMode (ledBlue, OUTPUT); // μπλε LED ως ΕΞΟΔΟΣ
pinMode (ledRed, OUTPUT); // κόκκινο LED ως ΕΞΟΔΟΣ
pinMode (ledWhite, OUTPUT); // λευκή λυχνία LED ως ΕΞΟΔΟΣ
pinMode (interruptPin, INPUT_PULLUP); // καρφίτσα κουμπιού ως INPUT_PULLUP
pinMode (potPin, INPUT); // καρφίτσα ποτενσιόμετρου ως ΕΙΣΟΔΟΣ
// ρυθμίζει τη διακοπή με ακίδα εισόδου και φωτεινότητα σε RISING
attachInterrupt (digitalPinToInterrupt (interruptPin), φως, RISING);
} // τερματισμός ρύθμισης
void loop () {
analogWrite (ledBlue, bright); // Ρυθμίζει το μπλε LED στο καθορισμένο επίπεδο φωτεινότητας
analogWrite (ledRed, bright); // Ρυθμίζει το κόκκινο LED στο καθορισμένο επίπεδο φωτεινότητας
analogWrite (ledWhite, bright); // Ρυθμίζει το λευκό LED στο καθορισμένο επίπεδο φωτεινότητας
} // βρόχος τερματισμού
κενό φως () {
bright = analogRead (potPin); // Διαβάζει σε αξία από το ποτενσιόμετρο
φωτεινό = χάρτης (φωτεινό, 0, 1023, 0, 255); // Τιμές Χαρτών για φωτεινότητα LED
} // τελειώνει πιο φωτεινά