Rientrato dalla pausa estivami ricollego subito all’ultimo articolo pubblicato parlando di Arduino nunchuck.
Sai che sono contro le cose non originali perché credo nel diritto d’autore e sul sostegno delle aziende che investono in ricerca e sviluppo per fornirci prodotti sempre nuovi e innovativi, se non sosteniamo le aziende originali queste a lungo andare chiuderanno o non svilupperanno più nulla di innovativo per il tuo diletto.
E’ il caso del nunchuck largamente imitato come lo stesso arduino da ditte che copiano senza innovare e senza aggiungere nulla di nuovo e innovativo al prodotto.
Fatta questa premessa so che alcuni maker pur di risparmiare 10/15 euro sono disposti ad acquistare prodotti non originali come ha fatto Angelo che ha commentato uno dei miei articoli sul nunchuck chiedendomi come risolvere il problema da lui riscontrato di malfunzionamento dell’arduino nunchuck non originale.
Non possedendolo non mi è stato possibile aiutare Angelo, che armato di tanta pazienza ha trovato un interessante articolo sul nunchuck non originale ed ha voluto condividere la modifica al codice, che riporto di seguito.
Sketch arduino nunchuck
Angelo scrive:
Allora dopo tanto sbattimento e dopo tanto chiedere e cercare, smenbrato un nunchuck , ho scoperto, letto ,imparato, che il protocollo di comunicazione del nunchuck è i2c il quale specifica la modalità di accesso alla periferica (ovviamente per me è una scoperta ma per voi sara cosa risaputa :D) quindo 0 in scrittura e 1 in lettura.
per farla breve mentre nel nunchuck originale la esequenza di inizializzazione è:
[I2C Start] 0xA4 0×40 0×00 [I2C Stop]
in quelli di marca cinese diventa questa:
[I2C Start] 0xA4 0xF0 0×55 [I2C Stop]
Quindi ho modificato il codice:
\\stringhe nunchuck nintendo Wire.beginTransmission(0×52); Wire.send(0×40); Wire.send(0×00); Wire.endTransmission(); \\stringhe nunchuck farlocco Wire.beginTransmission(0×52); Wire.send(0xF0); Wire.send(0×55); Wire.endTransmission(); delay(1); Wire.beginTransmission(0×52); Wire.send(0xFB); Wire.send(0×00); Wire.endTransmission();
ovviamente e solo un pezzo.
Ciò implica che, ho trovato e incrociato varie info.
Ringrazio Angelo per aver voluto condividere il suo risultato e ti lascio il video che Angelo mi ha inviato in merito a questo argomento:
3 commenti
Caspita, visto solo adesso 😉
Vorrei precisare che solo il Nunchuk e cinese comprato da Game stop, l’arduino e originale. 😀
Autore
Grazie 🙂