Detecteur d'obstacles

Accueil/Projets/Detecteur d'obstacles
Detecteur d'obstacles 2014-11-17T09:43:34+00:00

Accueil Forums Projets Detecteur d'obstacles

15 sujets de 1 à 15 (sur un total de 25)
  • Auteur
    Messages
  • Dsep
    Participant
    Nombre d'articles : 9
    #8015 |

    Dans le cadre des TPE, et des progrés scientifiques pour les aveugles, j’eus la bonne idées d’essayer de créer un detecteur d’obstacle avec des des fréquences variables mais j’utilise de l’Arduino; chose nouvelle pour moi.

    Je sais déjà le principe que je vais utiliser:

    Des émetteurs-recepteurs seront placés sur une casquette, relié a un Arduino et à des vibreurs, lorsque les ondes reçues descendent sous une certaine distances (environ 8m) le vibreur vibre moyennement et lorsque les ondes reçues descendent sous environ 2m le vibreur vibre très fort. Mais pour un souçi de compréhension pour l’aveugle, il aura 2 vibreurs (ou 3), 1 pour la gauche et l’un a droite.

    J’utilise la formule Vitesse=distance/temps soit Distance=vitesse*temps

    Pourriez vous m’aider pour ce projet car:

    Je ne sais pas utiliser Arduino :'(

    Comment faire que seul le vibreur Gauche ou Droit vibre en fonction des obstacles? Comment faire varier une résistance a frequence variable? Comment assigner une distance minimal pour que le vibreur marche?

    Désolé pour toutes ces questions :/

    Arduitronique
    Participant
    Nombre d'articles : 11

    Bonsoir Dsep,

     

    Ton projet en soit n’as pas l’air très compliqué. il te faut juste choisir le bon type de capteur. Je te conseille le HC SR-04, capteur de distance à ultrason souvent utilisé en robotique. Il te suffit de le doubler pour pouvoir avoir la droite et la gauche. Etant donné que sa sortie est 0-5 V, il te suffira, en fonction de la tension, de faire varier la tension d’alimentation de tes vibreurs. Et pour la distance l’ultrason ne va pas à plus de 4 m et au minimum 3 cm, ce qui est déjà raisonnable. Surtout pour éviter de se prendre un mur :).

     

    Pour moi c’est tout ce que je peux faire pour t’aider, la programmation d’arduino n’en est qu’à ses début pour moi, mais je pense que le site regorge de codeurs qui se feront surement un plaisir de t’aider. Si tu as des questions, n’hésite pas.

     

    Bonne chance pour ton TPE 😀

     

    A bientôt

    arnaud9212
    Admin bbPress
    Nombre d'articles : 118

    Comme l’a dit Arduitronique, la meilleure chose a faire est d’utiliser un capteur à ultrason compatibles Arduino, malheureusement, nous n’avons pas encore de tutoriel sur ce genre de dispositif mais si tu as des questions nous serons ravis de te répondre!!

    Dsep
    Participant
    Nombre d'articles : 9

    Je ne sais pas quoi dire a part que vous etes super 😀

    Pour les capteurs j’avais commandé des HC SR-04, mais après la où j’ai des problémes est dans la programmation car j’ai vraiment du mal, débutant :'( , de ce fait je ne sais ni cablé avec Arduino ou programmé Arduino :'(

    Est ce qu’il est possible de programmer de telle façon que en utilisant une résistance variable(rehostat) je puisse faire varier l’intensité d’un vibreur en fonction de la distance d’un obstacle?

     

    Merci pour vos réponses 😀

    arnaud39
    Admin bbPress
    Nombre d'articles : 81

    Tient voilà un code d’exemple :

    /* Utilisation du capteur Ultrason HC-SR04 */
    
    // définition des broches utilisées
    int trig = 12;
    int echo = 11;
    long lecture_echo;
    long cm;
    
    void setup()
    {
    pinMode(trig, OUTPUT);
    digitalWrite(trig, LOW);
    pinMode(echo, INPUT);
    Serial.begin(9600);
    }
    
    void loop()
    {
    digitalWrite(trig, HIGH);
    delayMicroseconds(10);
    digitalWrite(trig, LOW);
    lecture_echo = pulseIn(echo, HIGH);
    cm = lecture_echo / 58;
    Serial.print("Distancem : ");
    Serial.println(cm);
    delay(1000);<img style="background-image: none; float: none; padding-top: 0; padding-left: 0; margin-left: auto; display: block; padding-right: 0; margin-right: auto; border: 0;" title="image" src="https://itechnofrance.files.wordpress.com/2013/03/image_thumb18.png?w=254&h=265" alt="image" width="254" height="265" border="0" /> }

    Le fonctionnement du module est le suivant : Il faut envoyer une impulsion niveau haut (à + 5v) pendant au moins 10 µs sur la broche ‘Trig Input’; cela déclenche la mesure. En retour la sortie ‘Output’ ou ‘Echo’, va fournir une impulsion + 5v dont la durée est proportionnelle à la distance si le module détecte un objet. Afin de pouvoir calculer la distance en cm, on utilisera la formule suivante :

    distance = (durée de l’impulsion (en µs) / 58

    Dsep
    Participant
    Nombre d'articles : 9

    Merci beaucoup, je ne sais pas quoi dire, en tout cas merci beaucoup 😀

    Je vous tiens au courant de l’avancée du projet 😉

    Dsep
    Participant
    Nombre d'articles : 9

    Alors le projet avance à son rythme, j’ai ma carte Arduino Uno et un capteur (bon c’est pas le bon mais j’essaye) j’ai codé un programme mais il semble que le capteur ne soit pas le bon.

    Je tatonne encore 😀

    arnaud39
    Admin bbPress
    Nombre d'articles : 81

    Capteur qui n’est pas le bon ? Après les autres sont très bien aussi je pense tu dois avoir une doc c’est lequel ?

    Dsep
    Participant
    Nombre d'articles : 9

    Et bien c’était le DYP-ME007V2, mais là j’ai plus une question car je n’arrive pas à avancer dans mon projet, peut on faire varier la fréquence d’un potetiométre?
    Car le but de mon projet est d’avoir ds vibreurs qui vont vibrer de plus en plus fort lorsque un objet arrive, mais puis je alors utiliser 1 seul potetiométre avec 1 seul vibreur ou dois je utiliser plusieurs potetiométres avec plusieurs vibreurs?

    Merci en tout cas 😀

    arnaud9212
    Admin bbPress
    Nombre d'articles : 118

    Le potentiomètre doit être réglé manuellement or il me semble que tout se fera avec l’Arduino dans ton cas, donc pas besoin de potentiomètre, par contre, il te faudra relier tes vibreurs à un pin PWM de l’Arduino pour moduler le vibrations, si ils doivent tous vibrer de la même facon alors tu peux tous les relier entre eux, sinon tu les relie chacun à un pin différent
    Pour ton capteur, regarde du coté de cette librairie : http://code.google.com/p/arduino-new-ping/

    Dsep
    Participant
    Nombre d'articles : 9

    J’ai enfin trouvé comment faire pour que mes vibreurs vibre plus fortement lorsque l’objet arrive, je suis censé utiliser le rapport cyclique sauf que je n’ai pas compris comment l’utiliser ou le coder (le TPE approche et je commence à manquer de temps ). Pourriez vous m’explqiuer comment le faire et un exemple de code? merci d’avance 😀

    arnaud9212
    Admin bbPress
    Nombre d'articles : 118

    Désolé pour le temps de réponse, on a nous aussi nos TPE à finir… Je ne vois pas de quoi tu parles avec le rapport cyclique. Pour moi, tu peux faire comme cela, en branchant ton vibreur sur un pin PWM d’une part et sur la masse d’autre part :

    analogWrite(PIN, 0-255); la valeur entre 0 et 255 indique la « puissance » du vibreur

    Dsep
    Participant
    Nombre d'articles : 9

    Merci d’avoir pris le temps de me répondre mais comme je débute j’ai du mal, avec ton code est ce le vibreur vibrera de plus en plus forts?

    Dsep
    Participant
    Nombre d'articles : 9

    Plutot est il possible d’avoir une valeur intermédiaire entre LOW et HIGH, parce que dans ce que je comprend LOW c’est comme si la pin était éteinte et HIGH c’est allumé mais pourrait onfaire que la pin soit HIGH mais en moins forte?

    arnaud9212
    Admin bbPress
    Nombre d'articles : 118

    Oui justement c’est la fonction que je t’ai décrite plus haut, en quelque sorte, quand tu marques analogWrite(PIN,0); ca équivaut à LOW et quand tu marques analogWrite(PIN,255); ca équivaut à HIGH, tu peux donc choisir une valeur entre 0 et 255. Voila un code qui fait augmenter petit à petit les vibrations puis se stabilise au maximum :

    byte pin = 6;
    
    void setup() {
    
    pinMode(pin ,OUTPUT);
    
    }
    
    void loop() {
    
    for(int i = 0; i <= 256; i ++){
    
    analogWrite(pin, i);
    
    delay(30);
    
    }
    
    }
15 sujets de 1 à 15 (sur un total de 25)

Vous devez être connecté pour répondre à ce sujet.