Official topic: multicotteri con arduino!

fate attenzione quando usate il WMP!! quì Wiimote/Extension Controllers/Wii Motion Plus - WiiBrew dice che ci sono 3 bit (uno per asse) detti di lentezza. Se sono a 0 l'asse è in lettura veloce, quindi sensibilità di 2.27mV/°/s, altrimenti la sensibilità è 0.5mV/°/s.
Quindi la lettura viene fortemente influenzata da questo particolare. In oltre la tolleranza è di 50mV. Il codice che mi son scritto per ricavare la velocità angolare in gradi:
(midValue[] è il valore medio di 1000 letture in fase di calibrazione per ogni asse, numberToVoltage[] = 1.35V/midValue[], ovvero il rapporto per trasformare il valore letto in Volt)

data[0] = ( (((outbuf[3]>>2)<<8) + outbuf[0]) - midValue[0] )*numberToVoltage[0];
    data[1] = ( (((outbuf[4]>>2)<<8) + outbuf[1]) - midValue[1] )*numberToVoltage[1];
    data[2] = ( (((outbuf[5]>>2)<<8) + outbuf[2]) - midValue[2] )*numberToVoltage[2];
if (abs(data[0]) > 0.05){
      if ( outbuf[3] & B00000010 ){
        //slow speed        
        data[0]*=500;
      }
      else{
        data[0]*=2270;
      }
    }
    else{
      data[0]=0;
    }

    if (abs(data[1]) > 0.05){
      if ( outbuf[4] & B00000010 ){
        //slow speed        
        data[1]*=500;
      }
      else{
        data[1]*=2270;
      }
    }
    else{
      data[1]=0;
    }

    if (abs(data[2]) > 0.05){
      if ( outbuf[3] & B00000001 ){
        //slow speed
        data[2]*=500;
      }
      else{
        data[2]*=2270;
      }
    }
    else{
      data[2]=0;
    }