Due cornici identiche si fronteggiano. Lanci un oggetto dentro la prima e quello sembra uscire istantaneamente dalla seconda, senza alcun trucco video. È l’illusione dei portali collegati di Portal, ricostruita in hardware da James’ Programming. Il sistema si basa su un lanciatore a volano che spara una replica dell’oggetto fuori dal secondo portale appena il primo rileva un lancio in arrivo.
Il cuore del progetto è un Arduino Uno R4 nella versione WiFi, che coordina sensori, attuatori e LED. Il rilevamento degli oggetti in avvicinamento passa da sensori di distanza time-of-flight. Il lancio vero e proprio lo affida a un flywheel launcher, lo stesso principio dei lanciatori a volano delle pistole giocattolo moderne.
Due sensori ToF al posto di sedici
La cronologia delle prove è la parte più interessante del racconto. I primi tentativi usavano 16 sensori ToF, un numero che prometteva copertura totale dello spazio davanti al portale. Il risultato era però troppo lento: il tempo di lettura di tutti quei sensori non lasciava margine per attivare il volano in tempo utile. La versione finale si affida a soli due sensori ToF, scelti per il rilevamento affidabile del passaggio.
Il problema non è solo elettronico. Un lanciatore a volano ha un ritardo meccanico tra il comando e l’uscita dell’oggetto, quindi il sistema deve pre-attivare il lancio mentre l’oggetto è ancora in volo verso il primo portale. I sensori ToF tracciano la traiettoria in avvicinamento e danno al firmware il tempo di calcolare il momento giusto per far partire la replica.
- Arduino Uno R4 per il controllo del sistema
- Sensori di distanza time-of-flight per il tracciamento
- Lanciatore a volano per sparare la replica
- Anelli LED indirizzabili per il bagliore dei portali
- Servo per il meccanismo di allineamento
- Cornici stampate in 3D su telaio in alluminio personalizzato
Allineamento servo-assistito e limiti misurati
Per ripetere il ciclo senza intervento umano serve rimettere l’oggetto nella posizione di partenza. Un meccanismo di allineamento servo-assistito ricentra e riposiziona gli oggetti dopo ogni lancio. Gli anelli LED indirizzabili, montati sulle cornici, riproducono il bagliore tipico dei portali del gioco e danno il segnale visivo dell’attivazione.
Il progetto ha richiesto circa nove mesi per essere completato. Il dato più onesto arriva però dai test: i sistemi di rilevamento e auto-allineamento funzionavano solo circa una volta su venti. È il limite reale di un sistema che deve indovinare traiettoria, tempo di volo e ritardo meccanico in una frazione di secondo. Chi vuole rifarlo deve mettere in conto questa variabilità, non solo la parte elettronica.
Sul sito di James’ Programming si trovano i dettagli del progetto, dalle prove sui sensori al meccanismo di lancio. Chi vuole capire come si compensa il ritardo del volano con i sensori ToF parte da lì.
Per chi volesse replicare la parte di sensing, un sensore distanza laser ToF basato su VL53L3CX è lo stesso tipo di componente usato per tracciare gli oggetti in avvicinamento. Il resto è ingegneria meccanica: cornici, telaio e volano vanno progettati e stampati con pazienza.
