Έλεγχος λυχνίας LED ON / OFF και φωτεινότητας με οποιοδήποτε τηλεχειριστήριο

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτήν την ανάρτηση πρόκειται να κατασκευάσουμε κύκλωμα ελεγκτή λωρίδων LED χρησιμοποιώντας το Arduino, το οποίο μπορεί να ενεργοποιήσει / απενεργοποιήσει και να μειώσει / αυξήσει τη φωτεινότητα των LED χρησιμοποιώντας συνηθισμένο τηλεχειριστήριο υπερύθρων.



Τι είναι το LED Strip Light; (Για Νομπς)

Αν δεν είστε εξοικειωμένοι με τα φώτα LED, ας καταλάβουμε τι είναι.

Οι λωρίδες LED (μερικές φορές ονομάζονται φώτα κορδέλας) είναι εύκαμπτα PCB που αποτελούνται από σειρές φωτεινών LED και κυκλωμάτων ελεγκτή, τα εξαρτήματα της λωρίδας LED είναι επιφανειακά ανάγλυφα (SMD).



Χρησιμοποιείται για τη διακόσμηση σπιτιών, δωματίων πάρτι και εξωτερικών χώρων κατά τη διάρκεια των εποχών του φεστιβάλ κ.λπ.

Έχει κολλώδες στρώμα στην πίσω πλευρά που μπορεί να κολλήσει σε τοίχους, ξύλο ή οποιαδήποτε λεία επιφάνεια χωρίς να χρειάζεται κόλλα.

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

Οι λωρίδες LED λειτουργούν στα 12V ή 24V ανάλογα με τις προδιαγραφές, αλλά, σε αυτό το έργο, το 24V δεν είναι κατάλληλο καθώς η πλακέτα arduino δεν έχει σχεδιαστεί για να χειρίζεται 24V. Διατίθενται επίσης ταινίες LED τύπου USB που μπορούν να λειτουργήσουν στα 5V και μπορούν να χρησιμοποιηθούν σε αυτό το έργο μόνο μετά από σωστή τροποποίηση του κυκλώματος.

Μέχρι τώρα θα έχετε καταλάβει για το LED Strip Light.

Το LED strip Light χρειάζεται κύκλωμα ελεγκτή που είναι άμεσα διαθέσιμο στην αγορά, αλλά αυτά είναι ακριβά. Σε αυτό το έργο θα κατασκευάσουμε ένα απλό και φθηνό κύκλωμα που μπορεί να ελέγχει τα φώτα LED μέσω οποιουδήποτε τηλεχειριστηρίου IR.

Διάγραμμα κυκλώματος:

Ελεγκτής λωρίδας LED με Arduino

Το κύκλωμα αποτελείται από λίγα στοιχεία: ρυθμιστή τάσης με πυκνωτές ζεύξης, αισθητήρα TSOP1738 IR, MOSFET IRFZ44N, λωρίδα LED και εγκέφαλος του έργου arduino Uno. Μπορείτε να επιλέξετε τον αγαπημένο σας πίνακα arduino για αυτό το έργο.

Ο αισθητήρας TSOP1738 λαμβάνει σήματα υπερύθρων από το τηλεχειριστήριο και αποκωδικοποιεί με τέτοιο τρόπο ώστε ο μικροελεγκτής να μπορεί να κατανοήσει. Το N-channel MOSFET ενισχύει τα σήματα από το arduino και τροφοδοτείται σε λωρίδα LED.

Ο ρυθμιστής τάσης τροφοδοτεί τη λωρίδα arduino και LED. Βεβαιωθείτε ότι το τροφοδοτικό σας μπορεί να παρέχει επαρκή ποσότητα ρεύματος για λωρίδα LED.

Το προτεινόμενο κύκλωμα έχει σχεδιαστεί για ταινίες LED 12V, μπορείτε να αλλάξετε ρυθμιστή τάσης ανάλογα με τις προδιαγραφές λωρίδων LED. Συνιστάται να μην χρησιμοποιείτε λωρίδα LED με ονομαστική τάση μεγαλύτερη από 20V, καθώς το απόλυτο μέγιστο του arduino είναι 20V.

Αυτό το κύκλωμα μπορεί να ενεργοποιήσει και να απενεργοποιήσει τη λωρίδα LED, μπορεί να ρυθμίσει τη φωτεινότητα πάνω και κάτω κατά 5 βήματα, αυτό επιτυγχάνεται εφαρμόζοντας διαφορετικά σήματα PWM στη λωρίδα LED.

Πώς να δοκιμάσετε

Για να ολοκληρώσετε αυτές τις λειτουργίες ακολουθήστε τις παρακάτω οδηγίες:

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

• Ανοίξτε το IDE, μεταβείτε στο αρχείο> παραδείγματα> IRremote> IRrecvDemo.

• Με την ολοκλήρωση της σύνδεσης, συνδέστε το USB στο arduino και ο υπολογιστής (χωρίς εξωτερική τροφοδοσία) ανεβάστε τον κωδικό και ανοίξτε τη σειριακή οθόνη.

• Τώρα πατήστε κάθε κουμπί μία φορά, θα δείτε τον δεκαεξαδικό κωδικό του στη σειριακή οθόνη και θα τον σημειώσετε. Αυτός ο δεκαεξαδικός κώδικας πρέπει να φορτωθεί με το δεδομένο πρόγραμμα στο arduino.

ΣΗΜΕΙΩΣΗ:

Το προτεινόμενο κύκλωμα έχει σχεδιαστεί για τον έλεγχο μονόχρωμης λωρίδας LED. Εάν έχετε ακροδέκτες RGB με πολύχρωμες λωρίδες LED μικρού χρώματος (δίνει λευκό χρώμα), το υπόλοιπο κύκλωμα είναι ίδιο.

Κωδικός προγράμματος:

//---------Program developed by R.Girish---------//
#include
int X
int Y
int output = 9
int W = 5
int receive = 10
IRrecv irrecv(receive)
decode_results Z
void setup()
{
irrecv.enableIRIn()
Y=0
X=255
pinMode(output,OUTPUT)
}
void loop()
{
if (irrecv.decode(&Z))
{
if (Z.value==0x80C) // Hex code for ON/OFF
{
if(Y==0)
{
digitalWrite(output,HIGH)
Y=1
}
else
{
digitalWrite(output,LOW)
Y=0
X=255
}}
if (Z.value==0x811 && Y==1) // Hex code for reducing Brightness
{
if(X-255/W<0)
{
analogWrite(output,X)
}
else
{
X=X-255/W
analogWrite(output,X)
}}
if (Z.value==0x810 && Y==1) // Hex code for increasing Brightness
{
if(X+255/W>255)
{
analogWrite(output,X)
}
else
{
X=X+255/W
analogWrite(output,X)
}}
irrecv.resume()
}}
//---------Program developed by R.Girish---------//

ΣΗΜΕΙΩΣΗ:
Αντικαταστήστε τα 0x80C, 0x810 και 0x811 με τον δεκαεξαδικό κωδικό του τηλεχειριστηρίου σας ξεκινώντας από '0x'




Προηγούμενο: Πρόβλημα τρανζίστορ Σφάλμα ψευδούς σκανδάλης Επόμενο: Αυτόματη λάμπα θερμότητας για ξενοδοχεία