Go Down

Topic: Ambilight clone (Read 3641 times) previous topic - next topic

BBen

Hey,

Nieuw op het forum, nieuw met Arduino en wellicht al onmiddelijk een redelijk ambitieus idee :-)
Ik heb een Arduino, een 12v voeding, een RGB Amplifier en een RGB ledstrip.
De code die ik hier heb gevonden naar de Arduino gestuurd en hoera! Het werkt :-)

Nu heb ik dat niet allemaal gekocht om gewoon wat ledjes van kleur te zien veranderen, wat ik zou willen, is dit:
http://www.youtube.com/watch?v=NNKSakVMxNs

Het kan dus blijkbaar met een Arduino: analoge video input, de overheersende kleur bepalen en de RGB ledstrip hieraan aanpassen. Alleen heb ik geen flauw idee waar ik moet beginnen zoeken.
Wellicht zullen er uiteindelijk wat specifiekere vragen komen, waarvoor ik beter naar het Engelstalige forum ga, maar wellicht dat jullie me toch al in de juiste richting kunnen wijzen.

Ik heb al contact opgenomen met de auteur van het youtube-filmpje, zonder resultaat (geen antwoord).

Alvast bedankt voor de hulp!

gr,
Ben

PS: Als het ooit tot een werkend project komt, zal ik de code ook publiek maken.

Jantje

Ben
Welkom op het Nederlandstalige Arduino forum.
Zoals je nu wel al weet is de sturing van de leds niet zo moeilijk. Het stukje waar ik ook niet zou weten hoe er aan te beginnen is de kleur herkenning van het beeld.
Hopelijk is er iemand anders die er meer van weet.
Met vriendelijke groet
Jantje
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Velocity

Wat mij een goed idee lijkt voor het bepalen van de overheersende kleur is van een scherm het gemiddelde rood, groen en blauw te pakken door:

totaalrood/pixels
totaalblauw/pixels
totaalgroen/pixels

Hier komt een gemiddelde uit maar natuurlijk is dat niet altijd het overheersende. Op deze manier kom je denk ik wel in de buurt :)

BBen

Hey,

De kleur van de leds zelf aansturen is inderdaad doodeenvoudig.

@Velocity: da's inderdaad een goed startpunt. Maar mijn grootste struikelblok momenteel is het beeld op de Arduino zelf krijgen. Bestaan hier libraries voor die het beeld bijvoorbeeld als een matrix terug geven als je het analoog signaal op de juiste pinnen van de Arduino aansluit?


Gr,
Ben

MAS3

Heb je al bestudeerd hoe het beeld in analoge signalen word opgebouwd ?
En hoe je uitkomt met timing ?
Alle benodigde signalen zijn aanwezig in de SCART aansluiting.
Maar daar heb je alleen wat aan als je die ook gebruikt, niet als je via HDMI signalen ontvangt met je tv.
Het eenvoudigste resultaat bekijkt welke kleur gemiddeld aanwezig is op je scherm en maakt dan een achtergrond in (bijna) dezelfde kleur.
De kans is redelijk groot dat je dan meestal een gemiddeld witte achtergrond krijgt.
Maar de toestellen van meneer flipse doen dat toch iets anders.
Die laten minstens links en rechts de daar gemiddeld aanwezige kleur zien.
En das een nogal groot verschil, waar vooral die timing bij komt kijken.

Ik stel voor dat, om de eerste regel van mij hierboven af te vangen, je eens gaat kijken bij Nick Gammon's pogingen een analoog beeld te schrijven met een Arduino, hier op het board te vinden.
Er is een tv out library beschikbaar, de discussies daarover lijken me erg leerzaam al gaat het daarbij niet om het binnenhalen maar juist om het wegschrijven van zulke beelden.
Het lijkt me dat je aan de hand hiervan wel een nader plan de campagne kunt trekken.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

BBen

De basis van PAL heb ik wel mee. Aangezien het mijn bedoeling is om een ledstrip boven mijn TV te monteren, kan ik mij denk'k beperken tot de bovenste 10 tot 20 lijnen van iedere frame en in eerste instantie een simpel gemiddelde van die lijnen bepalen. Wellicht dat ik later ook nog kan gaan kijken naar hoe de kleuren van lijn tot lijn gaan variƫren om het geheel wat 'intelligenter' te maken...

De posts van Nick Gammon zal ik vanavond eens bekijken (nu @work). Ik was ook al het project van David Chatting tegengekomen ondertussen (http://www.davidchatting.com/arduinoeyeshield/). Ziet er ook een goed beginpunt uit.

Lectuur genoeg voorlopig, will keep you posted :)

Misschien best ook eens kijken naar HDMI ook, want ik zie nu net dat de 6 jaar oude LCD van mijn ouders nog analog out heeft, maar mijn nieuwere philips blijkbaar niet meer...

MAS3

Die eyeshield is een leuk ding.
Mooie uitleg ook over hoe een en ander werkt daar.
Het ding werkt wel alleen met monochroom, dus zwart/wit.
Maar het mag een niet al te groot probleem zijn dat op te vangen met een extra filter, zeker wanneer je je beeldscherm gaat indelen in verschillende secties (want dat levert je dan tijdwinst op, en word daar ook toegepast).
Natuurlijk is dat wel altijd simpeler gezegd dan gedaan, maar das nou juist de hobby eraan.
HDMI is weer een heel ander verhaal, ben bang dat dat een te grote drempel zal zijn.
Maar dan zijn er altijd nog HDMI converters, al vraag ik me wel af of je dan weer niet met timing in de knoop gaat komen.
Ben benieuwd naar je vorderingen.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

BBen

Denk dat HDMI inderdaad iets te ambitieus zal zijn om mee te starten :)
Eerst zien hoever ik geraak met analoog beeld.

Voorlopig nog niet veel vooruitgang. Het is momenteel een project dat ik er 'even' probeer bij te nemen, tussen mijn werk en mijn verbouwing, dus er blijft niet bijster veel tijd over :smiley-fat:

Als er vooruitgang in komt, dan lees je het hier zeker.

BBen

#8
Jan 16, 2013, 08:37 pm Last Edit: Jan 16, 2013, 08:53 pm by BBen Reason: 1
Ok, zoals gezegd: niet al te veel tijd momenteel, maar toch een korte update.

Momenteel ben ik 2 pistes aan het bekijken:
- Als basis het werk van David Chatting gebruiken, maar overstappen op component video. Die heeft 3 signalen: Y, Pb en Pr. De Y (luminance en sync) kan dan door de Eye Shield verwerkt worden. Het 'lastige' werk wordt dan voor mij gedaan. Als ik de Y-waarde op de Arduino als input krijg, is het denk ik niet zo heel moeilijk om kleuren te bepalen mbv de formule Y = 0.2126 R + 0.7152 G + 0.0722 B en het feit dat Pb en Pr informatie bevatten over respectievelijk blauw (B) en rood (R). Ik moet echter nog verder uitzoeken of de Y wel op (ongeveer) dezelfde manier wordt opgebouwd als analoge video-signalen
- Uitzoeken wat ik allemaal kan bereiken met de Video Experimenter (http://nootropicdesign.com/ve/). Dit ziet er ook zeer interessant uit, maar ik moet nog nagaan wat ik daar precies als input op de Arduino mag verwachten en of ik hier iets mee ben. Eerst even deze verder bekijken dus  :)

Hoe de kerel in het youtube-filmpje in mijn start-post het aan de praat heeft gekregen, is mij een raadsel. Als ik alles goed begrijp, is de Arduino immers gewoon te traag om de input van analoge video te verwerken (te weinig samples per seconde).

[update]
Het ziet er naar uit dat de video-capuring mogelijkheden van de Video Experimenter zich ook beperken tot monochrome beelden. Ik heb het nagevraagd bij de maker, will keep you posted.

Go Up