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 :

Lidar et Lidar TF 03


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Vous avez du mal copier coller le code

    Il faut partir d’une fenêtre nouvelle, videz tout ce qui a dedans (le setup et la loop) et mettre juste mon code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <SoftwareSerial.h>
    SoftwareSerial maxSonar(2, 3);
     
    void setup() {
      Serial.begin(115200);
      maxSonar.begin(9600);
    }
     
    void loop() {
      if (maxSonar.available()) Serial.write(maxSonar.read());
      delayMicroseconds(10);
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut jay M
    non non ca tourne pas... j'ai beau essayer...
    ca compile, et au televersement ca me sort des erreurs...

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    wow - c'est digne du créneau parisien

    En fait je me dis que les vendeurs de ces bateaux ne veulent pas prendre de risque avec des radars de recul qui ne fonctionnerait pas vu les risques de procès si un beep n'a pas marché.. ça doit chiffrer vite si on enfonce un autre bateau!

  5. #5
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    Bonjour Jay,

    bon j'ai bien compris pour la difference "736x et 738x" pour les Maxsonar (bon je vais recevoir 2 modeles le court et celui avec la trompette quipermet une distance de 10M
    le code est complexe? ou c'est le meme genre que pour le Lidar?

    ensuite comme j'essais de pas mourir "con" j'epluche un peu vos code...

    dans celui du lidar j'ai vu ca:
    'const unsigned int toneFreq = 500;'

    500 c'est une fréquence appliqué au buzzer?

    peut on avoir une pin de sortie avec des 1 ou 0 sans modulation comme pour le buzzer?

    je me bat toujours avec cette histoire de buzzer et j'ai remarqué a l'osciloscope que mes petit modules fonctionne bien mais quand on module le signal ca nous sort un son degueulasse...

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Bonjour

    Citation Envoyé par Stantedy Voir le message
    le code est complexe? ou c'est le meme genre que pour le Lidar?
    ce sera simple, dans la doc ils disent
    The output is an ASCII capital “R”, followed by four ASCII character digits representing the range in millimeters, followed by a carriage return (ASCII 13). The maximum range reported is 4999 mm (5-meter models) or 9998 mm (10-meter models). A range value of 5000 or 9999 corresponds to no target being detected in the field of view.
    Donc on écoute une ligne terminée par CR, on regarde si elle commence bien par 'R' et si derrière on a 4 chiffres et on transforme l'ASCII en nombre. rien de bien compliqué - 5 minutes pour modifier ce que l'on a.

    Citation Envoyé par Stantedy Voir le message
    dans celui du lidar j'ai vu ca:
    'const unsigned int toneFreq = 500;'

    500 c'est une fréquence appliqué au buzzer?
    Oui c'est la fréquence de vibration de la pin en effet (500Hz)

    Citation Envoyé par Stantedy Voir le message
    peut on avoir une pin de sortie avec des 1 ou 0 sans modulation comme pour le buzzer?
    Oui, là j'utilise la fonction 'tone()' qui se charge de faire la vibration sur la broche. Si on utilise digitalWrite() on mettra simplement à HIGH ou LOW là pin.

    je me bat toujours avec cette histoire de buzzer et j'ai remarqué a l'osciloscope que mes petit modules fonctionnent bien mais quand on module le signal ca nous sort un son degueulasse...
    c'est vraiment une alternance 0V/5V, ce n'est pas un beau signal analogique qu'on balance... J'imagine que ça doit jouer.

  7. #7
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    je recois ca Lundi...
    Ce module de la série XL-MaxSonar WRC1 en version étanche IP67 permet de mesurer les distances entre un objet mobile et les obstacles rencontrés. Il est équipé d'un système de filtrage des résultats et la portée effective se situe entre 0 et 6,45 m. Le kit de fixation MB7950 est livrable en option.

    Le signal de sortie est disponible en tension analogique, en signal PWM ou en sortie série.

    Alimentation: 3,0 à 5 Vcc
    Consommation: 3,4 mA
    Fréquence: 42 kHz
    Portée: de 0 à 6,45 m
    Résolution: 1 cm
    Fréquence de lecture: 10 Hz
    Signal de sortie:
    - analogique: (Vcc/1024)/cm
    - série: 0 à Vcc - 9600 bauds
    - PWM: 58µs/cm
    Auto-calibration en temps réel
    Réjection de bruit en temps réel
    Filtrage des résultats
    Protection: IP67
    Température de service: -40°C à +65°C
    Dimensions: Ø35 X 38 mm
    Fabricant: MaxBotix
    Référence fabricant: MB7068

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    J’ai pas lu la spec en détail mais je pense que la sortie analogique n’est mise à jour aussi que 10 fois par seconde, quand une mesure a été effectuée

    Ensuite l’arduino fait ce que le code lui dit. On peut activer différentes pins en fonction de la distance, oui - ou définir la fréquence des beeps par palier.

  9. #9
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    Bonjour Jay

    ben sur les deux modèle que j'ai, celui avec la trompette longue (portée 10m) ref MB7388 le taux de rafraichissement est de 5 fois
    sur l'autre le plus court Ref MB7380 le taux passe a 8 en gros...
    autant rester comme on est non?

    on peux essayer : 8m-->2hz
    7m-->4hz
    6m-->6hz
    5m-->8hz
    4m-->10hz
    et 3 m fixe

    et une pin pour la transmition...

  10. #10
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    ah oui je pense partir sur votre idée première concernant la transmission... je pense que c'est plus fiable que mes petit 433mhz...
    donc je vais faire le test avec les HC12 et deux arduino nano.
    mais par soucis de miniaturisation on peux mettre quoi de plus petit que le nano? micro? speeduino?

    ca nous donnerais : unitée central avec le maxsonar et un nano avec un on off par telecommande 433 (ca c'est pris sur le jus du bateau)
    et une ou deux petites unitées pour la reception des beeps (je dit une ou deux car c'est selon la configuration du bateau) eux seraient alimenté par batterie dedié (donc il faut que quand il "dorment" on pompe un minimum...! et que ce soit petit...

    hummm ca ce corse un peu non?


    ah et PS: le module GPS.... super ultra mega top..!!! il est alimenté par une batterie et dort dehors... je m'amuse a le mettre en route a 20 ou 30 ou 50 metres je le laisse tourné 3;4heures et je l’éteint.....

  11. #11
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Voilà ce que j'ai de mom côté sur le LCD (avez vous tourné la molette en dessous pour régler le contraste?)
    Nom : LCD.png
Affichages : 92
Taille : 55,4 Ko
    la première ligne donne la configuration future des DIP switches à mettre sur le slave. et Si vous avez un beep, c'est bon signe (il a pu communiquer avec le HC12) et ça affiche "Ready"

    et quand je simule la réception d'une distance à 325cm par exemple j'ai cela:
    Nom : LCD-D.png
Affichages : 79
Taille : 51,9 Ko
    et le buzzer beep comme il faut
    ---

    Je pense à une chose cependant, est-ce que vous vous souvenez si le module communique en cm ou en mm ?
    tel que le code est fait il attend Rxxx<CR> en provenance du radar pour obtenir une distance xxx en cm. Si c'était sur 4 digits Rxxxx<CR> il faudrait modifier le code et changer la fonction acquisition() en
    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
     bool acquisition() {
      static uint16_t payloadDistance;
      static uint8_t payloadByteCount;
      bool acquired = false;
     
      int rec = maxSonar.read();
      if (rec != -1) {
        uint16_t byteReceived = rec & 0xFF;
        switch (parserState) {
          case STARTMARKER:
            if (byteReceived == 'R') {
              payloadByteCount = 0;
              payloadDistance = 0;
              parserState = PAYLOAD;
            }
            break;
     
          case PAYLOAD:
            if ((byteReceived >= '0') && (byteReceived <= '9')) {
              payloadDistance = 10 * payloadDistance + (byteReceived - '0');
              if (++payloadByteCount >= 4) parserState = ENDMARKER;  // <<== METTRE 4 AU LIEU DE 3 SI 4 DIGITS
            } else if (byteReceived == 'R') { // handle double 'R'
              payloadByteCount = 0;
              payloadDistance = 0;
            } else parserState = STARTMARKER;
            break;
     
          case ENDMARKER:
            if (byteReceived == '\r') {
              acquired = true;
              distance = payloadDistance/10;  // <<==== DIVISER PAR 10 POUR OBTENIR DES CM
              parserState = STARTMARKER;
            } else if (byteReceived == 'R') {
              payloadByteCount = 0;
              payloadDistance = 0;
              parserState = PAYLOAD;
            } else parserState = STARTMARKER;
            break;
        }
      }
      return acquired;
    }

  12. #12
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    oui j'ai essayez le potar derriere ... ou tout bleu ou que des digit "plein"....
    je crois qu'on etait en mm au depart

  13. #13
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    c'est cool ces modules LiDAR Infrarouge, en sortie on a un nuage de points, mais il n'y a pas la puissance de calcul ni la mémoire nécessaire pour les piloter dans un arduino

    Si le 433 MHz passe bien, on pourrait regarder comment utiliser par exemple un HC-12. On peut essayer d'émettre à 15000 bps (en communiquant en série à 9600 bauds) et le récepteur est à -112 dBm, ça reste décent en qualité.

    Cela dit - ça reste des composants de bricolage grand public, à vous de voir si d'un point de vue business vous êtes prêt à prendre le risque... vous pourriez même essayer dans ce cas d'intégrer des produits tout faits comme celui là

    Nom : radar.png
Affichages : 168
Taille : 248,1 Ko

  14. #14
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    Non on va faire un truc plus serieux.... pour les radar

    pour le 433 explique...

  15. #15
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Copiez toutes les erreurs et collez les ici

  16. #16
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    Bonjour Jay

    j'ai trouvé un code pour voir ...(https://www.maxbotix.com/documents/A...are_Serial.ino)

    ça me fait la aussi une erreur :Arduino : 1.8.9 (Windows 10), Carte : "Arduino Nano, ATmega328P"

    test1111:1:3: error: expected unqualified-id before '/' token
    */
    ^
    test1111:1:3: error: expected constructor, destructor, or type conversion before '/' token
    exit status 1
    expected unqualified-id before '/' token
    Ce rapport pourrait être plus détaillé avec
    l'option "Afficher les résultats détaillés de la compilation"
    activée dans Fichier -> Préférences.

    PS: j'ai testé l'arduino avec votre code du Lidar et la pas de problème...

  17. #17
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    alors j'arrive a televerser le code dans un arduino UNO

    pin 5 du sonar sur entrée 2 (RX) du UNO et alim en 5v

    dans la console serie rien ne ce passe

  18. #18
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    Le capteur fonctionne par mesure du temps pour recevoir la réflexion de l'onde émise sur la cible.

    On réfléchit toujours mieux avec un petit dessin:

    si on n'est pas sur l'horizontale (et idéalement au bout du bateau) la zone "éclairée" ne sera pas plane (on aura de l'eau et le quai et éventuellement derrière le quai).
    Ici la zone rouge "éclairée" va rebondir dans tous les sens, une partie sera absorbée aussi. Je pense qu'on va lire n'importe quoi (des rebonds qui reviendraient vers le capteur)
    Nom : cone.png
Affichages : 113
Taille : 94,5 Ko

    faites des tests avec le capteur faisant un angle avec le sol et regardez ce que vous obtenez

  19. #19
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2021
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2021
    Messages : 159
    Par défaut Jay M
    Bonjour Jay,

    j'ai conscience de ce phenomene de "ricocher"
    le probleme c'est qu'on sera jamais pile dans l'axe sur un bateau...
    en regle general les quai sont plus bas que le pont principal du bateau et parfois, comme expliqué precedement, les quai sont sur pilotis...
    trouver un autre capteur?
    combiner deux ou 3 meme capteur?

  20. #20
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 921
    Par défaut
    il ne trouve pas la carte sur le port série sélectionné

    Si vous avez bien débranché Rx et Tx (débranchez les 2 pour être sûr) c'est qu'il y a un souci ailleurs.

    Mauvais boot loader? peut-être choisir dans Outils / Processeur --> "ATMega 328P Old Bootloader" pour votre Nano

    Sinon câble USB, mauvais port série, carte défectueuse?

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/05/2024, 11h11
  2. Réponses: 3
    Dernier message: 22/05/2020, 19h30
  3. [Débutant] I2c - NI 8451 - Lidar Lite v3 - write to register
    Par RT team dans le forum MATLAB
    Réponses: 0
    Dernier message: 28/02/2018, 10h52

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