video suggerito
video suggerito

Come costruire un vibratore per barare a scacchi

Il campione del mondo degli scacchi Magnus Carlsen ha accusato Hans Niemann di aver barato durante una partita dal vivo. Dopo settimane di teorie, non è ancora chiaro come sia stato possibile.
A cura di Elisabetta Rosso
281 CONDIVISIONI
Immagine

Si può barare over the board, dal vivo, a scacchi? È diventato un grattacapo per tutti, dopo la vittoria di Hans Niemann contro il campione del mondo Magnus Carlsen. La giovane promessa è stata accusata di aver barato. In realtà giocare sporco dal vivo è difficilissimo. Di teorie nelle ultime settimane ne sono circolate parecchie, fra cui anche una che includeva l'utilizzo di un set di palline anali.

La soluzione più probabile però potrebbe essere un comunicatore nascosto unidirezionale configurato con il software Adafruit IO. Per usarlo bisogna essere almeno in due. Il giocatore porta con sé questo dispositivo. Il complice, in presenza o da remoto, osservando la partita in streaming, ripropone le mosse a un motore di intelligenza artificiale.

Una volta che l'intelligenza artificiale decide le mosse da fare, queste vengono scritte sulla dashboard di Adafruit IO che le trasforma in codice Morse e le comunica attraverso una serie di vibrazioni.

Che cosa serve per realizzare il vibratore

La prima cosa necessaria è una scheda di sviluppo WiFi Adafruit QT Py ESP32-S2 con STEMMA QT. È il cervello di tutto il dispositivo: piccolo e dotato di Wifi integrato è in grado di comunicare attaccandosi a un hotspot (generato ad esempio dallo smartphone del complice). Poi serve un Mini disco motore vibrante completamente sigillato, facile da usare e incorporare, un Controller motore aptico Adafruit DRV2605L – STEMMA QT / Qwiic progettato per il controllo di motori aptici (tattili) e una batteria ai polimeri di ioni di litio.

Servono ancora un componente aggiuntivo Adafruit LiIon o LiPoly Charger BFF per QT Py, ovvero un piccolo caricabatterie progettato per adattarsi al retro di qualsiasi scheda QT Py, (quella che verà urilizzata), e un Cavo a 4 pin STEMMA QT / Qwiic JST SH– 100 mm di lunghezzadotato di connettori JST-SH femmina a 4 pin su entrambe le estremità. Tutti questi componenti si possono senza troppa fatica sul web. Una volta assemblato, il piccolo vibratore deve essere inserito all’interno di una fiala isolante.

Il circuito

ADAFRUIT.COM | Una vista schematica delle parti disposte
ADAFRUIT.COM | Una vista schematica delle parti disposte

Le schede del microcontrollore e del caricabatterie devono essere saldate back-to-back con connettori. ll motore di vibrazione è fissato alla scheda del controller tattile, devono rimanere aderenti al corpo del tubo per condurre meglio le vibrazioni. Il cavo Stemma permette al motore e al controller di rimanere in posizione mentre altre parti sono rimovibili per poter accedere all’interruttore di alimentazione e caricare il codice.

La dashboard di IO di Adafruit

Per “far dialogare” i dati del progetto con internet viene usato Adafruit IO ( Welcome to Adafruit IO ). Sarà necessario configurare un account, dopo di che cliccando sulla finestra Feed si creerà un nuovo spazio, chiamato, per esempio,  "Cheekmate". È necessario prendere nota della chiave assegnata al feed, necessaria durante l’impostazione del codice. Il passo successivo è creare una dashboard, l'interfaccia per l'immissione di dati nel feed. Dove il complice scriverà le mosse suggerite dall'IA.

Codice CircuitPython

Il codice per questo progetto è disponibile sia per CircuitPython, sia per Arduino. Possono essere usati entrambi. Basta creare un nuovo file sull'unità CIRCUITPY, chiamato secrets.py. Bisogna poi sostituire il wifi_network_name e wifi_password con il nome o “SSID” della propria rete wireless e la password per l'accesso, e cambaire anche l’ adafruit_io_username  e adafruit_io_key  con il proprio nome e la chiave univoca prodotta durante la Configurazione di Adafruit IO.

Qui i codici da copiare per programmare su Python: https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Cheekmate/CircuitPython/code.py

Qui i codici da copiare per programmare su Arduino: https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Cheekmate/Arduino/Cheekmate/Cheekmate.ino

 

ADAFRUIT.COM | codici di programmazione
ADAFRUIT.COM | codici di programmazione

Il test

Una volta acceso, il dispositivo impiegherà circa 20 secondi per connettersi alla rete wireless e autenticarsi con Adafruit IO. Se funziona emetterà un lungo ronzio e accenderà il Led di bordo. Se non avviene potrebbe esserci un problema con le credenziali del WiFi, di Adafruit IO, oppure con il cablaggio tra la scheda e il driver del motore A questo punto basterà scegliere la dashboard Cheekmate creata su Adafruit IO, digitare un breve testo e ricevere sul proprio dispositivo (quello che il giocatore di scacchi porterebbe con sè), il messaggio tradotto in codice Morse. Messaggio che verrà ripetuto tre volte di fila.

Il problema della vibrazione

Il circuito e la dashboard sono semplici, sia da costruire, sia da codificare. Si possono anche costruire sistemi più complessi per comunicare durante una partita. Rimane però il problema della vibrazione. Se è forte, rischia di essere percepita all'esterno, se troppo debole, invece, potrebbe essere mal interpretata dal giocatore. Non solo, anche i metal detector potrebbero intercettare il dispositivo

281 CONDIVISIONI
autopromo immagine
Più che un giornale
Il media che racconta il tempo in cui viviamo con occhi moderni
api url views