IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Souci capteur ultrason


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    à la retraite
    Inscrit en
    May 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : à la retraite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : May 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Souci capteur ultrason
    Bonjour à tous, je suis en plein séchage malgré ma recherche ... je bricole un anti souris sur arduino avec un code trouvé sur le net ... mais un message erreur à la compil :
    exit status 1
    'class Ultrasonic' has no member named 'MeasureInCentimeters'
    et là ... canicule en mode séchage ...
    je vous colle le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    #include <Ultrasonic.h>
    
    //Optimisation de la consommation
    #include <avr/power.h>
    #include <avr/sleep.h>
    #include <avr/power.h>
    #include <avr/wdt.h>
    volatile int f_wdt=1;
    // variables du projet
    Ultrasonic ultrasonic1(2);
    Ultrasonic ultrasonic2(4);
    long distanceMesuree;
    double tempsMax = 180.00; //temps en secondes
    double tempsMin = 60.00; // temps en secondes
    double tempsDesire, tempsIntervalUltrasonic;
    double tempsIntervalUltrasonicMax = 30; //temps en seconde
    
    // Watchdog Interrupt Service est exécité lors d’un timeout du WDT
    ISR(WDT_vect) {
    if(f_wdt == 0) {
    f_wdt = 1; // flag global
    }
    }
    
    // paramètre : 0=16ms, 1=32ms, 2=64ms, 3=128ms, 4=250ms, 5=500ms, 6=1 sec,7=2 sec, 8=4 sec, 9=8 sec
    void setup_watchdog(int ii) {
    byte bb;
    int ww;
    if (ii > 9 ) ii=9;
    bb=ii & 7;
    if (ii > 7) bb|= (1<<5);
    bb|= (1<<WDCE);
    ww=bb;
    // Clear the reset flag
    MCUSR &= ~(1<<WDRF);
    // start timed sequence
    WDTCSR |= (1<<WDCE) | (1<<WDE);
    // set new watchdog timeout value
    WDTCSR = bb;
    WDTCSR |= _BV(WDIE);
    }
    
    void enterSleep(void) {
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    sleep_enable();
    sleep_mode(); //Entre dans le mode veille choisi
    
    // Le programme va reprendre ici après le timeout du WDT
    
    sleep_disable(); // La 1ère chose à faire est de désactiver le mode veille
    }
    
    void setup() {
    // put your setup code here, to run once:
    Serial.begin(9600);
    
    tempsMax = convertiSecondeToMilli(tempsMax);
    tempsMin = convertiSecondeToMilli(tempsMin);
    tempsIntervalUltrasonicMax = convertiSecondeToMilli(tempsIntervalUltrasonicMax);
    
    //Optimisation de la consommation
    //power_adc_disable(); // Convertisseur Analog / Digital pour les entrées analogiques
    
    //power_spi_disable();
    //power_twi_disable();
    // Si pas besoin de communiquer par l’usb
    //power_usart0_disable();
    //Extinction des timers, attention timer0 utilisé par millis ou delay
    //power_timer0_disable();
    //power_timer1_disable();
    //power_timer2_disable();
    
    setup_watchdog(9);
    }
    
    void loop() {
    // put your main code here, to run repeatedly:
    
    if (f_wdt == 1) {
    // Effectuer les mesures ici
    f_wdt = 0; // Ne pas oublier d’initialiser le flag
    Serial.println(" Sortie de veille ");
    tempsDesire = random(tempsMin, tempsMax);
    tempsIntervalUltrasonic = random(0, tempsIntervalUltrasonicMax);
    Serial.print(" tempsDesiré : " );
    Serial.println(tempsDesire);
    Serial.print(" tempsIntervalUltrasonic : " );
    Serial.println(tempsIntervalUltrasonic);
    
    delay(tempsDesire);
    
    emeteurOn();
    
    Serial.println(" Mise en veille ");
    enterSleep(); //Revenir en mode veille
    } else {
    /* Do nothing. */
    }
    
    }
    
    void ultrasonicOn(int numUltrasonic) {
    switch (numUltrasonic) {
    case 1 :
    ultrasonic1.MeasureInCentimeters();
    
    Serial.println("Ultrasonic1 On");
    delay(300);
    
    break;
    
    case 2 :
    ultrasonic2.MeasureInCentimeters();
    
    Serial.println( "Ultrasonic2 On" );
    delay(300);
    
    break;
    default:
    break;
    }
    }
    
    void emeteurOn() {
    ultrasonicOn(1);
    delay(tempsIntervalUltrasonic);
    ultrasonicOn(2);
    }
    
    double convertiSecondeToMilli(double valeur) {
    double tempsMilli = valeur / 0.001;
    return tempsMilli;
    }
    ============

    si vous avez une idée ... je n'ai pas eu de réponse du dév qui l'a mis en ligne avant de vous appeler au secours ...

    merci à vous et bonne fin de semaine

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    April 2004
    Messages
    7 628
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : April 2004
    Messages : 7 628
    Points : 10 897
    Points
    10 897
    Par défaut
    Bonjour,

    j'ai regardé la documentation de la bibliothèque : https://www.arduino.cc/reference/en/...es/ultrasonic/
    La fonction MeasureInCentimeters n'existe pas. Pour les conversions cm / pouces (inches), voici un exemple avec la fonction read() : https://wokwi.com/projects/312346565007114818

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    June 2004
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : June 2004
    Messages : 513
    Points : 692
    Points
    692
    Par défaut
    Ce doit être lié à la bibliothèque retenue car dans celle-ci, la fonction existe bien.

  4. #4
    Candidat au Club
    Homme Profil pro
    à la retraite
    Inscrit en
    May 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : à la retraite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : May 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci à tous pour le "support" ...
    mais je n'y suis pas arrivé malgré les différents essais de version de Ultrasonic.h ...
    je vais tenter à nouveau de contacter le dev' qui dit que "ça marche" ...
    ou sinon recherche d'un autre bidule ...

    encore merci à tous ...

  5. #5
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    September 2019
    Messages
    2 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : September 2019
    Messages : 2 530
    Points : 4 903
    Points
    4 903
    Par défaut
    mais je n'y suis pas arrivé malgré les différents essais de version de Ultrasonic.h ...
    détruisez les versions de Ultrasonic que vous avez et assurez vous d'installer uniquement https://github.com/Seeed-Studio/Seee...r/Ultrasonic.h

    elle offre bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        long MeasureInCentimeters(uint32_t timeout = 1000000L);
        long MeasureInMillimeters(uint32_t timeout = 1000000L);
        long MeasureInInches(uint32_t timeout = 1000000L);

  6. #6
    Candidat au Club
    Homme Profil pro
    à la retraite
    Inscrit en
    May 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : à la retraite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : May 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    hello,

    Ok je vais épurer toutes les Ultrasonic du dossier arduino et vais faire comme conseillé ... je vous dis le résultat dès que j'ai dix minutes pour faire le truc ...

  7. #7
    Candidat au Club
    Homme Profil pro
    à la retraite
    Inscrit en
    May 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : à la retraite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : May 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    ...

    compilation Ok ! ... me reste à faire le montage avec les deux ultrason et je vous donne le résultat ..

    super

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    September 2019
    Messages
    2 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : September 2019
    Messages : 2 530
    Points : 4 903
    Points
    4 903
    Par défaut
    super. amusez vous bien

  9. #9
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    April 2004
    Messages
    7 628
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : April 2004
    Messages : 7 628
    Points : 10 897
    Points
    10 897
    Par défaut
    Une question : quel émetteur ultrason utilises-tu ? Le HC-SR04 ?

  10. #10
    Candidat au Club
    Homme Profil pro
    à la retraite
    Inscrit en
    May 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : à la retraite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : May 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    oui juste le petit module standard acheté sur le lama zone ...
    ça fonctionne mais juste à tester avec les souris qui viennent boulotter sur ma terrasse ...

  11. #11
    Candidat au Club
    Homme Profil pro
    à la retraite
    Inscrit en
    May 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : à la retraite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : May 2008
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    le montage est assez simple ... je lui ai rajoté deux led qui "visualisent" le déclenchement des ultrasons ...

    Nom : repoussesouris.jpg
Affichages : 71
Taille : 75,5 Ko

  12. #12
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    September 2019
    Messages
    2 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : September 2019
    Messages : 2 530
    Points : 4 903
    Points
    4 903
    Par défaut
    avec deux modules assurez vous de ne pas déclencher en même temps et de laisser un temps d'attente entre deux pings pour que les ultra-sons de l'un (ou les rebonds) ne viennent pas perturber l'autre

  13. #13
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    April 2004
    Messages
    7 628
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : April 2004
    Messages : 7 628
    Points : 10 897
    Points
    10 897
    Par défaut
    C'est curieux que cela les fasse fuir car d'après les documents que j'ai trouvés le HC-SR04 a une fréquence de 40kHz et les souris sont sensibles aux ultrasons entre 10 et 12kHz.

  14. #14
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    January 2009
    Messages
    12 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : January 2009
    Messages : 12 492
    Points : 56 329
    Points
    56 329
    Billets dans le blog
    38
    Par défaut
    Les ultrasons, ce n'est pas pour leur casser les oreilles, c'est pour détecter un obstacle, ici la souris (l'obstacle réfléchit le train d'ultrasons qui revient vers le capteur, le temps que met le train d'ultrasons pour faire l'aller-retour donne une image de la distance de l'obstacle).

    Quand l'obstacle (la souris) est détecté, tu peux déclencher une action : tir de mitrailleuses, explosion de mines ou autre truc sympa

  15. #15
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    July 2006
    Messages
    10 585
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : July 2006
    Messages : 10 585
    Points : 14 876
    Points
    14 876
    Par défaut
    Hey,

    Citation Envoyé par Auteur Voir le message
    [...] les souris sont sensibles aux ultrasons entre 10 et 12kHz.
    C'est plus des ultrasons dans cette gamme de fréquences, c'est des sons aigus, oui, très aigus, mais audibles !
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  16. #16
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    April 2004
    Messages
    7 628
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : April 2004
    Messages : 7 628
    Points : 10 897
    Points
    10 897
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Hey,
    C'est plus des ultrasons dans cette gamme de fréquences, c'est des sons aigus, oui, très aigus, mais audibles !
    c'est vrai, oui. Mais en ce qui me concerne je ne les entends plus

    Citation Envoyé par f-leb Voir le message
    Quand l'obstacle (la souris) est détecté, tu peux déclencher une action : tir de mitrailleuses, explosion de mines ou autre truc sympa
    Imagine la terrasse après ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Capteur ultrasons
    Par TintinTerm dans le forum Arduino
    Réponses: 33
    Dernier message: 28/03/2015, 10h43
  2. [STM32] Capteurs ultrasons + bip sonore STM32F4
    Par safaensi dans le forum Embarqué
    Réponses: 2
    Dernier message: 06/02/2015, 09h41
  3. Réponses: 0
    Dernier message: 20/06/2013, 01h32
  4. Modulation d'un signal pour capteur ultrasons
    Par inter69 dans le forum Signal
    Réponses: 4
    Dernier message: 05/01/2008, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo