Φτιάξτο μόνος σου: Οδηγός κατασκευής ambilight clone για games και ταινίες

by Νίκος Λυμπέριος on 7 Απριλίου 2015
Αφιερώματα

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

Η τεχνολογία Ambilight εφευρέθηκε από την Philips και είχε ως σκοπό την βελτίωση της θέασης υλικού από την τηλεοράση. Η βελτίωση βασίζεται στο γεγονός ότι το Ambilight λειτουργεί ως προέκταση της εικόνας της τηλεόρασης ξεκουράζοντας τα μάτια του θεατή. Η τεχνολογία βγήκε στην παραγωγή το 2007 και μέχρι και σήμερα συνεχίζει και εξελίσσεται από την Philips.

Το παρακάτω Project αξιοποιεί ένα Raspberry Pi, το οποίο αναλαμβάνει να πάρει το σήμα από το TV Tuner και να μετατρέψει την εικόνα που παίρνει σε αντίστοιχα χρώματα στα LED. Tα LED που θα χρησιμοποιήσουμε είναι τα WS2801. Είναι 5V, RGB, 8bit, ιδανικά για να αναπαραστήσουν με όσο δυνατόν μεγαλύτερη ακρίβεια τα χρώματα της πηγής μας.

Για την υλοποίηση χρειάζονται απλές γνώσεις χρήσης κολλητηριού και μερικές γνώσεις χρήσης προγραμμάτων SSH και FTP. Γενικά δε είναι δύσκολη η υλοποίηση του Project και το αποτέλεσμα θα σας ανταμείψει, αφού στο τέλος θα δείτε ότι είναι κατά πολύ ανώτερο του πρωτότυπου και δίνει και έναν ωραίο τόνο στο σαλόνι - gaming χώρο σας.

Το Project δυστυχώς δε μπορεί να χρησιμοποιηθεί για το τηλεοπτικό σήμα. Μπορεί όμως μέσω του XBMC - Kodi και με χρήση κάποιου TV Tuner να υποστηριχθεί και το τηλεοπτικό.

Στην αγορά κυκλοφορεί πλέον και το Raspberry Pi2, αλλά στον οδηγό έχουμε χρησιμοποιήσει το παλιότερο Β μοντέλο. Το εγχείρημα δουλεύει και στο νεότερο Raspberry, αλλά ο οδηγός βασίζεται στο προηγούμενο μοντέλο. Η λογική είναι ίδια και για το νέο μοντέλο με την μόνη προϋπόθεση ότι ο USB Grabber πρέπει να είναι μάρκας Fushicai, και το Image που διαθέτουμε δεν κάνει στο νέο μοντέλο. Επίσης μπορεί να χρησιμοποιηθεί και Arduino για την ίδια δουλεία και αρκετά από τα βήματα ταιριάζουν. Με λίγα λόγια υπάρχουν αρκετές επιλογές για να υλοποιηθεί το ίδιο αποτέλεσμα, απλά με τον οδηγό αυτό έχουμε αποσφαλματώσει τυχόν θέματα.

Τα υλικά που απαιτούνται για την υλοποίηση είναι:

  • 1x Raspberry PI B (Οι οδηγίες βασίζονται στο B μοντέλο. Κάνουν όλα τα μοντέλα με κάποιες τροποποιήσεις στο Software και στα GPIO Pins)
  • LED Strip WS2801 (τα μέτρα εξαρτώνται από το μέγεθος της τηλεόρασης)
  • 1x HDMI Splitter (βγάζει δυο εξόδους από μια είσοδο για να δώσουμε εικόνα στο Raspberry)
  • HDMI2AV (μετατρέπει το ψηφιακό σήμα σε αναλογικό)
  • 1x HDMI Switch (αν έχετε παραπάνω από μια πηγές)
  • 1x τροφοδοτικό (για το Raspberry και τα LED)
  • Βυσματάκια AC/DC
  • 1x χταποδάκι AC/DC (για να δώσετε ρεύμα και στο HDMI splitter και σε κάποιο USB Hub αν χρειαστεί)
  • 1x Easycap Tuner (βασισμένο στο τσιπάκι STK1160)
  • Διακόπτη (για το αναβόσβησμα του Raspberry και των Led Strips)
  • 1x 4GB SD Card

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

Τα εξής εργαλεία:

  • Κολλητήρι 15-25 Watt (όσο λιγότερα watt τόσο δυσκολότερο να κάνετε ζημία)
  • Πένσα
  • Κοφτάκι
  • Θερμοσυστελώμενο
  • Μονωτική ταινία
  • Δεματικά
  • Καλώδια για προέκταση όπου χρειαστεί

Τα εξής προγράμματα:

1ο Βήμα

Ξεκινώντας και πριν στήσουμε το όλο εγχείρημα, θα πρέπει να δούμε πώς θα τροφοδοτήσουμε το Raspberry και τα LED's. Το Raspberry παίρνει ρεύμα 5V από μια mini USB θύρα. Τα LED είναι επίσης 5V και αναλόγως των μέτρων που θα παραγγείλουμε χρειάζονται έως και 6Α ρεύματος, ένταση που το Raspberry και η SPI θύρα του δεν υποστηρίζουν. Γι' αυτό το λόγο μαζί με τα υπόλοιπα εξαρτήματα χρειαζόμαστε και ένα 5V τροφοδοτικό των 7 ή περισσοτέρων Ampere.

Υπάρχουν δύο λύσεις για το πώς θα τροφοδοτήσουμε Raspberry και LED:

1) H πρώτη λύση είναι η πιο απλή και απαιτεί απλά την προσαρμογή ενός DC βύσματος στα LED μας, συγκεκριμένα στο μαύρο - κόκκινο καλώδιό τους (σε κάποιες περιπτώσεις τα καλώδια είναι διαφορετικού χρώματος και αναφέρονται πάνω στο προϊόν). Σε αυτή την λύση το Raspberry παίρνει ρεύμα από έναν οποιοδήποτε φορτιστή κινητού με mini usb.

 


2) Η δεύτερη λύση είναι λίγο πιο δύσκολη και με αυτήν παρακάμπτουμε τελείως την "μαμά" τροφοδοσία του Raspberry και δίνουμε 5V στην θύρα SPI του Pi. Με αυτή τη μέθοδο έχουμε κοινό ρεύμα για το Raspberry αλλά και τα LED's μας και μπορούμε να κάνουμε καλύτερη διαχείριση του συστήματος προσθέτοντας και έναν διακόπτη ON-OFF.

diagram

Κοινό ρεύμα για το Raspberry και τα LED μας, καθώς και τα σημεία που θα συνδεθούν τα LED's ώστε να μιλάνε με το Pi.

 

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

Η δική μας υλοποίηση του Project. Η συνδεσμολογία μας είναι αρκετά διαφορετική από τις δυο παραπάνω και δε την προτείνουμε.

LED's κόψιμο και τοποθέτηση

Στην δική μας υλοποίηση δε χρησιμοποιήσαμε LED Strip οπότε και χρειάστηκε κάποια βάση για να τοποθετήσουμε τα LED και να στηρίξουμε την βάση στην τηλεόραση. Η βάση κόπηκε στις διαστάσεις της τηλεόρασης και προσαρμόστηκε στα VESA Mounts αυτής. Με τα LED Strip δε χρειάζεται κάποια περαιτέρω διαδικασία αφού έρχονται εξοπλισμένα με ταινία διπλής της 3Μ οπότε και είναι εύκολη η τοποθέτηση τους πάνω στην τηλεόραση, αλλά και η αφαίρεση τους.

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

ws2801

Σημείο κοπής του LED Strip

Έπειτα και αφού κολλήσουμε τα Strip πάνω στην τηλεόραση μας, θα πρέπει να ενώσουμε τα κομμάτια μεταξύ τους, αφού μετά το κόψιμο, τα LED's σε κάθε πλευρά της τηλεόρασης δεν επικοινωνούν μεταξύ τους.

DSC00324

Μετά το κόψιμο των Strip και τοποθέτησης τους στην τελεόραση κολλάμε τα strips

Όταν τελειώσουμε με την παροχή του Raspberry και την τοποθέτηση των LED's στην τηλεόραση, μένει να συνδέσουμε τα LED στις σωστές θέσεις του SPI Controller στο Raspberry, να συνδέσουμε τα ρεύματα αναλόγως της υλοποίησης που επιλέξαμε στο πρώτο βήμα και να ενώσουμε τις πηγές μας μεταξύ τους.

2ο Βήμα

Software και στήσιμο

Τελειώνοντας με το Hardware στήσιμο του Project ήρθε η ώρα να φτιάξουμε και το κομμάτι του Software. H πρώτη μας κίνηση είναι να κατεβάσουμε ένα Raspberry Image το οποίο θα εγκαταστήσουμε στην SD που θα χρησιμοποιηθεί από το Raspberry. Στο απαιτούμενο Software παραπάνω έχουμε επισυνάψει το δικό μας Image το οποίο και μπορεί να χρησιμοποιηθεί παντού με κάποιες μικρό αλλαγές στην ρύθμιση των LED ώστε να καλύπτει τον δικό σας αριθμό LED's.

Το πρώτο πράγμα που πρέπει να κάνετε είναι να κατεβάσετε το image που σας δίνουμε παραπάνω.

Αφου το κατεβάσετε, τρέξτε το WinΙmage, επιλέξτε το αρχείο της εικόνας και διαλέξτε την SD σας (βάση του γράμματος). Πατήστε Write και αφήστε το μέχρι να ολοκληρώσει την διαδικασία:

Όταν τελειώσει η εγγραφή του Image στην SD την τοποθετούμε στο Raspberry και το ανάβουμε. Αν τα έχουμε συνδέσει όλα σωστά τότε θα πρέπει μετά από 20-30 δευτερόλεπτα τα LED του Raspberry να ανάψουν.

Επειδή όμως το αρχείο ρύθμισης βασίζεται στο δικό μας, θα πρέπει να φτιάξετε ένα καινούριο και να το περάσετε στο Raspberry.

Για να γίνει αυτό θα χρησιμοποιήσετε το πρόγραμμα Hypercon (link θα βρείτε παραπάνω). Mε το πρόγραμμα αυτό ορίζουμε πόσα LED έχουμε στην τηλεόραση, αν έχουμε LED στις γωνίες κτλ.

Αφού ορίσουμε τον αριθμό των LED's και των θέσεων τους, πατάμε στο κουμπί Create Hyperion Configuration σώζουμε το αρχείο στην επιφάνεια εργασίας μας (ή όπου αλλού θέλουμε) και προχωράμε παρακάτω με την διαδικασία.

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

Ανοίγουμε το πρόγραμμα FTP μας, στην δική μας περίπτωση το FlashFXP και ακολουθούμε την διαδικασία που φαίνεται και στις παρακάτω φωτογραφίες:

Η IP εξαρτάται από το δίκτυο σας και μπορείτε να την βρείτε εύκολα από τον Router σας. Το όνομα χρήστη και ο κωδικός πρόσβασης του Raspberry είναι:

Όνομα Χρήστη: pi

Κωδικός: raspberry

Το FlashFXP αποτελείται από δύο πλευρές ή αν θέλετε καλύτερα δύο επιφάνειες εργασίας. Η αριστερή περιλαμβάνει τα αρχεία του υπολογιστή σας και η δεξιά του Raspberry. Αφού λοιπόν συνδεθούμε με το Raspberry πηγαίνουμε στην εξής διαδρομή των αρχείων του Raspberry: \opt\hyperion\config, στην δεξιά πλευρά. Εκεί θα βρούμε και το αρχείο hyperion.config.json. Αυτό είναι σαν  το αρχέιο που δημιοργήσαμε προηγουμένως με το πρόγραμμα Hypercon.

Από την αριστερή μεριά του FlashFXP πάμε στην επιφάνεια εργασίας μας ή στην θέση που σώσαμε το δικό μας αρχείο. Όταν το βρούμε, πατάμε πάνω του δεξί κλικ, edit (επεξεργασία) και αντιγράφουμε το παρακάτω κομμάτι:

[php]
///  The configuration for each individual led. This contains the specification of the area
///  averaged of an input image for each led to determine its color. Each item in the list
///  contains the following fields:
///  * index: The index of the led. This determines its location in the string of leds; zero
///           being the first led.
///  * hscan: The fractional part of the image along the horizontal used for the averaging
///           (minimum and maximum inclusive)
///  * vscan: The fractional part of the image along the vertical used for the averaging
///           (minimum and maximum inclusive)
"leds" :
[
{
"index" : 0,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.6875, "maximum" : 0.7500 }
},
{
"index" : 1,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.6250, "maximum" : 0.6875 }
},
{
"index" : 2,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5625, "maximum" : 0.6250 }
},
{
"index" : 3,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5000, "maximum" : 0.5625 }
},
{
"index" : 4,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.4375, "maximum" : 0.5000 }
},
{
"index" : 5,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.3750, "maximum" : 0.4375 }
},
{
"index" : 6,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.3125, "maximum" : 0.3750 }
},
{
"index" : 7,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.2500, "maximum" : 0.3125 }
},
{
"index" : 8,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1875, "maximum" : 0.2500 }
},
{
"index" : 9,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1250, "maximum" : 0.1875 }
},
{
"index" : 10,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0625, "maximum" : 0.1250 }
},
{
"index" : 11,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0625 }
},
{
"index" : 12,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 13,
"hscan" : { "minimum" : 0.9643, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 14,
"hscan" : { "minimum" : 0.9286, "maximum" : 0.9643 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 15,
"hscan" : { "minimum" : 0.8929, "maximum" : 0.9286 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 16,
"hscan" : { "minimum" : 0.8571, "maximum" : 0.8929 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 17,
"hscan" : { "minimum" : 0.8214, "maximum" : 0.8571 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 18,
"hscan" : { "minimum" : 0.7857, "maximum" : 0.8214 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 19,
"hscan" : { "minimum" : 0.7500, "maximum" : 0.7857 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 20,
"hscan" : { "minimum" : 0.7143, "maximum" : 0.7500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 21,
"hscan" : { "minimum" : 0.6786, "maximum" : 0.7143 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 22,
"hscan" : { "minimum" : 0.6429, "maximum" : 0.6786 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 23,
"hscan" : { "minimum" : 0.6071, "maximum" : 0.6429 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 24,
"hscan" : { "minimum" : 0.5714, "maximum" : 0.6071 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 25,
"hscan" : { "minimum" : 0.5357, "maximum" : 0.5714 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 26,
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5357 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 27,
"hscan" : { "minimum" : 0.4643, "maximum" : 0.5000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 28,
"hscan" : { "minimum" : 0.4286, "maximum" : 0.4643 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 29,
"hscan" : { "minimum" : 0.3929, "maximum" : 0.4286 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 30,
"hscan" : { "minimum" : 0.3571, "maximum" : 0.3929 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 31,
"hscan" : { "minimum" : 0.3214, "maximum" : 0.3571 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 32,
"hscan" : { "minimum" : 0.2857, "maximum" : 0.3214 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 33,
"hscan" : { "minimum" : 0.2500, "maximum" : 0.2857 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 34,
"hscan" : { "minimum" : 0.2143, "maximum" : 0.2500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 35,
"hscan" : { "minimum" : 0.1786, "maximum" : 0.2143 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 36,
"hscan" : { "minimum" : 0.1429, "maximum" : 0.1786 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 37,
"hscan" : { "minimum" : 0.1071, "maximum" : 0.1429 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 38,
"hscan" : { "minimum" : 0.0714, "maximum" : 0.1071 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 39,
"hscan" : { "minimum" : 0.0357, "maximum" : 0.0714 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 40,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0357 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 41,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0900 }
},
{
"index" : 42,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0625 }
},
{
"index" : 43,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.0625, "maximum" : 0.1250 }
},
{
"index" : 44,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.1250, "maximum" : 0.1875 }
},
{
"index" : 45,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.1875, "maximum" : 0.2500 }
},
{
"index" : 46,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.2500, "maximum" : 0.3125 }
},
{
"index" : 47,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.3125, "maximum" : 0.3750 }
},
{
"index" : 48,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.3750, "maximum" : 0.4375 }
},
{
"index" : 49,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.4375, "maximum" : 0.5000 }
},
{
"index" : 50,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.5000, "maximum" : 0.5625 }
},
{
"index" : 51,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.5625, "maximum" : 0.6250 }
},
{
"index" : 52,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.6250, "maximum" : 0.6875 }
},
{
"index" : 53,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.6875, "maximum" : 0.7500 }
},
{
"index" : 54,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.7500, "maximum" : 0.8125 }
},
{
"index" : 55,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.8125, "maximum" : 0.8750 }
},
{
"index" : 56,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.8750, "maximum" : 0.9375 }
},
{
"index" : 57,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.9375, "maximum" : 1.0000 }
},
{
"index" : 58,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0600 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 59,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0357 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 60,
"hscan" : { "minimum" : 0.0357, "maximum" : 0.0714 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 61,
"hscan" : { "minimum" : 0.0714, "maximum" : 0.1071 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 62,
"hscan" : { "minimum" : 0.1071, "maximum" : 0.1429 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 63,
"hscan" : { "minimum" : 0.1429, "maximum" : 0.1786 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 64,
"hscan" : { "minimum" : 0.1786, "maximum" : 0.2143 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 65,
"hscan" : { "minimum" : 0.2143, "maximum" : 0.2500 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 66,
"hscan" : { "minimum" : 0.2500, "maximum" : 0.2857 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 67,
"hscan" : { "minimum" : 0.2857, "maximum" : 0.3214 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 68,
"hscan" : { "minimum" : 0.3214, "maximum" : 0.3571 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 69,
"hscan" : { "minimum" : 0.3571, "maximum" : 0.3929 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 70,
"hscan" : { "minimum" : 0.3929, "maximum" : 0.4286 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 71,
"hscan" : { "minimum" : 0.4286, "maximum" : 0.4643 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 72,
"hscan" : { "minimum" : 0.4643, "maximum" : 0.5000 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 73,
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5357 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 74,
"hscan" : { "minimum" : 0.5357, "maximum" : 0.5714 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 75,
"hscan" : { "minimum" : 0.5714, "maximum" : 0.6071 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 76,
"hscan" : { "minimum" : 0.6071, "maximum" : 0.6429 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 77,
"hscan" : { "minimum" : 0.6429, "maximum" : 0.6786 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 78,
"hscan" : { "minimum" : 0.6786, "maximum" : 0.7143 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 79,
"hscan" : { "minimum" : 0.7143, "maximum" : 0.7500 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 80,
"hscan" : { "minimum" : 0.7500, "maximum" : 0.7857 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 81,
"hscan" : { "minimum" : 0.7857, "maximum" : 0.8214 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 82,
"hscan" : { "minimum" : 0.8214, "maximum" : 0.8571 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 83,
"hscan" : { "minimum" : 0.8571, "maximum" : 0.8929 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 84,
"hscan" : { "minimum" : 0.8929, "maximum" : 0.9286 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 85,
"hscan" : { "minimum" : 0.9286, "maximum" : 0.9643 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 86,
"hscan" : { "minimum" : 0.9643, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 87,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9100, "maximum" : 1.0000 }
},
{
"index" : 88,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9375, "maximum" : 1.0000 }
},
{
"index" : 89,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8750, "maximum" : 0.9375 }
},
{
"index" : 90,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8125, "maximum" : 0.8750 }
},
{
"index" : 91,
"hscan" : { "minimum" : 0.9400, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.7500, "maximum" : 0.8125 }
}
],
[/php]

Αφού το κάνουμε αντιγραφή κλείνουμε το αρχείο. Στην δεξιά μεριά του FlashFXP πατάμε πάλι δεξί κλικ στο hyperion.config.json edit (επεξεργασία). Όταν ανοίξει το αρχείο επιλέγουμε το κομμάτι του κώδικα που επιλέξαμε προηγουμένως και φαίνεται ως παράδειγμα παραπάνω και πατάμε επικόλληση. Αφού σιγουρευτούμε ότι το κάναμε σωστά, πατάμε αποθήκευση είτε με τον συνδυασμό CTRL+S είτε πάμε File -> Save.

Τέλος και για ασφάλεια αλλά και σε περίπτωση που μας χρειαστεί σε κάποια άλλη υλοποίηση κρατάμε ένα backup του αρχείου hyperion.config.json κάνοντας δεξί κλικ στο αρχείο της δεξιάς μεριάς του FlashFXP και πατάμε Transfer. Κάνοντας αυτό, το αρχείο θα μεταφερθεί σέ όποιον φάκελο κοιτάζει η αριστερή μερία του προγράμματος.η

Πλέον το Raspberry είναι ρυθμισμένο να δουλεύει με τον δικό σας αριθμό LED και τις δικές σας προτιμήσεις. Κλεινουμε και ανοίγουμε το Raspberry για να πάρει τις αλλαγές και ελέγχουμε αν όλα είναι εντάξει.

Αν θέλουμε να αποφύγουμε το συνεχές κλείσιμο άνοιγμα του Raspberry για να δούμε τις αλλαγές που κάναμε στο αρχείο ρύθμισης του Hypercon, μπορούμε απλά να κάνουμε επανεκκίνηση της υπηρεσίας με χρήση του putty.

Ακολουθούμε τις παρακάτω οδηγίες:

Τρέχουμε το πρόγραμμα putty που θα βρείτε στα προγράμματα πιο πάνω:

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

1η εντολή -> sudo killall hyperiond <-  Σταματάει την λειτουργία του Ambilight.

2η εντολή -><- Ξεκινάει την λειτουργεία του Ambilight.

Ταινίες

Όπως αναφέρουμε και στον τίτλο του άρθρου το παρόν project μπορεί να χρησιμοποιηθεί και για την αναπαραγωγή ταινιών με υποστήριξη του Ambilight εφέ. Για να γίνει αυτό θα χρειαστείτε μια δεύτερη κάρτα SD χωρητικότητας 4GB ή και 8, αν έχετε μεγάλη βιβλιοθήκη ταινιών και θέλετε αρκετά εξώφυλλα.

Το Image που θα χρειαστείτε μπορείτε να το κατεβάσετε από εδώ και το περνάτε χρησιμοποιώντας το WinImage όπως περιγράψαμε προηγουμένως. Αφού περάσετε το Image στην SD, μπορείτε να συνδεθείτε με το FlashFXP στο Raspberry, όπως περιγράψαμε χρησιμοποιώντας για όνομα χρήστη το root και κωδικό openelec, για να περάσετε το αρχείο ρύθμισης του Hyperion που φτιάξαμε νωρίτερα και που κρατήσαμε backup. To παλιό αρχείο ρύθμισης θα το βρείτε στην διαδρομή: /storage/.config/

Η χρήση του συστήματος λοιπόν εξαρτάται από την SD. Μια για τα παιχνίδια και μια για τις ταινίες.

Υποστήριξη Forum

Για οποιαδήποτε απορία έχετε μπορείτε να ρωτήσετε στο forum μας.

VideoGames24

Demo του Project:

 

 

Πηγές:

Great Scott

Σχόλια
What's your reaction?
LOL
0%
Cheers
100%
Τιιιιι ;
0%
Μπαααα
0%
Sad
0%
Rage
0%