Premessa.
I prossimi 18 mesi circa segneranno una transazione particolarmente significativa per il mondo AFOL: il pensionamento dei componenti Power Function. Il loro posto sarà progressivamente preso dal sistema Powered Up (noto inizialmente anche come Power Function 2) che ha visto la sua primordiale uscita nel 2018 con i treni LEGO 60197/60198 e nella successiva Batmobile radiocomandata 76112. È bene sapere che i componenti Power Function attuali (successivamente identificati come PF) resteranno comunque nel catalogo LEGO® fino al termine del 2020, benché il pacco batterie ricaricabili non sia già più disponibile da dicembre 2018.
Ho quindi pensato di scrivere una serie di articoli (di cui questo è sostanzialmente l’introduzione), al fine di evidenziare pregi, difetti, differenze tra Powered Up (da qui in poi, PU) e Power Function analizzando tutte le caratteristiche tecniche a oggi note, gli scenari applicativi, esempi pratici d’uso e di programmazione e qualche workaround per poter ‘integrare’ i due sistemi.
È bene tenere a mente che il PU è un sistema neonato e quindi, a una prima comparazione con il PF, rischia di non fare una così bella figura. D’altra parte il sistema PF ha sulle spalle diversi anni di sviluppo (i primi elementi furono messi in commercio nel 2007) ed è oggi composto da diversi tipi di motore, pacchi batteria piccolo e grande, cavi prolunga e, non meno importante, offre una retro-compatibilità con i vecchi sistemi 9V degli anni 90. Dal canto suo, il PU si presenta con la novità più evidente di essere “gestito” da smartphone/tablet. Il recente rilascio di una versione aggiornata dell’app PU e i nuovi componenti che saranno introdotti ad agosto 2019 con il set Technic 42100, lasciano intravedere un interessante sviluppo futuro per questo nuovo sistema.
Brevi cenni storici.
Prima di addentrarci nell’analisi tecnica “PU vs PF”, vorrei fare un breve riepilogo storico sui componenti elettro-meccanici realizzati nel corso del tempo da LEGO. La possibilità di integrare movimenti meccanici controllati da energia elettrica nei set LEGO è qualcosa che risale al lontano 1965 quando, in collaborazione con Samsonite, in USA, fu prodotto il primo motore alimentato a batterie per movimentare ingranaggi e ruote (foto set).
“This is a precision-made motor with wire connectors, terminals and battery case that combines with Lego-Gears to add powered motion to your Lego collection! Make a moving car, truck, punch press, machinery-a thousand different designs with Lego-Motor, Lego-Gears and your Lego collection! ”
Da allora, di acqua sotto i ponti ne è passata parecchia e di motori elettrici, sistemi di controllo, luci e sistemi sonori ne sono stati prodotti così tanti che vi sfido a conoscerli tutti. Control Lab, Record & Play, Code Pilot, Micro Scout, LEGO Technic Interface A, Mindstorm Scout, Spybotics, RCX, Control Center, NXT, EV3, WeDo, Power Function, Light & Sound, fino ai più recenti Boost, Powered Up e Spike Prime, sono i nomi dei vari sistemi di integrazione elettro-meccanica, molti dei quali programmabili nella loro logica di funzionamento (mediante PC, barcode o, più semplicemente, con sequenze temporali di attivazione) con vari livelli di complessità.
Alcuni di questi prodotti nacquero (e rimasero confinati) nella linea DACTA, poi divenuta Educational nel 1989, ovvero quella linea di prodotti specializzati in ambito didattico-educativo-scolastico al fine di affiancare, con esercizi e attività pratiche, le discipline STEM. A questi si affiancarono i vari sistemi di controllo dei treni, dall’affascinante sistema 12 V (persino con scambi motorizzati, semafori, luci, decoupler, passaggi a livello…) ai più diffusi e semplici sistemi degli anni 2000 basati su telecomandi a raggi infrarossi.
Per mia “deriva professionale” (sono diplomato in Elettronica e Telecomunicazioni e programmatore autodidatta dai tempi dello ZX Spectrum) ho avuto modo di “giocare” con molti dei sistemi sistemi LEGO sopracitati, toccando con mano le potenzialità e i limiti che ognuno di essi presentava.
Appena è iniziata a circolare la notizia del nuovo sistema Powered Up ho quindi iniziato a documentarmi per scoprire quali novità potesse offrire rispetto al passato (e al presente) dal punto di vista tecnico, soprattutto agli AFOL più “smanettoni”: quelli a cui piace dotare di funzioni elettromeccaniche le proprie MOC Technic, quelli a cui piace giocare con il GBC – Great Ball Contraption e, non di meno, quelli a cui piace aggiungere effetti di movimenti ai propri diorami, che siano City, Space o persino Castle.
Non vi nascondo che, in un primo momento, il sistema PU mi lasciò particolarmente deluso… ma, pian piano, stanno emergendo interessanti novità e rosee prospettive di cui parleremo appunto nel corso di questi articoli 😉
Torniamo a oggi.
Tutti i sistemi che ho citato poc’anzi, in un modo o nell’altro presentano ognuno dei limiti soprattutto per l’AFOL più intraprendente ed esigente. Spesso e volentieri, i più smanettoni hanno “hackerato” i vari componenti per estenderli oltre quanto avesse inizialmente progettato LEGO (molto nota tra gli AFOL-Maker la pagina di Michal Gasperi per citare uno dei tanti esempi) o, più semplicemente, per supportarli anche su sistemi operativi più recenti/diversi dato che molti di questi sistemi erano legati a software che potevano essere eseguiti solo su specifiche versioni di Windows 95/DOS (vedi, ad esempio, il software in C# per il Technic Interface A). C’è chi invece è andato oltre e ha usato alternative (Arduino, principalmente) per creare il proprio sistema di controllo evoluto (su YouTube potete perdervi nel vedere quanti progetti esistono sul tema) e altri ancora hanno persino visto un’opportunità commerciale nel realizzare prodotti che facessero fronte alle lacune dei sistemi LEGO, soprattutto parlando del più diffuso Power Function: nomi come SBRICK, BuWizz, PFx Bricks, 4D Brix sono oramai ben noti agli AFOL e, nonostante il loro prezzo, hanno trovato larga diffusione tra coloro (molti…) che avevano l’esigenza di superare i limiti del sistema PF.
PU vs PF
Prima di iniziare ad entrare nel dettaglio dei vari componenti, vediamo una panoramica dei due sistemi:
Si nota subito una differenza nel numero di elementi ma è bene tenere sempre a mente che il sistema PU è disponibile solo da qualche mese e che sicuramente sarà espanso nei prossimi mesi/anni.
Sebbene ad oggi, il nuovo sistema presenta solo 3 motori rispetto ai 5 dei PF (inclusi quelli dei treni), possiamo notare la presenza di nuove tipologie di componenti “sensori” (sono inclusi anche quelli WeDo 2.0, in quanto compatibili) che non hanno alcun riscontro nel “vecchio” sistema.
Iniziamo l’analisi.
Ma qual’è il limite più grosso del sistema PF? Sostanzialmente è la tecnologia utilizzata per il controllo remoto, basata sui raggi infrarossi (IR – Infrared). Quando il PF uscì nell’ormai lontano 2007, tale tecnologia rappresentava la miglior scelta per lo scenario applicativo (controllo remoto a breve distanza). Oggi la tecnologia IR non è più così ideale dato che il più flessibile BLE (Bluetooth Low Energy), o il più potente WiFi, sono oramai implementabili con una facilità disarmante e sono disponibili come standard su qualsiasi dispositivo “smart”, a partire dai telefoni cellulari.
La tecnologia a raggi infrarossi, benché da sempre largamente utilizzata per il controllo remoto di oggetti a breve distanza, soffre in particolari condizioni di luce ambientale e, soprattutto, richiede un “contatto visivo” tra telecomando e ricevitore. Ecco quindi che il BLE, essendo una tecnologia basata su trasmissione di onde radio a 2,4 Ghz a basso consumo energetico, supera i limiti dell’IR seppur mantenendo un raggio di azione ristretto (circa 10 metri) che, nello specifico scenario applicativo del mondo LEGO, non è poi così particolarmente importante (per approndire l’argomento IR vs BT, suggerisco la lettura di questo articolo).
Un altro difetto del PF è la dimensione dei componenti base (ricevitore IR + pacco batteria) rapportata al numero di motori/luci controllabili: 2 per ogni ricevitore. In realtà, il limite non è così preciso, considerato che una della caratteristiche del connettore PF è la possibilità di impilare i connettori alimentando/controllando più motori contemporaneamente e il limite è quindi riferito al numero dei canali di controllo disponibili su un singolo ricevitore IR. Lo SBRICK (la più diffusa soluzione di terze parti per il controllo remoto dei componenti PF) nello stesso spazio di un ricevitore IR LEGO permette di controllare fino a 4 canali differenti e, soprattutto, di essere posizionato anche in parti nascoste della nostra MOC, dato che comunica via BLE.
C’è comunque da sottolineare che il PF, almeno al momento in cui scrivo questo articolo, presenta alcuni pregi rispetto al PU e di cui non si ha alcuna notizia di una loro implementazione futura: i cavi prolunga, la possibilità di azionare motori senza l’uso di telecomandi, la possibilità di interfacciarsi con il motori e regolatori di velocità del sistema 9V uscito negli anni 90. Quest’ultima caratteristica è apprezzata/richiesta soprattutto da coloro che giocano con i moduli GBC e, in linea di massima, da chiunque debba alimentare per lunghe ore le proprie MOC/circuiti ferroviari/diorami, dato che con un alimentatore 9V (e il rispettivo regolatore di velocità 2868b), si possono facilmente pilotare motori e luci del sistema PF senza utilizzare una miriade di batterie.
Non bisogna dimenticare che il PF si è evoluto-espanso nel corso di alcuni anni e che il PU è disponibile da meno di uno… Il cavo di prolunga/adattamento PF-9V, per essere obiettivi, uscì solo 2 anni dopo l’introduzione iniziale del sistema PF. Quindi, tempo al tempo, sperando che in un prossimo futuro anche il PU possa offrire alcune importanti caratteristiche del PF, affiancate dalle più recenti funzionalità in termini di connettività e programmazione peculiari del sistema stesso e che approfondiremo più avanti nel corso di questi articoli.
Lo smart hub.
Partiremo dall’analizzare il nuovo “smart hub”, cuore del sistema Powered Up che racchiude, le funzionalità del ricevitore IR PF (codice 8884) e del pacco batteria (codice 88000).
Già in termini di ingombro fisico, il PU risulterebbe essere più versatile dato che elimina del tutto il ricevitore IR (vedi foto più sopra con i motori collegati). Questo è particolarmente vero se pensiamo alla motorizzazione di un treno. Ma nel momento in cui dovessimo controllare più di 2 motori, saremo costretti ad aggiungere un secondo smart hub perdendo nuovamente spazio, a differenza del PF per il quale è sufficiente aggiungere il solo ricevitore. Questa situazione potrebbe cambiare ad agosto, con l’uscita del Control+ (il ‘fratello maggiore’ dello smart hub) di cui parlerò più avanti.
Come già anticipato, la novità di rilievo è la diversa tecnologia di trasmissione tra l’hub e il telecomando: BLE anziché raggi infrarossi. Questa tecnologia offre la possibilità di controllare l’hub non solo tramite l’apposito telecomando, ma anche tramite qualsiasi altro dispositivo BLE per cui esista un software di controllo. Oltre all’app ufficiale LEGO, è “sufficiente” una implementazione del protocollo di comunicazione sviluppato da LEGO e la cui documentazione è stata resa pubblica con lo scopo di consentire a terze parti di integrarsi con l’ecosistema PU.
Esistono già diverse librerie open source che implementano il protocollo del PU permettendo di interagire con l’hub da Windows, Android, Linux, IOS. In particolare, vi segnalo quella di Nathan Kellenicki, che uso personalmente con enorme soddisfazione nel mio sistema ATS basato su Raspberry Pi & Raspbian (distro Linux specifica per la scheda del ‘lampone’)
Lo smart hub PU presenta solo due porte e pertanto i dispositivi collegabili possono essere al massimo 2. Il nuovo tipo di connettore e il sistema di identificazione digitale del componente connesso non consentono un collegamento in “parallelo” di più motori/luci, così come è possibile fare con il PF. Senza entrare troppo in noiosi tecnicismi elettronici, vi assicuro che questo limite è insuperabile. A una porta può essere connesso solo e soltanto un singolo tipo di device.
Alle porte dello smart hub possono essere collegati non solo attuatori come motori e luci, ma anche sensori (notare, infatti, le frecce bidirezionali incise sullo chassis)… una novità assoluta, se paragonata al PF.
In particolare è possibile utilizzare il sensore di luce/colore/prossimità e il motore tachimetro che sono stati introdotti con il set Boost 17101. Per la precisione, il motore bb893c01 (terzo da sx, nella foto qui sotto) implementa un’interfaccia elettronica basata su un encoder ottico che, oltre a consentire un utilizzo al pari di un motore passo-passo (stepper), può essere sfruttato anche come semplice sensore di rotazione (seppur ingombrante). Inoltre è anche possibile utilizzare il sensore di movimento e quello di inclinazione del sistema WeDo 2.0.
La possibilità di utilizzare questi componenti (confidando anche nella futura disponibilità di nuove tipologie di sensori) apre scenari molto interessanti, soprattutto da quanto è stata rilasciata una nuova versione dell’App per Android e IOS (ver. 2.1.0, rilasciata a metà aprile) con la quale è possibile, in modo molto semplice e intuitivo, creare delle sequenze di azionamento degli attuatori (motori e luci) basate su logiche anche particolarmente complesse e basate, volendo, sui dati rilevati dai sensori.
Per fare un esempio pratico e molto banale, ora è possibile “programmare” il comportamento di un treno LEGO facendogli cambiare velocità lungo il percorso, fermarlo presso una o più stazioni, per poi farlo ripartire dolcemente fino a raggiungere la velocità di crociera. Oppure è possibile realizzare una macchina/robot che gira per la nostra casa evitando gli ostacoli che si troverà davanti al suo percorso.
Quello che segue è un video in cui viene mostrato appunto il controllo di un treno, con il cambiamento di velocità lungo il percorso e la sosta temporanea, il tutto controllato tramite tile colorati posizionati sui binari.
E’ abbastanza evidente che oggi diventa molto più semplice aggiungere un minimo di dinamismo nei nostri diorami City o un minimo di intelligenza artificiale ai nostri mezzi Technic.
All’interno dello smart hub PU non è quindi presente solo un banale ricevitore Bluetooth LE che trasforma i comandi in segnali di controllo per il motori, ma un vero e proprio microcontrollore (basato sul chip Arm® Cortex®-M0 32-bit RISC con frequenza di lavoro di 48 MHz, particolarmente potente per questo tipo di applicazione) sul quale è in esecuzione un apposito software (chiamato “firmware”) aggiornabile nel tempo e quindi con la flessibilità di essere evoluto e migliorato (al momento sono già stati rilasciati due aggiornamenti del firmware).
(fonte foto: Eurobricks)
In realtà, almeno allo stato attuale, lo smart hub è meno smart di quanto potrebbe effettivamente essere considerato l’hardware utilizzato. A oggi, infatti, senza uno smartphone/tablet, non è in grado di funzionare autonomamente seguendo un programma pre-caricato dall’utente: il vero “cervello” applicativo è esclusivamente l’App installata sullo smartphone/tablet che, sulla base delle istruzioni impartite dall’utente, esegue la sequenza di comandi ed invia le necessarie istruzioni all’hub, ricevendo ed interpretando parallelamente i valori di eventuali sensori collegati. Pertanto, senza App, lo smart hub non offre nessuna funzionalità avanzata di controllo dei dispositivi connessi.
Un’altra diversità dello smart hub, rispetto al pacco batteria+motore del sistema PF è che non può funzionare autonomamente. E’ strettamente necessario utilizzare il telecomando dedicato o, in alternativa, l’App installata sul telefono. Nel sistema PF, invece, è sufficiente collegare il motore al pacco batteria ed azionare il pulsante di accessione per attivare la rotazione del motore.
Nonostante i limiti finora evidenziati, gli scenari applicativi del nuovo PU sono ampi ed interessanti soprattutto se si pensa all’uscita del prossimo componente della famiglia Powered Up: l’hub Control+.
Sarà introdotto (in due unità) nel nuovo set Technic 42100 (uscita prevista per il 1° agosto) e il cui unico aspetto tecnico noto, a oggi, è che l’hub avrà ben 4 porte di I/O e, molto probabilmente, un sensore di inclinazione interno (come nel move hub del Boost).
Con 4 porte a disposizione, si inizia ad avere una grande flessibilità nell’utilizzo combinato di sensori e motori… inoltre, la nuova versione dell’App che sicuramente sarà rilasciata in concomitanza dell’uscita del set, permetterà di controllare più hub parallelamente… insomma, ci aspettano grosse novità e la possibilità di rendere più animate le nostre MOC senza necessariamente dover utilizzare un EV3/NXT.
Tornando al set Technic, sappiamo che utilizzerà la bellezza di 7 motori e chissà se, tra questi, verrà presentato uno o più nuovi modelli che prenderanno (in futuro) il posto degli attuali L, XL e Servo. Non ci resta che attendere ancora qualche settimana per scoprire tutte queste novità…
Nota: In questa foto si nota, seppur con poca definizione, la forma del nuovo Control+ (riquadro giallo) e alcuni immagini della nuova App.
Sperando di aver stuzzicato un po’ di curiosità e fornito qualche spunto di riflessione sull’argomento, vi anticipo che nei prossimi articoli analizzeremo le caratteristiche dei nuovi motori PU, i sensori Powered Up e, soprattutto metteremo tutto insieme per utilizzare l’App per le varie esigenze “AFOL”.
Nel frattempo, vi invito a partecipare alla discussione sul forum ItLUG specificamente dedicata al sistema Powered Up dove potrete trovare ulteriori riflessioni, informazioni ed approfondimenti.