Un sistema Ambilight fai-da-te

In questo articolo vi racconterò come ho creato un sistema Ambilight fatto in casa, utilizzando una webcam, una striscia di luci LED RGB e un microcomputer Raspberry Pi.

Cos’è Ambilight?

Prima di addentrarci nel progetto, diamo un’occhiata a cos‘è Ambilight e perché sia così affascinante.

Ambilight è una tecnologia sviluppata da Philips che utilizza una serie di luci LED poste dietro lo schermo di una TV per creare un’illuminazione ambientale che si sincronizza con ciò che stai guardando.

Queste luci cambiano colore in tempo reale per corrispondere ai colori dominanti presenti nell’immagine sullo schermo.

L’obiettivo di Ambilight è migliorare l’esperienza di visione, rendendo i film e i programmi TV più coinvolgenti e immersivi.

Per ricreare questo effetto, disponibile solo sui televisori Philips, ho deciso di creare un sistema Ambilight fai-da-te utilizzando solo componenti accessibili e un Raspberry Pi.

Come funziona il progetto

Il concetto alla base del progetto è abbastanza semplice: la webcam cattura l’immagine dallo schermo della TV, che viene poi elaborata per estrarre i colori dominanti.

Questi colori vengono poi inviati alle luci LED RGB, che cambiano colore in tempo reale per riflettere l’immagine sullo schermo.

Il risultato è un’illuminazione ambientale coinvolgente e dinamica che si sincronizza perfettamente con ciò che stai guardando.

L’hardware

Ecco la lista dei componenti che ho utilizzato per creare il mio sistema Ambilight:

  • Una webcam per catturare l’immagine dallo schermo della TV
  • Una striscia di luci LED RGB che sarà la sorgente di luce per creare l’effetto Ambilight
  • Tre transistor MOSFET IRLZ44N, per regolare la tensione sui tre canali RGB
  • Una mini breadboard e dei cavetti M-F e F-F
  • Un Raspberry Pi per controllare le luci LED

Per controllare le luci LED, dal Raspberry Pi facciamo uscire tramite i pin GPIO:

  • la tensione a 5V (pin 2) e il neutro GND (pin 6)
  • i tre segnali RGB dalle porte GPIO: pin 17 per il Red, pin 22 per il Green e pin 24 per il Blue

I tre segnali entrano nel primo pin di ciascuno dei tre transistor MOSFET IRLZ44N; il secondo pin lo colleghiamo alla striscia LED; il terzo pin lo colleghiamo al neutro GND.

Il software

Per acquisire l’immagine dallo schermo tramite la webcam e sincronizzare le luci LED ho scritto un apposito software in Python diviso in due parti:

  • acquisizione dell’immagine tramite webcam ed estrazione del colore dominante: ho usato la libreria Python ColorThief per estrarre il colore dominante
  • controllo della striscia di luci LED RGB: ho usato la Liberia pigpio per controllare i pin del RaspberryPi ed inviare il segnale alla striscia LED RGB.

Poiché il RaspberryPi non ha sufficiente potenza di calcolo, ho delegato al mio Mac M1 l’elaborazione in tempo reale delle immagini e l’estrazione del colore dominante, e ho collegato il Mac al RaspberryPi tramite il protocollo MQTT, in modo che il Mac trasmetta i valori di RBG al RPi che li riceve e controlla la striscia LED collegata al RPi tramite i pin GPIO.