Παρουσιάζοντας τον τηλεοπτικό διάβολο, ένα εύκολο τηλεχειριστήριο Arduino φάρσα

Διαφήμιση

Διαφήμιση
Διαφήμιση

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

Σε αυτή τη "φάρσα", θα φτιάξουμε μια συσκευή που θα καταγράφει και, στη συνέχεια, θα αναπαράγει μια σειρά απομακρυσμένων εντολών IR. Θα λειτουργήσει με οποιαδήποτε συσκευή που χρησιμοποιεί ένα τηλεχειριστήριο IR, ή ακόμα και ένα μείγμα συσκευών ταυτόχρονα - η εγγραφή έως και 10 πλήκτρων.

Συστατικά

Ακολουθεί μια λίστα με τα πράγματα που χρειάζεστε για αυτό το έργο:

  • Arduino και καλώδια patch
  • IR δέκτη, όπως το TSOP382 - αλλά θα πρέπει να μπορείτε να βρείτε συμβατό σε παλαιά ηλεκτρονικά. Τράβηξα τη δική μου από εφεδρικό ελεγκτή φωτισμού RGB. Έχουν συνήθως 3 πόδια και είναι μαύρα, με μία πλευρά να μοιάζει με LED που έχει τεμαχιστεί στο μισό και έχει κολλήσει επάνω. Είμαι βέβαιος ότι υπάρχει μια τεχνική λέξη γι 'αυτό.
  • LED πομπό LED, όπως το TIL38 - και πάλι, αυτά είναι αρκετά συνηθισμένα, αλλά αγόρασα ένα νέο υψηλής ισχύος από το Maplin. φαίνονται όμοια με οποιαδήποτε άλλη λυχνία LED, οπότε βεβαιωθείτε ότι δεν θα τα μπερδέψετε με το ηλεκτρονικό σας κιτ!
  • Κατάλληλη αντίσταση για το IR LED σας - χρησιμοποιήστε αυτήν την αριθμητική λυχνία LED, λαμβάνοντας υπόψη την τάση τροφοδοσίας (5 V από το Arduino) και την τάση και το ρεύμα προς τα εμπρός από το φύλλο δεδομένων LED (συνήθως περίπου 1, 2 V @ 20 mA). Αυτό βγήκε στα 220 ohms στην περίπτωσή μου.
  • Παρεμβολής και αντιστάσεις 10k παλμών και 100 ohm.
  • Κατεβάστε την απομακρυσμένη βιβλιοθήκη IR από τον Ken Shirriff από το Github και τοποθετήστε το στο φάκελο Arduino / Libraries . Υπάρχει επίσης κάποιο παράδειγμα κώδικα που θα χρησιμοποιήσουμε και στη συνέχεια θα είναι προσβάσιμο από το μενού Arduino Open -> Βιβλιοθήκες .

συστατικά

Καλωδίωση

Αντιμετωπίστε αυτό το κύκλωμα σε τρία μέρη - ο διακόπτης είναι λίγο παθιασμένος, αλλά όλα τα άλλα είναι εύκολα. Θυμηθείτε το κοντό σκέλος του LED με το επίπεδο πρόσωπο είναι η κάθοδος (αρνητική ή γείωση). το μακρύ πόδι είναι η άνοδος (θετική).

κύκλωμα-διάγραμμα-ir-φάρσα

Λήψη σημάτων

Συνεχίστε και ανοίξτε τον κώδικα παραδειγμάτων βιβλιοθηκών / IRremote / IRrecvDemo . Βεβαιωθείτε ότι το RECV_Pin έχει ρυθμιστεί σωστά, να μεταγλωττιστεί και να μεταφορτωθεί, στη συνέχεια ανοίξει η σειριακή κονσόλα στα 9600 baud. Πιάσε οποιοδήποτε απομακρυσμένο έχετε στο χέρι, στοχεύστε στο δέκτη σας και ξεκινήστε να πιέζετε κουμπιά. Τα διαφορετικά κουμπιά θα παράγουν διαφορετικούς κωδικούς. Κάποια θα υποδεικνύουν ένα μακρύ πάτημα με τον αρχικό κώδικα και στη συνέχεια με το FFFFFF, ενώ διαφορετικά τηλεχειριστήρια μπορούν να επαναλάβουν απλά τον κωδικό.

irrecv

Για μια πιο λεπτομερή προβολή των λαμβανόμενων δεδομένων, ρίξτε μια ματιά στο παράδειγμα IRrecvDump, το οποίο θα υποδείξει τόσο τον τύπο του σήματος που λαμβάνεται (NEC 32-bit σε αυτή την περίπτωση) όσο και τις πρώτες τιμές. Είναι καλό να το ξέρετε, αλλά στις περισσότερες περιπτώσεις θα θέλετε απλώς τις αποκωδικοποιημένες τιμές.

irdump

Επαναλαμβάνοντας ένα σήμα

Δεν θα γράψουμε σήμερα το φάρσα μας από το μηδέν, οπότε προχωρήστε και δείτε το παράδειγμα IRrecord . Η πολυπλοκότητα του κώδικα αυξάνεται σε μεγάλο βαθμό εδώ, αλλά είναι όλα όλοι για να αντιμετωπίσετε διαφορετικούς τύπους IR κωδικών - ουσιαστικά, εδώ είναι αυτό που συμβαίνει στο εσωτερικό του βρόχου:

  • Ελέγξτε εάν το κουμπί είναι πατημένο, επαναλάβετε το τρέχον αποθηκευμένο σήμα αν είναι και επαναλάβετε κάθε 50 ms μέχρι να πιέσετε.
  • Εάν δεν πατήσετε και ανιχνευτεί ένα σήμα, καταγράψτε το.

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

Η φάρσα!

Ας το τροποποιήσουμε ελαφρώς για να καταγράψουμε 10 ή περισσότερα άσχημα μηνύματα. Μπορείτε να βρείτε τον πλήρη τροποποιημένο κώδικα εδώ, αλλά εδώ περιγράφουμε τις αλλαγές που έκανα σε περίπτωση που θέλετε να έχετε προγραμματισμό αυτό για τον εαυτό σας:

  • Ορίστε 3 νέες συστοιχίες μεγέθους 10 για την αποθήκευση ενός συνόλου σημάτων κάθε φορά που ανιχνεύεται και ενός ακέραιου για την αποθήκευση του μεγέθους αυτών των συστοιχιών.
  • Αποθηκεύστε ένα ευρετήριο του πού είμαστε σήμερα σε αυτόν τον πίνακα. Αυξήστε τον δείκτη κάθε φορά που εντοπίζεται ένα σήμα - αλλά μην αυξάνετε εάν το σήμα είναι ένας κωδικός επαναλήψεως.
  • Μια τιμή boolean που σταματάει να καταγράφεται περισσότερο μόλις φτάσουμε στο μέγιστο.
  • Ένα boolean για να δείξει εάν είμαστε σε λειτουργία αναπαραγωγής ή όχι, αντί να πρέπει να κρατήσουμε το κουμπί. τροποποίησε επίσης τη λογική του κουμπιού για να το αλλάξετε.

Σημειώστε ότι η ενδεικτική λυχνία στο Arduino (pin 13) θα ενεργοποιηθεί μόλις γεμίσει η μνήμη. Αυτή τη στιγμή, πρέπει να καταγράψετε 10 πλήκτρες - όχι λιγότερο - και η λειτουργία επανάληψης θα περιμένει 1 δευτερόλεπτο μεταξύ κάθε επανάληψης κουμπιού. Εδώ είναι σε δράση:

Μπορείτε είτε να παίξετε με την παραγωγή περισσότερων φάρσες IR είτε να θεωρήσετε ότι αυτό είναι ένα καλό ξεκίνημα σε ένα πιο επικό πρόγραμμα αυτοματισμού σπίτι Αρχική Οδηγος Αυτοματισμού Με Raspberry Pi και Arduino Οδηγός Αυτοματισμού Home Με Raspberry Pi και Arduino Η αγορά αυτοματισμού σπίτι είναι πλημμυρισμένο με ακριβά καταναλωτικά συστήματα, ασύμβατες μεταξύ τους και δαπανηρές για εγκατάσταση. Εάν έχετε ένα Raspberry Pi και ένα Arduino, μπορείτε βασικά να επιτύχετε το ίδιο πράγμα στο ... Διαβάστε περισσότερα; και μην ξεχάσετε να ελέγξετε όλα τα άλλα έργα του Arduino. Μοιραστείτε τις δημιουργίες σας (ή τα προβλήματα) στα σχόλια και παρακαλώ δείξτε την εκτίμησή σας για αυτό το άρθρο, μοιραζόμενοτε τα με τα αγαπημένα σας κοινωνικά δίκτυα!

Πιστωτική εικόνα: DaGoaty

In this article