- Απαιτούμενα στοιχεία
- Πώς λειτουργεί η επικοινωνία υπερύθρων;
- Διάγραμμα κυκλώματος
- Προγραμματισμός για τον Απομακρυσμένο αποκωδικοποιητή Arduino IR
- Αποθήκευση των δεδομένων απομακρυσμένου αποκωδικοποιητή IR στο φύλλο Excel
Η επικοινωνία υπερύθρων (IR) είναι απλή, χαμηλού κόστους και ευρέως χρησιμοποιούμενη τεχνολογία ασύρματης επικοινωνίας. Το φως IR είναι κάπως παρόμοιο με το ορατό φως, εκτός από το ότι το μήκος κύματος είναι ελαφρώς μεγαλύτερο. Αυτή η ιδιότητα του IR το καθιστά μη ανιχνεύσιμο από το ανθρώπινο μάτι και είναι ιδανικό για ασύρματη επικοινωνία.
Υπάρχουν πολλές εφαρμογές όπου πρέπει να αποκωδικοποιήσετε τα σήματα υπερύθρων για τη λειτουργία ορισμένων συσκευών με τηλεχειριστήριο υπερύθρων. Έτσι σε αυτό το σεμινάριο, πρόκειται να χρησιμοποιήσουμε τον δέκτη IR TSOP1838 για να δημιουργήσουμε έναν απομακρυσμένο αποκωδικοποιητή IR χρησιμοποιώντας το Arduino. Ο δεκαεξαδικός κώδικας για κάθε κουμπί θα καταγράφεται στο Microsoft Excel Sheet. Αυτός ο απλός αποκωδικοποιητής τηλεχειριστηρίου υπερύθρων μπορεί να χρησιμοποιηθεί σε έργα όπως το ρομπότ τηλεχειριστηρίου IR, ο οικιακός αυτοματισμός και άλλα έργα που ελέγχονται από υπερύθρους.
Προηγουμένως χρησιμοποιούσαμε τηλεχειριστήριο IR και δέκτη TSOP για να δημιουργήσουμε πολλές χρήσιμες εφαρμογές όπως:
- IR Remote Controlled TRIAC Dimmer Circuit
- IR Remote Controlled Home Automation χρησιμοποιώντας το Arduino
- IR Remote Controlled Home Automation χρησιμοποιώντας PIC Microcontroller
- Κινητό τηλέφωνο ελεγχόμενο AC χρησιμοποιώντας Arduino και Bluetooth
Απαιτούμενα στοιχεία
- Arduino Uno / Arduino Nano
- Δέκτης IR (TSOP1838)
- Καλώδια αλτών
- Ψωμί
Πώς λειτουργεί η επικοινωνία υπερύθρων;
Όπως και άλλα συστήματα επικοινωνιών, η υπέρυθρη επικοινωνία διαθέτει επίσης πομπό και δέκτη. Ο πομπός μοιάζει ακριβώς με LED, αλλά παράγει φως στο φάσμα IR αντί για το ορατό φάσμα. Ενώ ο δέκτης IR είναι μια φωτοδίοδος ενσωματωμένη με προενισχυτή που αλλάζει το φως IR σε ηλεκτρικό σήμα. Για επικοινωνία υπερύθρων τόσο ο πομπός όσο και ο δέκτης πρέπει να είναι στραμμένοι ο ένας στον άλλο. Για να μάθετε περισσότερα σχετικά με το κύκλωμα πομπού και δέκτη υπερύθρων, ακολουθήστε τον σύνδεσμο.
Όταν πατηθεί ένα απομακρυσμένο κουμπί, το LED IR (πομπός) εκπέμπει υπέρυθρο φως. Αυτό το φως λαμβάνεται από το δέκτη που είναι συνήθως μια φωτοδίοδος ή φωτοτρανζίστορ. Αλλά το φως IR εκπέμπεται επίσης από τον ήλιο, τους λαμπτήρες και οτιδήποτε άλλο παράγει θερμότητα. Αυτό μπορεί να επηρεάσει το σήμα του πομπού, έτσι ώστε να αποφευχθεί, το σήμα του πομπού διαμορφώνεται χρησιμοποιώντας μια συχνότητα φορέα μεταξύ 36 kHz και 46 kHz. Με τη λήψη του σήματος, ο δέκτης IR αποδιαμορφώνει το σήμα και το μετατρέπει σε δυαδικό πριν το στείλει στον μικροελεγκτή.
Εδώ χρησιμοποιούμε τηλεχειριστήριο για την αποστολή σήματος υπερύθρων και TSOP1838 με το Arduino για τη λήψη τους.
Επίσης, ελέγξτε διάφορες εφαρμογές που βασίζονται σε υπερύθρους, όπως το τηλεχειριστήριο τηλεχειριστηρίου και το κύκλωμα ελεγκτή υπερύθρων.
Διάγραμμα κυκλώματος
Το διάγραμμα κυκλώματος για τον απομακρυσμένο αποκωδικοποιητή IR που χρησιμοποιεί το Arduino δίνεται παρακάτω:
Οι συνδέσεις είναι πολύ απλές, καθώς ο αισθητήρας δέκτη IR έχει μόνο τρεις ακίδες, Vs, GND και δεδομένα. Συνδέστε τον ακροδέκτη Vs και GND του δέκτη IR με τον πείρο 3.3V GND του Arduino και τον ακροδέκτη δεδομένων στον ψηφιακό πείρο 2 του Arduino.
Προγραμματισμός για τον Απομακρυσμένο αποκωδικοποιητή Arduino IR
Ο πλήρης κωδικός για τον αποκωδικοποιητή IR Arduino δίνεται στο τέλος της σελίδας.
Για την αποκωδικοποίηση του IR Remote, πρώτα, πρέπει να κατεβάσουμε και να προσθέσουμε μια IR βιβλιοθήκη στο Arduino IDE. Μπορείτε να κατεβάσετε τη βιβλιοθήκη IR Remote από εδώ. Μετά τη λήψη του αρχείου, ανοίξτε το Arduino IDE και μεταβείτε στο Σκίτσο> Συμπερίληψη βιβλιοθήκης> Βιβλιοθήκη Add.Zip . Επιλέξτε το αρχείο της βιβλιοθήκης και κάντε κλικ στο «Άνοιγμα».
Ξεκινήστε τον κωδικό σας συμπεριλαμβάνοντας το αρχείο IR Remote library.
#περιλαμβάνω
Στη συνέχεια, ορίστε τον πείρο Arduino όπου συνδέσατε τον πείρο δεδομένων του δέκτη IR. Στην περίπτωσή μου, συνδέεται με τον πείρο D2 του Arduino.
int IRPIN = 2;
Μετά από αυτό δημιουργήστε μια παρουσία για την καρφίτσα δέκτη IR.
IRrecv irrecv (IRPIN);
Στην επόμενη γραμμή, ορίστε ένα αντικείμενο για την κλάση decode_results , θα χρησιμοποιηθεί από τον δέκτη υπερύθρων για την αποστολή των αποκωδικοποιημένων πληροφοριών.
Αποτέλεσμα decode_results;
Μέσα στο setup () λειτουργία, την κίνηση της σειριακής επικοινωνίας, και να αρχίσει το δέκτη υπερύθρων, καλώντας το IRrecv λειτουργία enableIRIn ().
άκυρη ρύθμιση () {Serial.begin (9600); Serial.println ("Ενεργοποίηση IRin"); irrecv.enableIRIn (); Serial.println ("Ενεργοποιημένο IRin"); Initialize_streamer (); }
Στη συνάρτηση loop () , το irrecv.decode ελέγχει συνεχώς για νέο σήμα και αν ληφθεί νέο σήμα, ο ληφθείς κωδικός σήματος θα αποθηκευτεί σε μια συνάρτηση result.value .
void loop () {if (irrecv.decode (& result)) {Serial.print ("Τιμή:"); Serial.println (result.value, HEX); Γράψε_ ροή (); irrecv.resume (); } καθυστέρηση (500) }
Για την αποστολή δεδομένων σε ένα φύλλο Excel από το Arduino, χρησιμοποιούμε PLX-DAQ. Χρησιμοποιώντας τη συνάρτηση Write_streamer () , στέλνουμε τα δεδομένα σειριακά σε ένα συγκεκριμένο μοτίβο, όπως ακριβώς και η τιμή στην σειριακή οθόνη. Οι βασικές γραμμές εξηγούνται παρακάτω:
void Write_streamer () {Serial.print ("DATA"); // γράψτε πάντα "DATA" για να υποδείξετε τα ακόλουθα ως Data Serial.print (","); // Μεταβείτε στην επόμενη στήλη χρησιμοποιώντας ένα "," Serial.print (result.value, HEX); // Ημερομηνία αποθήκευσης στο Excel Serial.print (","); // Μεταβείτε στην επόμενη στήλη χρησιμοποιώντας ένα "," Serial.println (); // Τέλος της σειράς μετάβαση στην επόμενη σειρά}
Μόλις το υλικό και το πρόγραμμα είναι έτοιμα, ήρθε η ώρα να ανεβάσετε το πρόγραμμα στο Arduino Nano Board σας. Αφού ανεβάσετε τον κωδικό, στρέψτε το τηλεχειριστήριο προς τον δέκτη υπερύθρων και πατήστε τα απομακρυσμένα κουμπιά. Ο κωδικός hex για κάθε κουμπί θα εκτυπωθεί στη σειριακή οθόνη.
Αποθήκευση των δεδομένων απομακρυσμένου αποκωδικοποιητή IR στο φύλλο Excel
Τώρα για να στείλετε δεδομένα σε ένα φύλλο Excel, θα χρησιμοποιήσουμε το PLX-DAQ. Είναι ένα λογισμικό Excel Plug-in που σας βοηθά να γράψετε τιμές από το Arduino σε απευθείας σε ένα φύλλο Excel στον φορητό ή τον υπολογιστή σας. Χρησιμοποιήστε το σύνδεσμο για λήψη του αρχείου. Μετά τη λήψη, εξαγάγετε το αρχείο και κάντε κλικ στο αρχείο.exe για να το εγκαταστήσετε. Θα δημιουργήσει ένα φάκελο με το όνομα PLX-DAQ στην επιφάνεια εργασίας σας.
Τώρα ανοίξτε το αρχείο « PLX-DAQ υπολογιστικό φύλλο» από το φάκελο της επιφάνειας εργασίας. Εάν οι μακροεντολές είναι απενεργοποιημένες στο Excel, τότε θα δείτε ένα μπλοκ ασφαλείας όπως φαίνεται στην παρακάτω εικόνα:
Κάντε κλικ στο Επιλογές-> Ενεργοποίηση του περιεχομένου -> Τέλος -> OK για Ενεργοποίηση των μακροεντολών. Μετά από αυτό, θα λάβετε την ακόλουθη οθόνη:
Τώρα επιλέξτε το ρυθμό baud ως "9600" και τη θύρα στην οποία είναι συνδεδεμένο το Arduino και, στη συνέχεια, κάντε κλικ στο Connect για να ξεκινήσει η ροή δεδομένων. Οι τιμές σας πρέπει να αρχίσουν να καταγράφονται όπως φαίνεται στην παρακάτω εικόνα.
Με αυτόν τον τρόπο μπορεί να κατασκευαστεί εύκολα ένας απομακρυσμένος αποκωδικοποιητής IR Arduino για τη μετατροπή των απομακρυσμένων σημάτων IR σε ισοδύναμο κώδικα HEX.
Ο πλήρης κωδικός Arduino με ένα demo βίντεο δίνεται παρακάτω.