Bolla elettronica..........

Ciao a tutti, avrei in mente un progetto da sviluppare con arduino, però mi servirebbe un componente che faccia la funzione di bolla elettronica. Esiste qualcosa? Io già un paio di anni fa acquistai una bolla elettronica (che però non posso smontare) precisissima, quindi vuol dire che qualche sorta di componente che mi sappia dire con che inclinazione è messo dovrebbe esistere. Ho fatto svariate ricerche ma non ho trovato nulla, forse perchè non uso i termini adatti :( Mi sapreste indicare qualcosa? Grazie.

ti serve un accelerometro, con molta precisione (molti °/V), però poi ti serve anche un buon convertitore analogico/digitale che quello di arduino è "solo" 10 bit. Potrebbe bastare anche arduino da solo, dipende dalla precisione che vuoi ottenere

Cosa intendi per precisione? Non mi serve moltissima precisione, anche se la bolla fosse sbagliata di mezzo millimetro, per quello che devo fare mi potrebbe andare bene lo stesso. Dici che in questo caso si può fare solo con arduino e un accelerometro? Che accelerometro mi consiglieresti? Si potrebbe fare qualcosa anche con il nunchuck o il telecomando della wii, visto che ho qualcosa che potrei recuperare da un telecomando rotto? Grazie.

certo, il nunchuck secondo me è un'ottima base di partenza. ah 3 assi quindi volendo puoi misurare addirittura angoli a 3 dimensioni, ovvio che la conoscenza di trigonometria necessaria aumenta. Pensando ad un angolo solo, il principio è semplice: l'accelerometro legge sempre la gravità, se fermo o in moto costante. quindi se leggi mezza gravità, facendo l'arcoseno o l'arcocoseno di 0,5 ottieni i gradi di inclinazione. avari qualche problema con le letture perchè non sono un numero fisso ma oscillante, e magari vorrai fare anche un tastino di "set" che considera 0 l'angolo attuale anzichè dove la gravità vale 1G . Attento che con un asse solo fai letture da -90 a 90 gradi, con un secondo asse controlli semplicemente se sommare 180° perchè l'accelerometro è sottosopra. Le formule per passare da voltaggio a G le trovi sul datasheet, quì trovi qualcosa di simile ma con un'altra marca di sensori: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1288017475/15#15

Ti ringrazio del chiarimento, ora mi metto a fare un po' di prove :)

ah ho detto una cazzata, come al solito :-) non servono 2 assi per le letture "sottosopra" giuste, semplicemente vedrai una G negativa ;D il secondo asse ti serve per vedere se l'inclinazione è oraria o antioraria o meglio la storia dipende da come metti l'accelerometro, io do per scontato che in caso di riposo legge G (ovvero verticale) altrimenti puoi usarlo in orizzontale e con un asse solo hai il problema descritto prima che non capisci se è sottosopra... 8-)

Non preoccuparti, visto il mio livello anche se mi dite cazzate io non me ne accorgo ;D Appena ho un secondo inizio a sperimentare un pochino. L'unico dubbio che ho, è se l'accelerometro sa già di suo appena acceso qual'è l'orizzonte oppure se quando viene acceso deve essere messo perfettamente in bolla per prendersi il livello iniziale.

niente set, l'accelerometro legge la gravità, (anche le accelerazioni ma per ora non preoccupiamocene, sappi che devi tenere la bolla ferma per qualche millesimo di secondo o la misurazione sballa :-) ) dato che legge la gravità, se legge g=1 allora è verticale, se legge G=0 è orizzontale, se legge G=-1 è al contrario. attento! 0.5 NON è 45° bensì arcsin(0.5)=gradi attuali, quì serve un po' di trigonometria. il punto è che leggi un semicerchio, quindi 180° per sapere in che metà di semicerchio ti trovi ti serve un secondo accelerometro(o un secondo asse di accelerometro, stessa cosa) certo, se vogliamo la precisione bisogna dire che in base alla temperatura e altri fattori il sensore potrebbe sballare... ma è veramente poco(credo) ;)

Grazie ancora, non vedo l’ora di iniziare a sperimentare :smiley:

Se vuoi un po' di codice per l'ADXL345...

http://www.varesano.net/blog/fabio/new-homebrew-diy-breakout-board-pcb-adxl345-accelerometer http://www.varesano.net/blog/fabio/exploring-advanced-features-adxl345-accelerometer-single-double-tap-activity-inactivity-f http://www.varesano.net/blog/fabio/my-first-6-dof-imu-sensors-fusion-implementation-adxl345-itg3200-arduino-and-processing

Grazie dei link. Nel frattempo, ho sperimentato un po' con il nunchuck ed ho anche avuto una bella soddisfazione: http://www.vimeo.com/17321892 :D

Bello, che tipo di motori utilizzi?

Motori? Sono dei semplicissimi servocomandi cinesi :)

bellissimo, funziona da dio!! i valori sono quellli che escono dal nunchuck o fai una media?

In realtà il programma che ho scritto è molto grezzo, non ho fatto medie e nemmeno guardato i valori massimi e minimi. Ho usato la funzione map, mettendo dei valori empirici finchè ho visto che funzionava discretamente. Anche perchè, questo mi serve solo per capire il funzionamento per un altro progetto che ho in mente che non è sicuramente quello di far muovere due servo in base al movimento del nunchuck :)

ciao sono un neofilo potresti condividere lo schema e il software io cercavo proprio una cosa simile mantenere un piano in bolla sui due assi x e y ti ringrazio fin d'ora

Per me non è un problema condividere, il problema è che non ho ancora fatto nulla in merito e che comunque il mio era un progetto più semlice perchè mi bastava tenere in bolla una semplice asta. Comunque, appena farò qualcosa sicuramente condividerò il tutto :)

a me basterebbe quello che hai fatto sul video scusa se rompo ho recuperato un nunchuk servi ne ho in quantita..

No problem, il codice di quel lavoro l'ho già postato in questa discussione: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1290269690/0

Ciao.