Jump to content


  • DIY project 1: PC remote control


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

     

    Τελειώνοντας με τις βαρετές σε όλους εισαγωγές, το καλύτερο σημείο να ξεκινήσει κανείς δεν είναι άλλο παρά η πλατφόρμα του arduino. Για όσους δεν την ξέρουν λοιπόν, ο arduino δεν είναι τίποτα άλλο παρά ένας απλός 8-bit μικρο-επεξεργαστής, ο οποίος δεν παρουσιάστηκε ξαφνικά δια μαγείας με την εμφάνιση του arduino που έγινε ευρέως γνωστό, αλλά προϋπήρχε πολλά χρόνια πριν. Όμως το arduino τον έκανε ευρείας αποδοχής λόγω κάποιων ευκολιών που δημιουργήθηκαν γύρω από αυτό και λόγω του ότι πολύς κόσμος ασχολήθηκε μαζί του. Ουσιαστικά γράφτηκαν πολλές βιβλιοθήκες κώδικα για τον επεξεργαστή αυτό και λόγω του συγκεκριμένου τρόπου με τον οποίο χρησιμοποιούνται, είναι πολύ εύκολο και απλό στην χρήση του.

     

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

     

    Σαν πρώτη κατασκευή επέλεξα να παρουσιάσω έναν USB Ir receiver, ο οποίος είναι πολύ εύκολος στην κατασκευή του και δεν έχει πολύ κώδικα, αλλά σε κάποιο άλλο άρθρο ίσως δούμε και άλλες παραλλαγές του ίδιου receiver, λίγο πιο εξελιγμένες. Η πρώτη ερώτηση που πρέπει να έρχεται στο μυαλό κάποιου είναι, τι μπορεί να κάνει κανείς με αυτό και τι χρησιμότητα έχει; Πολλά και διάφορα, είναι η απάντηση και ουσιαστικά ο μόνος περιορισμός είναι η φαντασία, αλλά για αρχή ας πούμε ότι μπορεί κανείς να ελέγχει τον υπολογιστή του με ένα οποιοδήποτε τηλεκοντρόλ, πχ σε ένα htpc. Όμως θα μπορούσε κανείς ακόμα να φτιάξει και ένα αυτοματισμό σπιτιού με αυτό και άλλα πολλά.

     

    Λογικά η πρώτη ερώτηση που θα έρχεται στο μυαλό κάποιου είναι:
    «Τι μπορεί να κάνει κανείς με αυτό και τι χρησιμότητα έχει;»
    «Πολλά και διάφορα!» είναι η απάντηση καθώς, ουσιαστικά ο μόνος περιορισμός είναι η φαντασία, αλλά για αρχή, ας πούμε ότι μπορεί κάποιος να ελέγχει το HTPC του με ένα οποιοδήποτε τηλεκοντρόλ καθισμένος στον καναπέ τουc. Όμως θα μπορούσε κανείς ακόμα, να φτιάξει και ένα αυτοματισμό σπιτιού με αυτό και άλλα πολλά.

     


    2. Υλικά κατασκευής
    Τα υλικά που θα χρειαστείτε είναι τα εξής:
    - 1 arduino nano
    - 1 TSOP-1736 (ή 1136)
    - 1 led (πχ κόκκινο)
    - 2 αντιστάσεις (100Ω και 150Ω)
    - 1 πυκνωτής (1mF στα 25 ή 50V)
    - 1 καλώδιο micro (ή mini) usb (εξαρτάται από την υποδοχή του arduino)
    - 1 οποιοδήποτε τηλεχειριστήριο

     

    components

     

     

    TSOP-1736

     

    Το TSOP είναι ένας κοινός IR δέκτης (ουσιαστικά μια φωτοδίοδος) από τους πολλούς που υπάρχουν στην αγορά και ο λόγος που τον χρησιμοποίησα δεν είναι άλλος παρά το ότι τον είχα ήδη. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε IR δέκτη, αρκεί όμως να έχει φέρουσα συχνότητα 36KHz ώστε να είναι συμβατός με το πρωτόκολλο RC-5/6 το οποίο υποστηρίζουν τα περισσότερα τηλεκοντρόλ. Επομένως το 36 στο TSOP-1736 αναφέρεται ακριβώς σε αυτό, δηλαδή την συχνότητα και γι' αυτό το λόγο είναι ακριβότερο, οπότε μην ξεγελαστείτε πχ από την τιμή ενός TSOP-1738 και πάρετε αυτό γιατί η φέρουσα θα είναι 38ΚΗz και δεν θα δουλέψει (εκτός και αν το τηλεκοντρόλ είναι 38Khz). Η τιμή του στο ebay είναι λίγο παραπάνω από 2 ευρώ. Το module αυτό έχει 3 ακροδέκτες, που είναι η τάση τροφοδοσίας, η γη και το pin εξόδου των δεδομένων το οποίο πάει στον arduino ώστε να διαβάζει τις εισερχόμενες εντολές από το τηλεχειριστήριο. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τον TSOP1136, τον οποίο μπορείτε να βρείτε στο 1/5 της τιμής του 1736 στο Ebay.

     

    Arduino nano v3.0

     

    Το arduino όπως είπαμε και πιο πριν, δεν είναι κάτι άλλο παρά ένας 8-bit μικρο-επεξεργαστής της Atmel της σειράς AVR και το μοντέλο του είναι το ATmega328. Οι δυνατότητές του σε σχέση με την τιμή του δεν είναι κάτι αξιόλογο (κρίνοντας πάντα από τον ανταγωνισμό και την ισοπέδωση των πάντων από τους ARM), αλλά είναι υπεραρκετός για μικρές εφαρμογές, χωρίς μεγάλες απαιτήσεις. Το κόστος του είναι στα 2.5 ευρώ στο ebay και στα κύρια χαρακτηριστικά του συγκαταλέγονται τα 32KB flash (για τον κώδικα), 2 ΚΒ sram μνήμη, 1ΚΒ EEPROM, 2x SPI, 1x I2C, 1x UART, 8x 10bit ADC και η συχνότητα λειτουργίας του είναι το μέγιστο 20MHz. Αυτό που τον κάνει να ξεχωρίζει ωστόσο είναι η αρχιτεκτονική του καθώς σε αντίθεση με άλλους παρεμφερείς μικρο-επεξεργαστές, μπορεί να εκτελέσει 1 εντολή ανά κύκλο ρολογιού, ενώ άλλοι χρειάζονται 4 κύκλους ανά εντολή (π.χ. PIC, C51) με αποτέλεσμα σε εφαρμογές που η ταχύτητα ελέγχου κάποιων περιφερειακών είναι κρίσιμη να κερδίζει (ένα παράδειγμα που θα δούμε σε άλλο άρθρο είναι ο φωτισμός με RGB led όπως πχ το WS2812B, του οποίου το πρωτόκολλο απαιτεί πολύ μεγάλη ταχύτητα και παλμούς της τάξης των nanoseconds).

     

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

     

    Τα υλικά της κατασκευής μαςΑς τα δούμε όμως ένα-ένα περιληπτικά.

     

    3. Περιβάλλον Arduino (IDE)

     

    Εδώ είναι σημαντικό να πούμε λίγα λόγια για το περιβάλλον προγραμματισμού των arduino. Αυτό αποτελείται από ένα πρόγραμμα στο οποίο συνδυάζονται πολλαπλές λειτουργίες, όπως το τμήμα που γράφουμε τον κώδικα, ο compiler/linker που μετατρέπει το πρόγραμμα σε γλώσσα μηχανής, ο προγραμματιστής που φορτώνει το πρόγραμμα στον μικρο-επεξεργαστή και τέλος ένα σειριακό τερματικό που χρησιμοποιείται για την επικοινωνία του υπολογιστή και του arduino. O IDE του arduino έχει τα θετικά του και τα αρνητικά του, στα θετικά είναι ότι όλες οι λειτουργίες που χρειάζονται είναι συγκεντρωμένες και δουλεύουν όπως πρέπει χωρίς να χρειάζεται ο χρήστης να κάνει κάποιες ρυθμίσεις, αρκεί να έχει εγκατεστημένη την java.

     

    Στα αρνητικά του είναι ότι ο IDE του είναι στοιχειώδης και του λείπουν κάποιες λειτουργίες, όπως να αναγνωρίζει αυτόματα τις συναρτήσεις από τις βιβλιοθήκες και να συμπληρώνει τα ονόματά τους την ώρα που γράφετε κώδικα, πράγμα το οποίο προσωπικά θεωρώ ότι πρέπει να είναι στάνταρ εξοπλισμός σε έναν IDE. Για τα αρνητικά αυτά υπάρχουν λύσεις όπως το να εγκαταστήσει κανείς το Atmel Studio, τον επίσημο IDE της Atmel που υποστηρίζει τους AVR, μαζί με το Visual Micro for Arduino plugin το οποίο αναλαμβάνει να ενσωματώσει τις λειτουργίες του Arduino IDE στο Atmel Studio. Όποιος έχει ήδη εμπειρία με το Visual Studio της Microsoft δεν θα δυσκολευτεί να το δουλέψει. Μια άλλη εναλλακτική, κυρίως για linux, είναι το Eclipse IDE μαζί με το αντίστοιχο plugin για το arduino, μια διαδικασία λίγο πιο δύσκολη η οποία περιγράφεται εδώ. Προσωπικά χρησιμοποιώ και τις 3 μεθόδους ανάλογα το λειτουργικό και την περίσταση, αλλά για ευκολία θα αναφερόμαστε πάντα στο Arduino IDE.

     

    Στα περισσότερα project με τον arduino θα χρειαστούν έτοιμες βιβλιοθήκες άλλων χρηστών που έχουν κάνει την δύσκολη δουλειά να γράψουν τον κώδικα ο οποίος ενσωματώνεται εύκολα στον Arduino IDE. Η εγκατάσταση των βιβλιοθηκών είναι εύκολη και αρκεί να γίνουν αντιγραφή στον φάκελο: C:\Users\<username>\Documents\Arduino\libraries αφού έχουμε εγκαταστήσει τον Arduino IDE και έχουμε φροντίσει να μην τρέχει το πρόγραμμα. Μετά την εγκατάσταση των βιβλιοθηκών, μόλις τρέξουμε το πρόγραμμα, αυτό τις αναγνωρίζει αυτόματα και μπορούμε να τις χρησιμοποιήσουμε.

     

    Στο σημείο αυτό θα χρειαστούμε μια εξωτερική βιβλιοθήκη και συγκεκριμένα την IR Remote, η οποία αναλαμβάνει το decode από τις RC-5 εντολές. Αφού την κατεβάσουμε την βάζουμε στον φάκελο με τις βιβλιοθήκες που είπαμε παραπάνω, όμως θα χρειαστεί να σβήσουμε και μια βιβλιοθήκη του Arduino IDE, η οποία έχει το ίδιο όνομα και μπερδεύεται με αυτή που θέλουμε να χρησιμοποιήσουμε. Για να το κάνουμε αυτό σβήνουμε τον φάκελο RobotIRremote που βρίσκεται μέσα στο C:\Program Files (x86)\Arduino\libraries.

     


    4. Κατασκευή

     

    Για να κατασκευάσουμε την πλακέτα χρειαζόμαστε τα υλικά που περιγράψαμε προηγουμένως. Το κύκλωμα που πρέπει να κατασκευάσουμε είναι το παρακάτω:

     

    schematic

     

     

    Σημείωση: Μην σας προβληματίζει ότι στο σχηματικό φαίνεται ο arduino mini, επειδή το pinout του είναι ίδιο με τον nano η επιλογή του σωστού pcb component θα πρέπει να γίνει όταν κάνετε export σε pcb. Ο πυκνωτής του οποίου η τιμή δεν φαίνεται, είναι όπως αναφέρθηκε παραπάνω 1mF στα 25 ή 50V.

     

    Αν θέλει κάποιος μπορεί να σχεδιάσει και ένα pcb και να το παραγγείλει, αλλά η κατασκευή είναι τόσο απλή που δεν χρειάζεται καθώς μια διάτρητη πλακέτα είναι υπέρ-αρκετή. Η πλακέτα πρέπει να είναι διάτρητη χωρίς ενώσεις ανάμεσα στις νησίδες της. Το tsop1736 τροφοδοτείται από το arduino μέσω μιας αντίστασης 100Ω, ενός πυκνωτή παράλληλα και έχει κοινή γη με αυτό, ενώ το pin των δεδομένων συνδέεται απ' ευθείας στο pin D3 του arduino. Το LED γειώνει την κάθοδό του στη γη του arduino και η άνοδός του συνδέεται στο pin D2 μέσω μιας αντίστασης 150Ω. Οι αντιστάσεις μπορεί να είναι είτε through-hole είτε SMD, ότι μπορείτε να βρείτε πιο εύκολα. Αφού κάνουμε τις κατάλληλες κολλήσεις το αποτέλεσμα μπορεί είναι το παρακάτω.

     

    Ir Pcb 01

     

    Ir Pcb 03

     

    Ir Pcb 02

     

     

    Όσων αφορά την τοπολογία των εξαρτημάτων επειδή είναι πολύ απλό το κύκλωμα, απλά προπαθήστε να τοποθετήσετε με τέτοιο τρόπο ώστε να μην έχετε πολλά καλώδια και βάλτε το LED και το tsop μπροστά ώστε το arduino να τα καπακώνει και να είναι σταθερά.

     

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

     

    Σχηματικό κυκλώματοςΤο αποτέλεσμα


    5. Κώδικας arduino

     

    Αφού τελειώσουμε με το κύκλωμα σιγουρευόμαστε ότι όλες οι συνδέσεις είναι σωστές και κυρίως ότι δεν βραχυκυκλώνουν τα 5V με το GND. Στην συνέχεια και εφόσον έχετε εγκαταστήσει το arduino IDE ανοίγετε αυτό το αρχείο, εδώ να πούμε ότι το αρχείο *.ino που είναι ο κώδικας του arduino θα πρέπει να βρίσκεται πάντα μέσα σε ένα φάκελο που έχει το ίδιο όνομα με το αρχείο, οπότε στην περίπτωσή μας είναι ard_ir/ard_ir.ino. Αφού ανοίξει ο κώδικας θα δείτε το παρακάτω παράθυρο

     

    Ard Ide 1

     

    Στην συνέχεια πρέπει να δηλώσετε στον IDE τον τύπο του arduino, τον επεξεργαστή του και την USB πόρτα στην οποία βρίσκεται το arduino. Οπότε συνδέετε το arduino, περιμένετε μέχρι να αναγνωρίσει το λειτουργικό την συσκευή και να βρει την σειριακή πόρτα. Ύστερα από το μενού Tools->Board διαλέγετε το arduino nano, μετά από το Tools->Processor τον ATmega328 και από το Tools->Port την COM πόρτα στην οποία βρίσκεται το arduino.

     

    Ard Ide 2

     

    Στην συνέχεια πατήστε το κουμπί με το tick (verify), ώστε να γίνει compile o κώδικας.

     

    Ard Ide 3

     

    Λογικά δεν θα πρέπει να συναντήσετε κάποιο πρόβλημα (αν συναντήσετε κλείστε τα όλα και πηγαίνετε για καφέ), οπότε θα δείτε το παρακάτω μήνυμα.

     

    Ard Ide 4

     

    Αυτό σημαίνει ότι είστε έτοιμοι να “κάψετε” τον κώδικα στο arduino, οπότε πατώντας το κουμπί του upload δίπλα από το verify, θα προγραμματιστεί το arduino και θα πρέπει να δείτε το παρακάτω μήνυμα.

     

    Ard Ide 5

     

    Για να δοκιμάσετε ότι δούλεψε ανοίξτε από το Tools το Serial Monitor, επιλέξτε την ταχύτητα του σειριακού (baud rate) στα 9600bps και με ένα τηλεκοντρόλ σημαδέψτε τον δέκτη και πατήστε ένα κουμπί. Θα πρέπει να εμφανιστεί στο σειριακό μόνιτορ ο κωδικός του κουμπιού που πατήθηκε. Στο παρακάτω παράδειγμα φαίνεται το κουμπί ΟΚ ενός τηλεκοντρόλ τηλεόρασης LG.

     

    Ard Ide 6

     

    Τα FFFFFFFF που φαίνονται σημαίνει ότι το κουμπί ΟΚ κρατήθηκε πατημένο, οπότε ισχύει ο προηγούμενος κωδικός, δηλαδή το δεκαεξαδικό 20DF22DD.

     

    Επομένως καταφέρατε να φτιάξετε ένα αποκωδικοποιητή για RC-5 πρωτόκολλο που μπορεί να αναγνωρίζει όλα τα RC-5 τηλεχειριστήρια. Τώρα όπως και στην εισαγωγή θα αναρωτηθεί κάποιος: «Ωραία και τώρα τι;»

     

    Οπότε πάμε να δούμε ένα πολύ απλό παράδειγμα για το που μπορεί να χρησιμοποιηθεί αυτό (φυσικά το τι μπορεί να κάνει κανείς τελειώνει εκεί που τελειώνει η φαντασία).

     


    6. IR & Kodi

     

    Ένα απλό παράδειγμα χρήσης του IR αποκωδικοποιητή είναι να μπορείτε να χειριζόσαστε το Kodi από ένα τηλεχειριστήριο. Αν και υπάρχουν διάφοροι clients όπως το Yatse στο android που κάνουν την ίδια και καλύτερη δουλειά, πολλές φορές αποδεικνύεται πως οι απλές λύσεις είναι καλύτερες σε πραγματική χρήση. Για παράδειγμα προσωπικά περισσότερο με βολεύει να χρησιμοποιώ το τηλεκοντρόλ, παρά το κινητό ή το tablet για χειρίζομαι το Kodi. Επίσης το Kodi υποστηρίζει και το πρωτόκολλο CEC, το οποίο χρησιμοποιείται για να την ανταλλαγή εντολών και δεδομένων μεταξύ HDMI συσκευών, αλλά όπως θα ξέρουν αρκετοί παθόντες, κάποιοι κατασκευαστές (όπως η LG) όχι μόνο δεν αφήνουν όλες τις εντολές από το τηλεχειριστήριο να περνούν μέσω του CEC, αλλά αυτές που τελικά περνούν είναι τόσο λίγες που δεν φτάνουν ούτε για τις βασικές λειτουργίες.

     

    Όσον αφορά τον υπολογιστή τώρα, υπάρχουν διάφορα προγράμματα τα οποία υποστηρίζουν κάποιους IR δέκτες του εμπορίου και μπορούν να κάνουν διάφορους αυτοματισμούς. Τέτοια προγράμματα είναι πχ το WinLIRC και το EventGhost, αλλά λόγο του ότι είναι ολίγον παρατημένα projects και ορισμένες φορές λίγο δύσχρηστα, επέλεξα να γράψω για τις ανάγκες μου ένα άλλο πρόγραμμα που κάνει παρόμοια δουλειά και ο κώδικάς του φυσικά είναι ανοιχτός για όποιον θέλει να το επεξεργαστεί ή να το εμπλουτίσει (για το source code δείτε την σημείωση στο τέλος του άρθρου). Αυτό που κάνει ουσιαστικά, είναι απλά να αντιστοιχεί τους κωδικούς του τηλεκοντρόλ σε shortcuts του πληκτρολογίου ή να τρέχει αρχεία, scripts κ.λ.π. με το πάτημα ενός κουμπιού του τηλεχειριστηρίου. Επίσης για όσους επιθυμούν να χρησιμοποιήσουν κάποιο άλλο πρόγραμμα, θα εξομοιώσουμε με το arduino έναν IR δέκτη της αγοράς και συγκεκριμένα τον Irman, του οποίου το κόστος ανέρχεται περίπου στα 100 ευρώ. Οι αλλαγές που χρειάζεται να κάνετε στον κώδικα βρίσκονται στο παρακάτω αρχείο, οπότε το ανοίξτε το και ακολουθώντας την προηγούμενη διαδικασία γράψτε το νέο πρόγραμμα στο arduino. Οπότε τώρα πλέον έχετε ένα Irman με κόστος μόνο μερικά ευρώ.

     

    ard_irman.ino

     

    Στην συνέχεια εγκαταστήστε και τρέξτε το παρακάτω πρόγραμμα.

     

    IR Key Repeater

     

    Αφού το τρέξετε θα δείτε το παρακάτω παράθυρο.

     

    Ir Prg 01

     

    Σε αυτό βλέπουμε μερικά κουμπιά και μια λίστα. Τα κουμπιά αυτά είναι τα εξής (αριστερά προς τα δεξιά):

     

    tool buttons

     

    (1) Connect, σύνδεση του προγράμματος στον δέκτη.
    (2) Disconnect, αποσύνδεση από τον δέκτη.
    (3) Settings, τα settings του προγράμματος, στα οποία ρυθμίζεται την σειριακή usb θύρα.
    (4) Learn, εκμάθηση νέου τηλεχειριστηρίου. Πατάτε μια φορά το κουμπί και παραμένει ενεργοποιημένο, για να απενεργοποιήσετε την εκμάθηση πατήστε ξανά το κουμπί.
    (5) Import, εισαγωγή αρχείου εντολών ενός άλλου τηλεχειριστηρίου.
    (6) Save, σώσιμο των κωδικών σε ένα αρχείο
    (7) Bind, capture ενός shortcut του πληκτρολογίου.
    (8) Process, επιλέγοντας μια εντολή και πατώντας αυτό το κουμπί, ανοίγει ένα παράθυρο στο οποίο μπορείτε να επιλέξετε μια εφαρμογή ή ένα αρχείο το οποίο θέλετε να τρέχει με την εντολή αυτή.
    (9) Test, διαλέγοντας μια εντολή από την λίστα και πατώντας αυτό το κουμπί, εξομοιώνετε τι θα συμβεί όταν το πρόγραμμα λάβει αυτή την εντολή από τον δέκτη.
    (10) Delete, επιλέξτε μια εντολή και πατήστε το για να την σβήσετε από τον πίνακα.
    (11) Clear, σβήσιμο όλων των υποστηριζόμενων εντολών.

     

    Επομένως αρχικά πατήστε στο γρανάζι για να ανοίξουν τα settings του προγράμματος και από εκεί επιλέξτε την σειριακή θύρα στην οποία έχει βρει το λειτουργικό τον δέκτη και στην συνέχεια πατήστε Apply για να αποθηκευτούν οι αλλαγές. Ύστερα πατήστε το κουμπί (1) για να συνδεθείτε στο arduino και στην συνέχεια πατήστε το κουμπί (4). Στην συνέχεια αρχίστε να πατάτε ένα-ένα τα πλήκτρα του τηλεχειριστηρίου σας μέχρι να δείτε τους κωδικούς να εμφανίζονται στο παράθυρο. Είναι σημαντικό να θυμάστε με ποια σειρά τα πατήσατε ώστε να θυμάστε ποιο είναι το κάθε κουμπί ώστε να ρυθμίσετε μετά τα shortcuts. Μια απλή μέθοδος είναι να ξεκινάτε πάντα από πάνω προς τα κάτω και με φορά από αριστερά προς τα δεξιά ή όπως αλλιώς σας βολεύει. Αφού τελειώσετε με την εκμάθηση του τηλεχειριστηρίου, ξαναπατήστε στο πρόγραμμα το κουμπί (4) ώστε να βγει το πρόγραμμα από το learning mode και στην συνέχεια πατήστε το (6) για να αποθηκευτούν οι αλλαγές. Παρακάτω βλέπετε ένα παράδειγμα από το δικό μου τηλεχειριστήριο.

     

    Ir Prg 03

     

    Για να δώσετε τώρα λειτουργία σε κάθε πάτημα του κουμπιού του τηλεκοντρόλ υπάρχουν δυο τρόποι. Ο ένας είναι να κάνετε διπλό κλικ στο μεσαίο κελί της γραμμής της εντολής που θέλετε και να γράψετε μόνοι σας τον συνδυασμό που θέλετε (πχ Ctrl+Alt+A), αλλά αυτό μην το προτιμάται γενικά αν δεν ξέρετε ακριβώς την αναπαράσταση του κάθε πλήκτρου (πχ Control = Ctrl). Ο δεύτερος είναι να πατήστε μονό κλικ στο μεσαίο κελί και μετά το κουμπί (7) στο πρόγραμμα και στην συνέχεια πατήστε τον συνδυασμό των πλήκτρων που επιθυμείτε να δώσετε στην εντολή αυτή. Επίσης για να αντιστοιχήσετε τα shortcuts του Kodi με το τηλεχειριστήριο θα χρειαστείτε αυτό το link, στο οποίο αναγράφονται όλες οι συντομεύσεις του Kodi. To αποτέλεσμα στην περίπτωση μου είναι το παρακάτω, αλλά αν δεν έχει κάποιος το ίδιο ακριβώς χειριστήριο δεν έχει νόημα να χρησιμοποιήσει το ίδιο αρχείο.

     

    Ir Prg 04

     

    Τέλος το checkbox δίπλα από κάθε εντολή (στο τρίτο κελί) ενεργοποιεί ή απενεργοποιεί το repeat μιας εντολής. Αν παρατηρήσετε στα περισσότερα τηλεχειριστήρια όταν κρατάτε πατημένο ένα πλήκτρο τότε το LED του δέκτη συνεχίζει και αναβοσβήνει, πράγμα που σημαίνει ότι το χειριστήριο συνεχίζει να στέλνει την τελευταία εντολή (αυτό ουσιαστικά το κάνει στέλνοντας τον κωδικό 0xFFFFFFFF). Επομένως επειδή σε κάποιες περιπτώσεις είναι μη λειτουργικό ή ενοχλητικό κάτι τέτοιο, αν δεν έχετε επιλέξει το repeat, τότε το πρόγραμμα θα στείλει μόνο μια φορά την συντόμευση των πλήκτρων στο σύστημα ανεξάρτητα με το πόσο θα το κρατήσετε πατημένο. Για παράδειγμα στο κουμπί του volume χρειάζεται το repeat, αλλά στο OK/Enter όχι, στην περίπτωση του Kodi.

     

    Τώρα όσων αφορά τα τηλεχειριστήρια, μπορείτε να χρησιμοποιήσετε σχεδόν οποιοδήποτε της αγοράς, μια ιδέα ωστόσο είναι να πάρετε ένα φθηνό κοντρόλ από το ebay, σαν αυτά που χρησιμοποιούν για τις RGB led-οταινίες και να φτιάξετε ένα δικό σας layout να το εκτυπώσετε σε έναν έγχρωμο εκτυπωτή και με μια μεμβράνη να το βάλετε πάνω στο κοντρόλ. Διαφορετικά μπορείτε να αναστήσετε το τηλεκοντρόλ της παλιάς σας τηλεόρασης. Προσωπικά βρήκα ένα παλιό τηλεκοντρόλ, το οποίο δεν θυμάμαι από που είναι και πλέον το χρησιμοποιώ και είναι το παρακάτω.

     

    remote control

     

    Ακολουθεί και ένα βίντεο με την χρήση του. Κάτω από την τηλεόραση θα δείτε και το arduino να αναβοσβήνει το LED του όταν λαμβάνει μια εντολή.

     

     

    Όποιος θέλει το source code από το IR Key Repeater μπορεί να μου στείλει προσωπικό μήνυμα και θα του τον στείλω. Υπόψιν, ότι ο κώδικας υπάγεται στο LGPL v3, επομένως όποιες αλλαγές γίνουν και είναι προς την ευκολία των υπολοίπων, καλό θα ήταν να κοινοποιηθούν και στο άρθρο.

     

    Τέλος το κόστος κατασκευής ανέρχεται στα 4 έως 10 ευρώ, ανάλογα με του που ψωνίζετε (αν τα πάρετε από ebay με την ανάλογη αναμονή, τότε υπολογίστε 4-5 ευρώ).

     

    Σε όσους γενναίους τολμήσουν καλή επιτυχία και ότι σχόλια ή βοήθεια χρειαστείτε γράψτε μου εδώ.

    Συντελεστές Review
    Reviewers: Jaco
    Photographers: Jaco
    Editing: TheLab.gr team
    Αξιολόγηση
    Χαρακτηριστικά:Select
    Χρηστικότητα:Select
    Ποιότητα:Select
    Επιδόσεις:Select
    Γραφικά:Select
    Ήχος:Select
    Gameplay:Select
    Αντοχή στο Χρόνο:Select
    Απόδοση/Τιμή:Select
    Editor's ChoiceNo
    Innovation AwardNo
    Design AwardNo
    Value for MoneyNo

    • Like 33
    • Wow 1

    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.