«

»

Lug 23

Stampa Articolo

Arduino nunchuck non originale

Rientrato dalla pausa estivami ricollego subito all’ultimo articolo pubblicato parlando di Arduino nunchuck.

beginner kit nunchuck adattatore montato

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:


Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/arduino-nunchuck-non-originale.html

3 comments

  1. Angelo

    Caspita, visto solo adesso 😉

  2. Angelo

    Vorrei precisare che solo il Nunchuk e cinese comprato da Game stop, l’arduino e originale. 😀

    1. Mauro Alfieri

      Grazie 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>