Back to blog

Lampada da comodino gesture controlled con Arduino Nano e sensore TOF

Un progetto DIY di una lampada da comodino controllata con un gesto della mano

Il mio feed social mi ha chiuso in una bolla tecnologica, mi invita a guardare cose AI, schede di sviluppo, progetti improbabili, spiegazioni di componenti elettronici. Talvolta come penso capiti a molti, cedo all’impulso d’acquistare online, magari per un progetto che vorrei fare, ma che poi non faccio, perché non è che uno è realmente efficiente come crede. Cioè, sei carico, pensi di voler fare una cosa e compri qualche pezzo, poi siccome hai deciso comunque di prenderli su Aliexpress con una super offerta, i componenti arrivano dopo venti giorni, tu nel frattempo hai perso la spinta e neanche ti ricordi cosa volevi farci, così restano lì nel cassetto.

Beh ho comprato alcune di queste schede Arduino compatibili, erano vendute con un nome tipo super eroe Marvel ma dell’infinitamente piccolo: Supermini Arduino Nano, delle schedine di sviluppo con 16 i/o, presa USB-C, tre led RGB già sulla board. Le info base comunque (come sapere che di fatto é un Arduino Nano che utilizza il bootloader vecchio di ATmega32P) le ho cercate come al solito dopo. Non so perché le avessi prese… Ma ora finalmente ne ho usata una per costruire una lampada che si può accendere e spegnere a gesti, senza toccarla.

Lo scopo del progetto è avere una luce forte, perché non ci vedo più benissimo e quando vado a letto a leggere ora mi serve un faro, quindi me lo sono costruito. Per accenderlo e spegnerlo, però non volevo un interruttore, ma un sensore che possa regolare l’intensità della luce muovendo una mano nell’aria senza per forza arrivare a toccare la lampada… (sai quando sei a letto e ti allunghi per spegnere e non c’arrivi e ti devi spostare, ecco volevo evitare quella roba lì).

Lampada led gesture controlled

Il progetto è fatto così:

Punto per punto i pezzi utilizzati:

  • Faretto led standard, 2.7W GUs 5.3
  • Alimentatore 12V 2A
  • Buck converter DC-DC per passare da 12V ai 5V che vuole Arduino
  • Arduino Supermini Nano
  • Sensore TOF VL53LXX-V2
  • Mosfet IRLZ44N per regolare la luce da Arduino
  • Resistenza 220 Ohm tra gate e Arduino

Il sensore tof: time of flight

Il componente più interessante di questi è il sensore TOF. La sigla sta per Time Of Flight, cioè tempo di volo. Questo sensore è la versione più precisa ed elegante dei sensori di prossimità ad ultrasuoni (tipo HC-SR04), in pratica invece di usare gli ultrasuoni per individuare un ostacolo, come fanno anche i pipistrelli, il TOF usa i fotoni della radiazione luminosa ad infrarossi. Il sensore spara dei fotoni e misura il tempo che impiegano per rimbalzare e tornare al sensore. Dal tempo trascorso applicando la formuletta dello spazio e della velocità si può ottenere la distanza di un ostacolo posto davanti al sensore.

ChatGPT disegna così il confronto tra sensore TOF e sensore ad ultrasuoni

Il risultato è molto preciso e così in base alla distanza nella lampada posso decidere quanta potenza mandare al led. Il controllo avviene tramite la modulazione PWM che è un meccanismo fondamentale nei sistemi elettronici: dato che Arduino non può controllare la corrente che viene inviata al led, usa un trucco e fa una precisa quantità di impulsi di tensione (accende e spegne velocemente il mosfet IRLZ44N) col risultato che in media controlla la luce della lampada.

Making of e risultato finale

Il design 3D è basato su un’altra lampada trovata su thingverse, la testa è stata modificata per le mie esigenze e per forza di cose è un po’ razionalista. La scelta per il mosfet IRLZ44N viene dalla necessità di poter aprire totalmente il canale tra drain e source del transistor con la tensione di un PIN logico di Arduino (che é solo 5V). Ci ho ragionato con ChatGPT dopo aver visto che qui usavano un IRFZ44N.

Video del funzionamento sul tavolo da lavoro

Sorgente

tbd

Canonical URL