Bonjour, je souhaite utiliser un capteur ultrason (HC-SR04) dans Pd avec le firmata
avec cette librairie arduino (et sansp donc) cela marche bien
http://code.google.com/p/arduino-new-pi … n=2&q=
j'essaie donc en lisant le .h de faire la meme dans pd : (avec un pduino utilisant le standart firmata chargé sur arduino)
il ya 4 pin : Vcc, trig, echo,Gnd
donc je branche en trigger (envoie d'une impulsion) sur ma pin 12
et je recoit en digital in sur la 11 l'echo.
et j'essaie de mesurer avec un timer (ou realtime) la durée entre l'impulsion et la reception...
et ensuite je multiplierai par vitesse du son...
sauf... que je recoit bien quelquechose... quand il n'ya rien devant le capteur
et je recoit une valeur proche de zero... quand je met quelquechose devant le capteur...
_______ bref la question est : (tadammm) !
Avez vous deja avec firmata utilisé un capteur ultrason ?
Hors ligne
up !
Hors ligne
Je n'ai jamais utilisé de capteur ultrason avec arduino, mais si le capteur te renvoie un nombre d'autant plus faible qu'il est proche de quelque chose, tout va bien, non ? Il suffit de corréler ça avec une distance pour pouvoir l'utiliser.
Hors ligne
Bonjour, avez-vous consulté ce message ?
http://codelab.fr/3821
J'avais pu faire fonctionner un télémètre à ultrason après quelques déboires. Il s'agit d'un autre modèle, mais cela devrait fonctionner de la même façon, non ?
Hors ligne
Je confirme cela marche avec un capteur HC-SR04
En utilisant effectivement la bibliothèque NewPing et en utilisant le code de Pertuit pour récupérer la valeur de distance dans son programme puredata.
Et sinon j'ai essayé avec firmata, mais cela ne marche pas.
Hors ligne
Systeme friche tu es à marseille la friche ?
Passe donc on est au LFO...
et oui le HC-SR04 marche bien
http://www.instructables.com/id/Simple- … 4-Example/
ensuite en recuperant la valeur envoyé en série par comport...
neanmoins j'aimerai bien le faire marcher par firmata : mais les micro secondes...
du codes suivant sont je pense pas possible a traiter dans pd via le firmata...
#define trigPin 13 #define echoPin 12 #define led 11 #define led2 10 void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(led, OUTPUT); pinMode(led2, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); // Added this line delayMicroseconds(2); // Added this line digitalWrite(trigPin, HIGH); // delayMicroseconds(1000); - Removed this line delayMicroseconds(10); // Added this line digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; if (distance < 4) { // This is where the LED On/Off happens digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off digitalWrite(led2,LOW); } else { digitalWrite(led,LOW); digitalWrite(led2,HIGH); } if (distance >= 200 || distance <= 0){ Serial.println("Out of range"); } else { Serial.print(distance); Serial.println(" cm"); } delay(500); }
Hors ligne