Nunchuck con 328 in standalone non va più..

Che diamine!!
allora, attacco il nunchuck originale con l'adattatore all'arduino 2009, con la libreria WiiChuck.h e va alla grande (senza le resistenze di pull-up). (lo sto alimentando a 5V, lo so che non si dovrebbe, ma ho trovato molti siti dove si dice che al massimo accorcia la vita del nunchuck, però funziona bene..)

cmq, il problema sorge quando faccio la schedina per il 328 standalone, con l'osc da 16kHz, e i cond, come da manuale. ci metto come alimentazione una pila da 9V e un 7805. un LED per la presenza corrente all'uscita del 7805 (r da 220) e un LED sull'uscita digitale 8 per debug... va male.
nel senso che ora il roll del nunchuck mi da come uscita soloo 0 o 127, a seconda se inclino ovviamente a sx o dx.
purtroppo non ho nemmeno un tester con me in questi gg, quindi non so bene come controllare.
ho provato anche a mettere le resistenze di pull-up, ma non cambia, quindi penso non c'entri..

è un problema noto? o devo pensare di aver fatto fuori l'accelerometro?
in realtà il pitch funziona ancora bene, è solo il roll che mi da questo problema, e in quella libreria cmq il roll è dato dall'accelerometro X in combinazione con quello Z.

idee?
grazie.

dab77:
lo sto alimentando a 5V, lo so che non si dovrebbe, ma ho trovato molti siti dove si dice che al massimo accorcia la vita del nunchuck, però funziona bene

Io li farei chiudere subito quei siti, ma possibile che ascoltate sempre le "cazzate" dette dal primo blogger che passa e non date mai ascolto a chi sa veramente le cose ?
Secondo te se sul data sheet di un componente c'è scritto che DEVE funzionare al massimo a 3.6V è una cosa logica farlo funzionare a 5V ?
Non è assolutamente vero che gli accorci la vita, lo distruggi in tempi brevissimi, bastano da pochi minuti a poche ore per mandare quel componente nel paradiso del silicio.
Il Nunchuk originale ha già le pull up integrate, non serve metterle.

è un problema noto? o devo pensare di aver fatto fuori l'accelerometro?

Bye Bye Nunchuk, ecco quello che succede a non dare a retta a chi l'elettronica la conosce sul serio per dare credito al primo ciarlatano che scrive solo per riempire le pagine del suo blog.

Grazie della ramanzina, non avrei saputo farne a meno.

Il Datasheet non l'avevo letto.
Ho sbagliato a fidarmi, ma ricordo di averlo letto su un sito affidabile (non ricordo purtroppo dove..)

cmq l'accelerometro non è andato. leggendo i valori raw, l'asse x mi restituisce valori da -167 a +217 circa.. e con lo zero al centro.

cmq il risultato da 'funzionante' era questo:

e qui il mio codice:

#include <math.h>

#include <Wire.h>
#include <WiiChuck.h>

#define MAXANGLE 90
#define MINANGLE -90

int St_Led = 8;

int AR = 0;
int AP = 0;
int JX = 0;
int JY = 0;
int BZ = 0;
int BC = 0;
int BCZ = 0;

WiiChuck chuck = WiiChuck();
int angleStart, currentAngle;
int tillerStart = 0;
double angle;

void setup() {
  //nunchuck_init();
  //Serial.begin(9600);      // debug Terminal Baud-Rate
  Serial.begin(31250);   // show MIDI Baud-Rate
  lampeggia();
  lampeggia();
  
  chuck.begin();
  chuck.update();
  //chuck.calibrateJoy();
  
  pinMode(St_Led,OUTPUT);
  digitalWrite(St_Led, LOW);
  delay(300);
  lampeggia();
  lampeggia();
  lampeggia();
  lampeggia();
  lampeggia();
}


void loop() {
  delay(20);
  chuck.update(); 
    
  AR = map(chuck.readRoll(),-80,80,0,127);
  if (AR < 0) {
    AR = 0;
  }
  if (AR > 127) {
    AR = 127;
  }
  AP = map(chuck.readPitch(),0,140,0,127);
  if (AP < 0) {
    AP = 0;
  }
  if (AP > 127) {
    AP = 127;
  }
  JX = map(chuck.readJoyX(),-120,120,0,127);
  if (JX < 0) {
    JX = 0;
  }
  if (JX > 127) {
    JX = 127;
  }
  JY = map(chuck.readJoyY(),-117,118,0,127);
  if (JY < 0) {
    JY = 0;
  }
  if (JY > 127) {
    JY = 127;
  }
  
  if ((chuck.zPressed()) && !(chuck.cPressed())) {
    BZ = 127;
  }
  else {
    BZ = 0;
  }
  if ((chuck.cPressed()) && !(chuck.zPressed())) {
    BC = 127;
  }
  else {
    BC = 0;
  }
  if (chuck.zPressed() && chuck.cPressed()) {
    BCZ = 127;
    digitalWrite(St_Led,HIGH);
  }
  else {
    BCZ = 0;
    digitalWrite(St_Led,LOW);
  }
  
  

  MIDI_TX(176,16,AR);
  MIDI_TX(176,17,AP);
  MIDI_TX(176,18,JX);
  MIDI_TX(176,19,JY);
  MIDI_TX(176,20,BC);
  MIDI_TX(176,21,BZ);
  MIDI_TX(176,22,BCZ);


/*
  Serial.print("AR: ");
  Serial.print(AR);
  Serial.print(" AP: ");
  Serial.print(AP);
  Serial.print(" JX: ");
  Serial.print(JX);
  Serial.print(" JY: ");
  Serial.print(JY);
  Serial.print(" BZ: ");
  Serial.print(BZ);
  Serial.print(" BC: ");
  Serial.print(BC);
  Serial.print(" BCZ: ");
  Serial.println(BCZ);
  */
}

void MIDI_TX(unsigned char MESSAGE, unsigned char CONTROL, unsigned char VALUE) 
{
  Serial.print(MESSAGE);
  Serial.print(CONTROL);
  Serial.print(VALUE);
}

void lampeggia() {
  digitalWrite(St_Led, HIGH);
  delay(100);
  digitalWrite(St_Led, LOW);
  delay(100);
}

Grazie.

cmq, l'avevo letto qui:
http://www.windmeadow.com/node/42

e il link l'ho preso dentro il file WiiChuck.h che sarebbe la libreria che si trova nel playground...

nei commenti nel link uno dice che nel datasheet del chip si consiglia di alimentare a 3,3V , perchè a 5V i risultati sono un pò diversi...
IO il datasheet purtroppo ancora non l'ho letto, ma sembravano suggerimenti affidabili, non credi?

cmq, assolutamente daccordo che una periferica detta per lavorare a 3,3V va ASSOLUTAMENTE fatta lavorare a 3,3V. io l'ho fatto coscente di poter fo***re il nunchuck.

ciao!

dab77:
nei commenti nel link uno dice che nel datasheet del chip si consiglia di alimentare a 3,3V , perchè a 5V i risultati sono un pò diversi...
IO il datasheet purtroppo ancora non l'ho letto, ma sembravano suggerimenti affidabili, non credi?

Un sito che consiglia di alimentare a 5V un device che va a 3.3V non è affidabile, è un errore troppo macroscopico per essere considerato trascurabile.
L'elettronica è una scienza esatta, anche se permette molte tolleranze e libertà, il non rispettare le specifiche dei componenti porta solo problemi, rotture, perdite di tempo e di soldi.
Chi dice che una cosa gli funziona anche se sta violando le specifiche o è un ciarlatano oppure è un ignorante, elettronicamente parlando, che farebbe meglio a starsene zitto.
Ti sembro troppo duro e rigido su questa cosa ? Hai perfettamente ragione, ma ho visto troppe volte gente buttare soldi, molti, e tempo, tantissimo, perché ha dato retta a questi buffoni.

No, anzi, non posso che concordare con te.

cmq, per tornare alla questione, ho ordinato un altro nunchachetto, che sicuramente è partito l'accelerometro.
ho fatto delle misure ed ora da dei valori troppo sballati. inutilizzabile l'asse x...
lo terrò per sviscerarlo!

grazie, cmq.
Ciao!

p.s. almeno il progetto ti piace?
immagino sia stato già realizzato altrove, cmq su richiesta di mio fratello, musicista, è un controller midi per modificare i suoni live. agisce su 7 Control Change indipendenti.

ari ciaps!

Da profano, ma se quell'aggeggio ogni volta che lo muovi cambia effetti e valori, come fai a trovare uno e lasciarlo stabile? O non serve?
Mi spiego, nel video hai alzato il Nunchaku (visto come lo hai alimentato, penso che tu lo consideri più un'arma da combattimento che un controller :grin:) ed hai ottenuto un certo effetto, se ora tu volessi lasciarlo "memorizzato", come potresti fare, visto che appena lo rimuovi si mette a fare altro?

ne ho ordinato uno perche' viene nominato dappertutto sto coso, cosi' faccio un po' di prove
quello del video mi sembra usato come teremin, ma effettivamente se parliamo di strumento musicale la replicabilita' del suono e' importante, altrimenti mettiamo i bimbi a suonare e si fa prima :slight_smile:

eh.. in questo caso no, serve per modificare il suono dal vivo, cioè mentre suoni. il suono cambia con l'inclinazione del nunchuck. ma è più una cosa di sensazione, non serve la ripetibilità.
un pò come un pedale del volume o di un distorsore, o un wah-wah alla 'jimi hendrix'.

capisco (suono anche io, la batteria)
ma visto che in genere il musicista ha le mani impegnate lo dovrebbe usare il tecnico al mixer ?

bè, sono due cose diverse.. è più simile all'utilizzo di un Vocoder. o del joystick di pitch e modulation control che sta su ogni tastiera.
tu con la mano destra suoni e con la sinistra modifichi a 'gusto' i suoni live.
magari quando lo finisco faccio un video più funzionale.

ciao!

ottimo,
mi ricollego al post per chiedere, quello che ho ordinato io costa sui 3 euro, ho visto che sul forum si e' trattato il modello "farlocco", il tuo come e' ?

io ho preso a 10€, sped gratuita, quello originale (importazione orientale) da un rivenditore italiano sulla baia.
non ho esperienze con le copie.
visto che il primo l'ho rotto (mea culpa) ne ho presi altri 2 dallo stesso rivenditore, in 3 giorni l'avevo a casa.
ora purtroppo sono fuori per lavoro e non potrò rimetterci le mani se non tra 2 settimane.
ciao!