Sensore per beccheggio e imbardata

Salve ragazzoni, mi serve un consiglio per un sensore. Avete tutti presente l'immagine cinematografica di un pirata con il fido pappagallo sulla spalla? Nel mio progettino invece del pappagallo c'è un cannone al plasma (è necessari specificare che è finto?!?). Vorrei sincronizzare i movimenti del cannone con quelli della testa per fare una specie di sistema di puntamento, quindi farlo muovere in sincronia in base a dove guardo. Sto provando con un imu (MCP-6050) e per il beccheggio va benissimo ma non riesco a ricavare l'angolo di imbardata perchè non c'è un magnetometro integrato. Non mi servono movimenti precisi al decimo di grado, non è previsto centrare i moscerini della frutta.... sapete se in qualche modo è possibile usarlo? Qualora non fosse possibile che modulo mi consigliate per ricavare beccheggio e imbardata senza fare troppi salti mortali? Grazie

pelletta: Avete tutti presente l'immagine cinematografica di un pirata con il fido pappagallo sulla spalla?

Non ci credo, secondo me lo fai che funziona :grin:

Detta la mia scemata, se puoi alla fine fai una foto ? Sono curioso di quel che stai facendo.

Ti faccio vedere il video della meccanica che sto progettando, quando ho registrato non avevo l'imu collegato www.youtube.com/watch?v=HPSz457TK_Y

pelletta: Sto provando con un imu (MCP-6050) e per il beccheggio va benissimo ma non riesco a ricavare l'angolo di imbardata perchè non c'è un magnetometro integrato.

Si può fare anche con il solo MPU6050, tanto non ti serve una superprecisione, però devi prevedere di fare un reset dei dati ogni qualche minuto per eliminare gli errori accumulati, in pratica basta che prevedi un pulsante che premi quando con la testa guardi davanti, fai il reset del MPU6050, o di tutto Arduino, e azzeri la posizione. C'è anche la possibilità, senza magnetometro, che va tutto bene poi improvvisamente la misura dell'imbardata comincia a muoversi lentamente, CW o CCW, anche se sei fermo, in questo caso fai il reset e la cosa si risolve. Non dirmi che stai realizzando il cosplay di un predator ? :)

pelletta: Ti faccio vedere il video della meccanica che sto progettando, quando ho registrato non avevo l'imu collegato

Avevo intuito giusto :) Però i servo non farli muovere in quel modo "osceno", prevedi delle rampe di accelerazione in modo da ottenere movimenti fluidi. Se ti serve aiuto per gestione del MPU650 fischia. :)

pelletta: ... cannone al plasma (è necessari specificare che è finto?!?). ...

No, ma per ottenere il supporto del forum e' necessario dimostrare che NON e' finto ... :P :D

astrobeed: ... Non dirmi che stai realizzando il cosplay di un predator ? :)

E' la prima idea che mi e' venuta in mente :P

Pelletta, ed usare leve e potenziometri agganciati alla maschera ? (o deve essere libera ?)

Sgamato subito, ok :slight_smile: Ebbene si, sto facendo un predator e dopo aver finito il computer da polso m'è venuta l'idea di aggiungere il cannone sulla spalla. Dato che l'appetito viene mangiando mentre prototipavo la scheda per il cannone ho aggiunto anche i comandi radio per attivarlo dal bracciale tanto per farlo più realistico.

@Etem: ho scartato sensori flex e potenziometri perchè l'elmo va tolto, ho fatto pure i tubi con il fumo per quando si stacca ;)

@Astrobeed: ogni aiuto è benvenuto, altrochè... anche se non è la pappa pronta mi va bene uguale, non sono il tipo che molla facilmente se c'è da impegnarsi.

Sono un perfezionista, mi piace fare le cose per bene. Se volete vi posso far vedere il computer e quanto ci ho lavorato per farlo. I movimenti dei servi erano davvero un'oscenità ma fidatevi, era solo un test

Bracciale smontato

|500x375

Bracciale completo

Tutto partorito in casa, con dolore. Dopo aver fatto fisicamente le schede le ho dovute pure modellare in 3d per calcolare gli ingombri

Bello, fatto anche bene …

Per la carica nucleare, cosa hai usato ? … (;))

Seriamente, pensavo che avessi il mascherone sotto semifisso con l’elmo rimovibile, e allora si sarebbe potuta sfruttare la struttura di supporto della maschera (il collare) per agganciare sulla nuca due potenziometri, un’astina che scorre un lineare per il beccheggio ed un rotativo per i movimenti laterali … ma se non c’e’, allora tocca usare per forza una IMU …

Fai l’intero costume ? … se si, sara’ un lavoro abbastanza lungo … i miei complimenti …

pelletta: @Astrobeed: ogni aiuto è benvenuto, altrochè... anche se non è la pappa pronta mi va bene uguale, non sono il tipo che molla facilmente se c'è da impegnarsi.

Oggi pomeriggio ti posto uno sketch per l'MPU6050 che ti permette di usarla in modo ottimale e ottenere l'assetto della IMU in modo molto stabile e preciso anche per l'imbardata.

@Astrobeed Con o senza interrupt? Scherzo! È solo una battuta!

vinsub: @Astrobeed Con o senza interrupt? Scherzo! È solo una battuta!

Assolutamente con interrupt :)

:’( :wink:

Etemenanki: Per la carica nucleare, cosa hai usato ? ... (;))

Perculato di mucillaggine e calcato anafestico, nelle giuste proporzioni.

@Astrobeed: grazie 1000 per la cortesia e fai pure con comodo, non c'è urgenza. Nel frattempo continuo a sperimentare, m'è venuta l'idea di provare a sistemare il drift dell'imbardata correggendo gradualmente l'angolo

In allegato uno sketch per Arduino, da compilarsi con IDE 1.6x, che gestisce in modo ottimale l’MPU6050 e fornisce in out sulla seriale i vari dati con diversi protocolli, quello che ti interessa è “OUTPUT_READABLE_YAWPITCHROLL”, attivo di default tramite @define, che invia sulla serial i valori dei tre angoli degli assi.
Per il tuo uso puoi eliminare tutta la parte di out sulla seriale e usare i valori degli angoli, contenuti in “ypr” con indice compreso tra 0 e 2, per controllare i due servo.
C’è anche uno sketch per Processing, che interessa a Nid, che ti permette di visualizzare graficamente, in stile strumentazione aeronautica, l’assetto rilevato dal MPU6050, il protocollo dati usati è quello attivo sullo sketch per Arduino, non devi fare altro che lanciare lo sketch processing, previa sistemazione della seriale usata da Arduino sulla riga “port = new Serial(this, “com5”, 115200);”, nel mio caso COM5, e goderti il risultato. :slight_smile:

Documents.zip (4.82 KB)

Dimenticavo, nello sketch Arduino per l'MPU viene usato l'address 0x69, "MPU6050 mpu(0x69);", a seconda del produttore della breakout l'address può essere 0x68 oppure 0x69, se non ti funziona con uno prova con l'altro. Devi anche collegare l'out interrupt del MPU al pin 2 (int0) di Arduino.

Tutto chiaro, grazie infinite. Tra poco provo ;)

Non riesco a decomprimere l'archivio, da voi va?

pelletta: Non riesco a decomprimere l'archivio, da voi va? [/quote

Devi usare un winrar recente, è compresso con Winrar 5.x