Capsela : un robot anni 80 controllato dal Commodore 64

La passione per la ricerca delle “cose vecchie” l’ho sempre avuta, ed è un po’ di tempo che mi diverto a sfogliare tra i brevetti messi a disposizione da Google Patents. Qualche tempo fa, mentre cercavo del materiale per una delle mie mostre a tema retrocomputer e retrogaming, mi sono imbattuto in un brevetto davvero curioso: US4712184 AComputer controllable robotic educational toy.

Perchè ha stimolato la mia curiosità? Giudicate voi dalla prima immagine presente nel brevetto:

Si tratta di un robot controllato da un Commodore 64.

Tempo fa ho fatto vedere questo brevetto ad alcuni amici, e qualcuno ha fatto commenti, diciamo poco costruttivi, basati unicamente sull’estetica del robot in questione. Per tale motivo voglio ricordare che il robot in questione è nato nel 1975: stiamo parlando di oltre 40 anni fa e al di la dell’estetica bisogna ammettere che l’idea era geniale, ma soprattutto vincente e ancora viva ai giorni nostri. E poi, sinceramente, a me piace e il me bambino (ma anche il me adulto di oggi!) andrebbe orgoglioso di avere un giocattolo del genere.

Prima dei Lego Mindstorms

Il robottino potrebbe essere paragonato soltanto ai Lego Technics prima (nati nel 1982 come evoluzione dei Lego Experts del 1975) e ai Lego Mindstorms poi (che hanno visto il primo sistema collegabile al computer nel 1989). Si chiama Capsela ed è un prodotto ideato negli U.S.A.  nel 1975 e prodotto inizialmente dalla Mitsubishi Pencil Company (che produceva penne e matite). In seguito venne concesso in licenza e prodotto da altre aziende di giocattoli. A giudicare dalle immagini dei manuali reperite in rete forse venne venduto anche in Italia ma purtroppo, su questo punto, non ho trovato informazioni convincenti.

Si tratta di un robot modulare il cui corpo principale è costituito da “capsule” (da cui il nome) che si assemblano tra di loro permettendo di creare meccanismi sempre più elaborati e che, tramite svariati accessori, consentono al robot di potersi muovere sia su terreno che nell’acqua. Nei kit infatti si trovano eliche, ruote, cinghie, giunti cardanici, ingranaggi e tanta altra bella roba per cui il robottaro che c’è in noi andrebbe in visibilio.

Sistema di interconnessione delle capsule. Immagine per gentile concessione di Jose F. Romaniello (joseoncode.com)

 

Ogni “capsula” ha una funzione specializzata: in questo estratto dal manuale si vedono una capsula motore, una di riduzione e un’altra che funge da cambio marcia. Si nota che le istruzioni sono presenti anche in Italiano, il che potrebbe voler dire che forse il Capsela venne importato anche in Italia. Immagine per gentile concessione di Jose F. Romaniello (joseoncode.com)

Nell’ immagine successiva è fotografato un Capsela del tipo più semplice. Sono presenti solo due capsule-motore, una per la propulsione e un’ altra per la sterzata (gestita tramite una catena di trasmissione che trasmette il movimento ad una terza capsula in cui c’è l’abero connesso alla coppia di ruote pivotanti). Sarà anche brutto a vedersi ma io in tutto ciò ci vedo del genio:

Capsela 250 discovery Kit. Immagine tratta da wikipedia con licenza CC BY-SA 3.0

Il Capsela negli U.S.A. ebbe un enorme successo al punto da essere utilizzato anche nelle scuole per le lezioni di ingegneria e meccatronica (pensate com’erano già più avanti di noi in Italia, dove il concetto di meccatronica è arrivato solo di recente!

Edit: mi segnala l’utente “Pierino”, che nel 1985 l’ITIS Rossi di Vicenza aveva già un corso di meccatronica

Capsela esiste ancora oggi anche se è stato rimarchiato ed è leggermente differente (e non più compatibile con il Capsela originale). Questo è uno dei video promozionali dell’epoca, giusto per farvi capire di cosa stiamo parlando:

Da notare il ritornello: “Capsela! It’s motorized!”. Certamente all’epoca avere un sistema motorizzato, assemblabile a piacere, era qualcosa di eccezionale. Per molti, come me, è una cosa fantastica ancora oggi.

Ritorniamo a parlare del brevetto in cui il Capsela è collegato ad un Commodore 64. In origine questo robottino prevedeva già un controllo remoto tramite telecomandi ad infrarossi ma nel 1987 la Access Software annunciò un kit dal nome Robotic Workshop che includeva dei componenti di base del Capsela, sensori ed una unità elettronica di controllo da collegare alla user port del Commodore 64, il tutto fornito insieme ad un manuale con svariati progetti da realizzare e un floppy disk con dei programmi per utilizzarlo.

Come mi piacerebbe poterci mettere le mani! Vedere le mie due passioni unite (robotica/microcontrollori e retrocomputer) mi da sempre un gran senso di soddisfazione.

In seguito questo kit divenne disponibile anche per computers della Apple, IBM e Atari. Il brevetto oggetto di questo articolo si riferisce proprio a questo prodotto. Il target dell’invenzione in se stessa è relativo a bambini dagli 8 ai 12 anni. Il brevetto difatti recita che a questa età i bambini col Commodore 64 ci giocano ma non hanno molta idea di come funzionano esattamente i programmi sul computer. Per cui l’idea di base è proprio quella scrivere un programma che permetta di controllare un oggetto nel mondo reale piuttosto che in un videogame.

Collegamento con la User Port

Il robot viene collegato alla User Port del Commodore 64 che ha 8 I/O (nominati da PB0 a PB7), è controllata dal CIA (Complex Interface Adapter, il MOS6526) ed è mappata all’indirizzo 56577 per quanto riguarda l’impostazione/lettura del livello logico (come i registri PORT e LAT sui microcontrollori PIC, per intenderci) e all’indirizzo 56579 per l’impostazione degli I/O come ingresso (bit a zero) o come uscita (bit a 1 – come vedete l’opposto di come ragioniamo abitualmente col registro TRIS dei PIC). I commodoristi come me ricordano con piacere e un pizzico di nostalgia che sul Commodore 64 per il set/reset dei bit, utilizzando il Basic, si usa l’instruzione POKE, mentre per la lettura si usa PEEK.

Quindi, volendo impostare l’IO PB0 come uscita, nel nostro programma in Basic scriveremo:

POKE 56579,1

Con questa istruzione abbiamo impostato il registro 56579 al valore binario 00000001, che corrisponde a PB0 come uscita e le restanti porte (da PB1 a PB7) come ingressi. Per impostare quindi ad alto il livello logico della porta PB0 useremo:

POKE 56577,1

Nel caso del kit robotico del Capsela, essendo il motore principale collegato a PB0, il robot si muoverà in avanti, portando PB0 a livello basso, il robot si fermerà. Altri IO della user port, sul robot, vengono utilizzati come ingressi, in particolar modo 2 ingressi sono collegati a 2 semplici microswitches che servono per rilevare ostacoli.

Ringraziamenti

Voglio ringraziare pubblicamente Jose F. Romaniello per la disponibilità a fornirmi immagini e informazioni sul kit Capsela in suo possesso.

Fonti

Se questo articolo ti è piaciuto, condividilo su un social:
Se l'articolo ti è piaciuto o ti è stato utile, potresti dedicare un minuto a leggere questa pagina, dove ho elencato alcune cose che potrebbero farmi contento? Grazie :)