je fabrique un instrument de musique
un genre de basse électronique percussive
je compte mettre 2 piezos (percussion main droite) et 3 capteurs de position (mélodie sur le manche, main gauche)
ça ferait 7 câbles à tirer jusqu'à l'arduino du coup (1 5v, 1 masse, 2 piezo et 3 cv)
ça fait un câble de + qu'un câble midi, dommage (j'avais prévu le coup comme ça à la base avec un boitier arduino + carte son externe)
je pensais utiliser 2 entrées de ma carte son pour les piezos et 3 analog in arduino pour les capteurs
traitement sonore dans max msp
l'alternative à laquelle je pense serait d'utiliser un arduino bluetooth intégré dans le corps de l'instrument
comme ça pas de galère de câble
quelqu'un à testé bluetooth ?
temps de latence ?
stabilité ?
portée ?
du coup je connecte logiquement mes piezos direct à l'arduino
mais les tests que j'ai effectué avec duemilanove donne pas grand chose via maxuino les valeur d'analog in sont justes étranges
je trouve pas trop d'info sur maxuino + piezo en fait
si quelqu'un à une idée, c'est merci
Hors ligne
la gueule de la bête :
c'est plus serré que ça en a l'air
je vais peut-être réduire mes ambitions et me contenter de 2 capteurs de position et d'un câble midi ça serait plus simple à tous les niveaux ...
Hors ligne
je vais rester sur une idée d'ukulélé wireless
en plus d'être sexy ça m'offre plus de possibilités
je pense quand même qu'arduino bluetooth est relativement fait pour ça, mais sinon on m'a conseillé xbee
je capte pas tout sur le site
mais ça a l'air un poil plus cher quand même
quel serait l'intérêt par rapport à un arduino bt ?
Hors ligne
Hello,
Je crois que le xbee revient moins cher
avec arduino bluetooth, il te faut : un arduino bt + 1 clé usb bluetooth : 160$
avec le xbee : 2 modules xbee, 1 kit adaptateur xbee pour arduino, 1 cable usb/ttl, 1 arduino = 2 x 23 + 10 + 20 + 30 : 106$
arduino bluetooth : http://www.sparkfun.com/commerce/produc … ts_id=8255
xbee module : http://www.adafruit.com/index.php?main_ … cts_id=128
xbee adapter kit : http://www.adafruit.com/index.php?main_ … cts_id=126
usb ttl 232 cable : http://www.adafruit.com/index.php?main_ … ucts_id=70
arduino atmega : http://www.adafruit.com/index.php?main_ … ucts_id=50
Sur l'utilisation du xbee avec arduino, pas mal de choses ici : http://www.ladyada.net/make/xbee/
En pièce jointe un article de Tom Igoe sur l'utilisation de xbee (sans arduino!)
Hors ligne
merci pour cette réponse
j'ai déjà du bluetooth côté ordi en fait
ce que je comprends avec xbee :
dans mon ukulélé j'aurais besoin de glisser un arduino duemilanove + un arduino xbee shield + un xbee module
et côté ordi un xbee adapter kit + un usb ttl 232 cable + un autre xbee module
j'ai bon ?
ça me simplifie pas le schmilblick j'ai l'impression
je pensais pouvoir gagner en consommation électrique mais vu que j'aurais quand même un arduino dans l'ukulélé ça doit consommer presque autant au final
et surtout j'ai pas trop de place dans l'instrument, j'ai déjà façonné le corps en bois
du coup je vais quand même faire simple et commander le bt je crois
Hors ligne
quoique si je me réfère au scéma de la 2e page de l'article d'Igoe, j'ai l'impression qu'il branche direct l'accéléromètre au module xbee
donc quid de l'utilité d'un arduino dans ce cas ?
je pourrais brancher direct capteurs de positions et piezzi au module xbee et alimenter avec 2 piles, ça me ferais moins de bordel embarqué et moins de conso électrique ?
Hors ligne
kro a écrit:
et côté ordi un xbee adapter kit + un usb ttl 232 cable + un autre xbee module
Ah oui, j'avais oublié cet adapter... Ce qui revient à 116$ + quelques composants
Le xbee shield n'est pas obligatoire, tu peux relier l'adaptateur directement (d'après http://www.ladyada.net/make/xbee/arduino.html ):
Sinon comme shield, il y aussi ces kits : http://www.nkcelectronics.com/freeduino … d-kit.html
Bon c'est vrai qu'en fin de compte, ça fait pas mal de bricole...
kro a écrit:
j'ai l'impression qu'il branche direct l'accéléromètre au module xbee
Oui, je suppose que l'accéléromètre fournit des signaux adaptés au xbee, à priori les xbee ont "9 input/output lines for analog and digital IO" ce qui permet de relier directement pas mal de choses, si ça te suffit pas besoin d'arduino (voir http://www.makingthings.com/documentati … -all-pages )
Hors ligne
Le xbee n'a pas des meilleures propriétés par rapport au bluetouth : genre portée du signal, débit plus constant...
Hors ligne
emoc a écrit:
les xbee ont "9 input/output lines for analog and digital IO" ce qui permet de relier directement pas mal de choses, si ça te suffit pas besoin d'arduino (voir http://www.makingthings.com/documentati … -all-pages )
lecture instructive !
ça m'aurait l'air de fonctionner sans arduino du coup
merci emoc
mais je vais utiliser le bt quand même, parce que j'ai plus l'habitude d'arduino et que j'aurais pas besoin de boitier supplémentaire (la mobilité et la disponibilité des ports usb est un point important vu le bordel que je me trimbale à chaque live)
merci à vous je commande le bt pour le moment puis je vous tiens au jus
Hors ligne
argh
ça y est j'ai tout construit
je fais des essais depuis hier mais les piezos capteurs de chocs me donnent du fil à retordre.
schéma :
j'ai trouvé deux sortes de codes pour gérer les piezo knock sensors
const int threshold = 100; // threshold value to decide when the detected sound is a knock or not // these variables will change: int sensorReading = 0; // variable to store the value read from the sensor pin int ledState = LOW; // variable used to store the last LED status, to toggle the light void setup() { pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT Serial.begin(9600); // use the serial port } void loop() { // read the sensor and store it in the variable sensorReading: sensorReading = analogRead(knockSensor); // if the sensor reading is greater than the threshold: if (sensorReading >= threshold) { // toggle the status of the ledPin: ledState = !ledState; // update the LED pin itself: digitalWrite(ledPin, ledState); // send the string "Knock!" back to the computer, followed by newline Serial.println("Knock!"); } delay(100); // delay to avoid overloading the serial port buffer }
http://arduino.cc/en/Tutorial/Knock
et
// deal with first piezo, this is kind of a hack val = analogRead(piezoAPin); if( val >= PIEZOTHRESHOLD ) { t=0; while(analogRead(piezoAPin) >= PIEZOTHRESHOLD/2) { t++; } noteOn(drumchan,note_hihatopen, t*2); delay(t); noteOff(drumchan,note_hihatopen,0); }
http://todbot.com/blog/2006/10/29/spook … l-arduino/
là il s'agit d'estimer la force de frappe en fonction du temps que met l'onde à redescendre
ce que je trouve peu logique car on aura plutôt une notion de la fréquence que de la vélocité
d'ailleurs dans mes tests c'est vraiment pas convainquant
du coup je suis pour l'instant sur le premier système :
sensorReading_0 = analogRead(piezo_0); if(sensorReading_0 >= threshold) { Serial.print("/piezo_0/"); Serial.println(sensorReading_0); delay(60); }
je crois que le problème vient surtout d'un manque de sensibilité (la vitesse de communication serial ne permet pas une analyse externe du signal, je loupe 3 knocks sur 4)
sur le duemilanove en ne branchant qu'un piezo avec sa résistance les chocs électriques que j'envoie oscillent entre 1 et 20 (sur 1024) et ça fonctionne
mais sur le bluetooth j'ai un gros buzz (même en débranchant les capteurs de positions) et toujours des valeurs entre 0 et 10 ce qui m'empêche de réduire le threshold en dessous de 10, du coup très peu de sensibilité
(pourtant en branchant en même temps le piezo à l'entrée de ma table de mix le buzz n'est pas si énorme, à moins qu'il ne soit pas dans les fréquences audibles)
je me demande si il y aurait un méthode pour réduire ce buzz que je n'ai pas sur le duemilanove
(par ex relier la masse qui alimente l'arduino avec celle que sort l'arduino serait une très mauvaise idée ? je m'y connais pas tant en électricité)
Hors ligne
kro a écrit:
pourtant en branchant en même temps le piezo à l'entrée de ma table de mix le buzz n'est pas si énorme, à moins qu'il ne soit pas dans les fréquences audibles
après enregistrement et analyse du signal (en audio) j'ai bien un gros buzz de 50 hz
voilà un impact typique de piezo noyé dans le buzz :
pas si gros le buzz en fait : le volume est augmenté 16x à peu prés
ce buzz est présent même avec l'arduino éteint et les capteurs de position débranchés et augmente quand je m'approche de la bécane
Hors ligne
Hu, j'ai toujours voulu faire la même chose, mais je me suis jamais lancé...
Tu veux utiliser quoi comme capteurs de position ?
Sinon pour le buzz à 50Hz c'est probablement un problème de terre mais je peux pas t'en dire plus. Par contre ce que tu peux faire c'est filtrer ton signal, soit avec un band-stop centré à 50 Hz soit avec un passe-bas.
Ici (http://www.cannibalcaniche.com/forum/do … hp?id=5317) j'avais utilisé un capteur piezo, mais directement branché à la carte son. Et je n'utilisai pas de détection de pique mais directement le son de la frappe comme entrée dans un synthé à base de modélisation physique.
Hors ligne
Staross a écrit:
Tu veux utiliser quoi comme capteurs de position ?
http://www.interface-z.com/produits/cs1 … souple.htm
Staross a écrit:
Sinon pour le buzz à 50Hz c'est probablement un problème de terre mais je peux pas t'en dire plus. Par contre ce que tu peux faire c'est filtrer ton signal, soit avec un band-stop centré à 50 Hz soit avec un passe-bas.
ya pas de terre c'est un truc à pile (3x LR6)
le truc c'est que je pense pas que le buzz soit généré par le piezo mais carrément par l'arduino
genre j'ai le buzz même en branchant seulement une résistance entre la masse et l'analog in (des valeurs jusqu'à 8 en tout cas)
du coup je pense pas pouvoir filtrer ça
j'ai l'impression d'être mal barré là...
peut-etre en amplifiant un chuia le signal avant d'entrer plutôt
mais j'ai pas trop de place physiquement c'est très serré et j'ai que mon alim de 3 piles
je vais chercher un plan de mini preamp
sinon au pire je prend le duemilanove et je tire un usb de 5m
Hors ligne
Le problème est certainement l'absence de terre quelque part, mais je pige pas très bien ces trucs :
http://en.wikipedia.org/wiki/Ground_loop_(electricity)
Si c'est un buzz à 50Hz ça vient certainement du réseau éléctrique. Comment est-ce que tu branche l'arduino à ton ordi pour enregistrer le signal que tu montre au dessus ?
Le filtrage, tu peux le faire numériquement sur l'ordi, le signal au dessus est certainement utilisable tel quel.
Hors ligne
Pages: 1 2