Κύκλωμα τηλεχειριστηρίου Arduino IR

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





Σε αυτήν την ανάρτηση πρόκειται να κατασκευάσουμε έναν προσαρμόσιμο διακόπτη ασύρματου τηλεχειριστηρίου που βασίζεται σε IR (υπέρυθρες), ο οποίος αποτελείται από τηλεχειριστήριο IR και δέκτη, μπορείτε να τροποποιήσετε ανάλογα με τις ανάγκες σας. Στο τελευταίο μέρος του άρθρου μαθαίνουμε για μια αναβαθμισμένη ανθεκτική έκδοση ενός τηλεχειριστηρίου υπερύθρων που θα ανταποκρίνεται μόνο σε μια μοναδικά εκχωρημένη συχνότητα.

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



Θα χρειαστείτε δύο πίνακες Arduino, οι οποίες λειτουργούν ως απομακρυσμένες και μια άλλη ως δέκτης. Θα συνιστούσα το Arduino pro mini για αυτό το έργο, καθώς τα μεγέθη τους είναι αρκετά μικρά και το συνολικό μέγεθος του τηλεχειριστηρίου θα μπορούσε να παραμεληθεί.

Μπορείτε να χρησιμοποιήσετε το Arduino pro mini που βασίζεται σε 3.3V για τηλεχειριστήριο, έτσι ώστε να μπορείτε να τροφοδοτείτε με μπαταρία δύο κουμπιών ή δύο μπαταρίες μεγέθους AA, ανάλογα με τις ανάγκες σας.



Το κύκλωμα πομπού IR διαθέτει 3 κουμπιά για ενεργοποίηση και LED LED για αποστολή εντολών στον δέκτη. Κάθε κουμπί έχει προγραμματιστεί με μοναδικό δεκαεξαδικό κωδικό, ο ίδιος δεκαεξαδικός κωδικός προγραμματίζεται και στην πλευρά του δέκτη.

Όταν πιέζεται ένα κουμπί, η λυχνία IR στέλνει τον δεκαεξαδικό κωδικό στον δέκτη, ο δέκτης θα αναγνωρίσει ποιο από τα κουμπιά πιέζεται και αλλάζει το αντίστοιχο ρελέ ON / OFF.

Το προτεινόμενο τηλεχειριστήριο χρησιμοποιεί πρωτόκολλο RC5 για επικοινωνία με δέκτη, μπορείτε να αλλάξετε τα πάντα τροποποιώντας τον κωδικό.

Εάν είστε απλώς αρχάριος στο Arduino, μπορείτε να το ολοκληρώσετε απλώς ακολουθήστε το διάγραμμα και ανεβάστε τον κωδικό χωρίς τροποποίηση.

Το κύκλωμα και το πρόγραμμα:

Απομακρυσμένος πομπός Arduino:

Ανώτατο κύκλωμα τηλεχειρισμού IR

Το παραπάνω κύκλωμα απεικονίζει τον τρόπο κατασκευής του απομακρυσμένου πομπού Arduino IR.

Οι τρεις αντιστάσεις 10K είναι αντιστάσεις έλξης προς τα κάτω, οι οποίες αποτρέπουν την τυχαία ενεργοποίηση του τηλεχειριστηρίου λόγω στατικής φόρτισης και μια περιοριστική αντίσταση ρεύματος 220ohm χρησιμοποιείται για το IR LED.

Πρόγραμμα για απομακρυσμένο πομπό:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Δέκτης Arduino:

Το κύκλωμα δέκτη IR Arduino όπως φαίνεται παραπάνω αποτελείται από Αισθητήρας TSOP1738 λίγα τρανζίστορ, περιοριστικές αντιστάσεις ρεύματος για τρανζίστορ, ρελέ και δίοδοι για απορρόφηση ακίδων υψηλής τάσης από πηνία ρελέ.

Το διάγραμμα κυκλώματος είναι αυτονόητο.

Πρόγραμμα για δέκτη Arduino:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

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

Μπορείτε να αντιστοιχίσετε έξοδο και είσοδο για αχρησιμοποίητους ακροδέκτες στο δέκτη και τηλεχειριστήριο στο πρόγραμμα και να συνδέσετε τον αριθμό τρανζίστορ και ρελέ για τις αντίστοιχες ακίδες του δέκτη και να συνδέσετε ομοίως τον αριθμό των διακοπτών και την αντίσταση προς τα κάτω στο τηλεχειριστήριο.

Μπορείτε να χρησιμοποιήσετε τυχαίο δεκαεξαδικό κώδικα για την εκχώρηση περισσότερου αριθμού κουμπιών.

Για παράδειγμα: 0xA235, 0xFFFF, 0xBA556 και ούτω καθεξής. Και προσθέστε επίσης την ίδια δεκαεξαδική τιμή στον κώδικα δέκτη. Για παράδειγμα: #define output4 0xA235, #define outout5 0xFFFF και ούτω καθεξής.

Δημιουργία τηλεχειριστηρίου υπερύθρων με μοναδική συχνότητα

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

Foolproof IR τηλεχειριστήριο

Αυτό το κύκλωμα μπορεί να ενεργοποιήσει / απενεργοποιήσει τα gadget σας χρησιμοποιώντας τα αχρησιμοποίητα κουμπιά του τηλεχειριστηρίου της τηλεόρασης ή οποιοδήποτε άλλο αχρησιμοποίητο τηλεχειριστήριο που μπορεί να βρίσκεται στο άχρηστο κουτί σας για αιώνες.

Το σύνθημα αυτού του έργου είναι να βοηθήσετε άτομα με σωματική αναπηρία και να τους βοηθήσετε να έχουν πρόσβαση στην εναλλαγή ON / OFF των βασικών οικιακών συσκευών, όπως ανεμιστήρες ή φώτα ανεξάρτητα.

Ο δεύτερος στόχος είναι να επιτρέψει στον χρήστη να ελέγχει τα gadgets 'Like a boss' χωρίς να χρειάζεται να μετακινηθεί από την υπάρχουσα θέση του.

Το κύκλωμα χρησιμοποιεί παραδοσιακή επικοινωνία με βάση IR μεταξύ πομπού και δέκτη.

Αυτό το κύκλωμα είναι εκατό τοις εκατό ανθεκτικό σε άλλα τηλεχειριστήρια IR και άλλες πηγές υπερύθρων και λιγότερο ευαίσθητο σε σφάλματα.

Το κύριο πρόβλημα με βάση μη μικροελεγκτή Κύκλωμα τηλεχειριστηρίου IR , το οποίο βρίσκεται στο Διαδίκτυο, είναι ότι θα μπορούσε να ενεργοποιηθεί / απενεργοποιηθεί με οποιοδήποτε τηλεχειριστήριο με βάση το IR και μπορεί να ελέγξει μόνο μια συσκευή τη στιγμή και επίσης πιο ευαίσθητη σε σφάλματα.

Αυτό το κύκλωμα ξεπερνά τα παραπάνω ζητήματα και μπορούμε ελέγξτε πολλά gadget σε ένα τηλεχειριστήριο και εκχώρηση κλειδιών για συγκεκριμένα gadget.

Πριν προχωρήσετε σε αυτό το έργο, πρέπει να κατεβάσετε τα αρχεία της βιβλιοθήκης για το arduino από αυτόν τον σύνδεσμο και να ακολουθήσετε τις παρακάτω οδηγίες: github.com/z3t0/Arduino-IRremote

Οδηγίες:

1) Κάντε κλικ στο κουμπί 'κλωνοποίηση ή λήψη' από τον δεδομένο σύνδεσμο και πατήστε 'Λήψη ZIP'.

2) Εξαγάγετε το αρχείο και μετακινήστε το φάκελο 'IRremote' στον φάκελο της βιβλιοθήκης σας στο Arduino.

3) Διαγράψτε το φάκελο 'RobotIRremote' από τη βιβλιοθήκη του arduino. Το 'RobotIRremote' έχει παρόμοιο ορισμό της βιβλιοθήκης 'IRremote' που συγκρούεται και δεν μπορεί να ανεβάσει τον κώδικα στο Arduino, οπότε η διαγραφή / αφαίρεση είναι υποχρεωτική.

Αντιγράφοντας τις παραπάνω οδηγίες, το λογισμικό Arduino IDE είναι έτοιμο για οποιαδήποτε / τα περισσότερα από τα έργα που βασίζονται σε υπερύθρους.

Εκχώρηση κλειδιών για απομακρυσμένο:

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

Για να το κάνετε αυτό, δημιουργήστε το ακόλουθο κύκλωμα στο breadboard και ακολουθήστε τις οδηγίες.

1) Ανοίξτε το Arduino IDE και ανεβάστε το παράδειγμα κώδικα 'IRrecv Demo'

2) Ανοίξτε τη σειριακή οθόνη και πατήστε το πλήκτρο στο τηλεχειριστήριο που θέλετε να χρησιμοποιήσετε.

Θα εμφανιστεί ο δεκαεξαδικός κώδικας μόλις πατήσετε το πλήκτρο. Αυτός είναι ο δεκαεξαδικός κώδικας για το συγκεκριμένο κλειδί.

3) Κάντε το ίδιο για άλλα δύο πλήκτρα (3 κλειδιά δίνονται σε αυτό το έργο για τον έλεγχο 3 συσκευών)

· Θα χρησιμοποιήσουμε αυτούς τους δεκαεξαδικούς κωδικούς στο κύριο πρόγραμμα και θα τους ανεβάσουμε στο arduino.

Πρόγραμμα:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

ΣΗΜΕΙΩΣΗ:

Στο πρόγραμμα:

#define output1 0x111 // τοποθετήστε τον κωδικό που λάβατε από το κουμπί Α

#define output2 0x111 // τοποθετήστε τον κωδικό που λάβατε από το κουμπί B

#define output3 0x111 // τοποθετήστε τον κωδικό που λάβατε από το κουμπί Γ

· Τοποθετήστε τους 3 μοναδικούς κωδικούς σας από το τηλεχειριστήριό σας σε αυτό το σημείο 111, 112 και 113 και ανεβάστε τον κωδικό. Οι δεκαεξαδικοί κωδικοί θα είναι από 0 έως 9 και A έως F, για παράδειγμα: 20156, 26FE789, FFFFFF.

· Τοποθετήστε τον κωδικό σας με '0x' (μηδέν x).

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

· Πατώντας το πλήκτρο ενεργοποιείται το ρελέ ON και πατώντας ξανά θα απενεργοποιήσει το ρελέ.




Προηγούμενο: Φυσικό απωθητικό κουνουπιών που χρησιμοποιεί αντίσταση υψηλής ισχύος Επόμενο: Κύκλωμα ανιχνευτή μετάλλων Deep Soil - Ground Scanner