19
Εχω τοποθετήσει πίσω από την τηλεόραση μία λεντοταινία, η οποία κάνει έναν υπέροχο και διακριτικό φωτισμό, που κάνει πολύ ξεκούραστη την παρακολούθηση τηλεόρασης.
Όμως το πολύπριζο πίσω από την τηλεόραση δεν είναι σε πολύ βολική θέση, οπότε επειδή ειδικά το βράδυ, δεν την πάλευα να βγάζω τροφοδοτικά από την πρίζα, κατέληγα να μην την ανάβω συνήθως.
Ναι, ένα διακοπτάκι είναι μια εξαιρετικά απλή λύση, αλλά στο σπίτι του ξυλουργού δεν έχει πόρτα....
Οπότε σκέφτηκα αν υπάρχει τρόπος, να την ελέγχω με τηλεχειρισμό.
Έχω καποια μοντουλάκια rf στα 433Mhz, αλλά δεν ήθελα να ψάχνω το τηλεκοντρόλ για να σβήσω τα φώτα!
Από την άλλη το τηλεκοντρόλ μου, έχει κάποια πλήκτρα τα οποία δεν χρησιμοποιώ, αλλά ούτε μου βγάζουν μηνύματα στην οθόνη..
Αν μπορούσα να χρησιμοποιήσω αυτά για να ελέγχω το φως, θα ήταν τέλειο!!
>Πριν συνεχίσω, θέλω να λάβετε υπόψη, ότι οι γνώσεις μου σε προγραμματισμό είναι από ελάχιστες εώς μηδενικές!
Λοιπόν, γκούγκλαρα για χρήση IR Remote με arduino και βρήκα αυτή την πολή χρήσιμη σελίδα:
http://www.circuitbasics.com/arduino...iver-tutorial/
Ο τύπος λίγο πολύ μας βοηθάει να χρησιμοποιήσουμε το arduino σε εφαρμογές με υπέρυθρους πομπούς και δέκτες.
Σε πρώτη φάση χρησιμοποίησα ένα arduino nano και τον πολύ διεδομένο δέκτη υπερύθρων που βρίσκουμε σε αντίστοιχες εφαρμογές.
Δοκίμασα με επιτυχία και υπερυθρους δέκτες απο παλιές πλακέτες τηλεόρασης, οπότε όποιο υλικό και αν εχετε, παίζει να κάνει.
Το κύκλωμα είναι αυτό:
Το πρώτο βήμα είναι να διαβάσουμε τους κωδικούς των πλήκτρων που θέλουμε να χρησιμοποιήσουμε, από το τηλεκοντρόλ.
ΕΔΩ μας δίνει το λίνκ για το IR Library και της οδηγίες για την εγκατάσταση του και την διαγραφή του υπάρχοντος library:
http://z3t0.github.io/Arduino-IRremote/
Στην συνέχεια κατεβάζουμε αυτό πρόγραμμα στο arduino:
Κώδικας:#include <IRremote.h> const int RECV_PIN = 7; IRrecv irrecv(RECV_PIN); decode_results results; void setup(){ Serial.begin(9600); irrecv.enableIRIn(); irrecv.blink13(true); } void loop(){ if (irrecv.decode(&results)){ Serial.println(results.value, HEX); irrecv.resume(); } }
Τρέχουμε το πρόγραμμα και με τη χρήση του serial Monitor "διαβάζουμε" τους κωδικόυς των επιθυμητών πλήκτρων
(Το μπλε τετράγωνο στην εικόνα με το κύκλωμα)
Στην συνέχεια κατεβάζουμε το πρόγραμμα με το οποίο θα αντιστοιχήσουμε τους εκπεμπόμενους κωδικούς με τις επιθυμητές εξόδους.
Το πρόγραμμα που δίνει η σελίδα, ενεργοποιεί την έξοδο για 2 sec.
Εμείς όμως θέλουμε να ελέγξουμε το άναμμα και σβήσιμο της λάμπας κατά βούληση.
Επειδή οι γνώσεις μου, δεν μου επέτρεψαν να ανάψω και να σβήσω την έξοδο από το ίδιο πλήκτρο (και πιστέψτε με προσπάθησα 2 βράδια γι αυτό!), αποδέχτηκα την γνωσιακή μου ανεπάρκεια και αρκέστηκα να χρησιμοποιήσω 2 πλήκτρα για κάθε έξοδο. 1 για την ενεργοποίηση και ένα για την απενεργοποίηση. Αυτό φυσικά μου περιόρισε τις διαθέσιμες εξόδους σε 2 από 5, αλλά με κάλυπτε καθώς μόνο 2 φώτα ήθελα να ελέγξω κοντά στην τηλεόραση (Εννοείται παίρνει βελτίωση!!)
Το πρόγραμμα, λοιπόν, πήρε αυτή την, σπάταλη μεν λειτουργική δε, μορφή:
Σε κάθε έξοδο, συνδέθηκε ένα BC 337 για να οδηγήσει ένα απλό 12βολτο ρελέ, το οποίο με την σειρά του ελέγχει την λεντοταινία.Κώδικας:#include <IRremote.h> const int RECV_PIN = 7; IRrecv irrecv(RECV_PIN); decode_results results; const int redPin = 10; const int greenPin = 11; //ANABEI KAI SBHNEI 2 EXODOYS ME THN XRHSH DIAFORETIKOY PLIKTROY GIA ON KAI OFF void setup(){ irrecv.enableIRIn(); irrecv.blink13(true); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); } void loop(){ if (irrecv.decode(&results)){ switch(results.value){ case 0x20DF8D72: //Keypad button "STOP" digitalWrite(redPin, HIGH); } switch(results.value){ case 0x20DFF10E: //Keypad button "<<" digitalWrite(redPin, LOW); } switch(results.value){ case 0x20DF0DF2: //Keypad button "PLAY" digitalWrite(greenPin, HIGH); } switch(results.value){ case 0x20DF718E: //Keypad button ">>" digitalWrite(greenPin, LOW); } irrecv.resume(); } }
> Για την λεντοταινία και το σύστημα έχει χρησιμοποιηθεί φυσικά ένα μόνο τροφοδοτικό.
>Το τροφοδοτικό είναι ένα απλό πακ 12V / 2A switching και η λεντοταινία είναι ένα κομμάτι ισχύος περίπου 10W.
> Στο 2ο ρελέ έχω συνδέσει ένα φωτιστικό που βρίσκεται κοντά στην τηλεόραση, συνδέοντας την επαφή του ρελέ παράλληλα με τον διακόπτη του, έτσι ώστε να μπορεί να λειτουργήσει και αυτόνομα.