Table des matières:

Projet 3 : SonarDuino : 9 étapes
Projet 3 : SonarDuino : 9 étapes

Vidéo: Projet 3 : SonarDuino : 9 étapes

Vidéo: Projet 3 : SonarDuino : 9 étapes
Vidéo: #1 ARDUINO - Découverte et Premier Projet (Allumer une LED) 2024, Septembre
Anonim
Image
Image

Cher ami amateur, Dans ce projet, nous explorerons la possibilité d'avoir un système radar à 360 degrés pour la détection d'objets. Le fait d'avoir ce module réglé séparément permettra à votre robot de locomotion de détecter les limites de son environnement. Il peut également servir d'outil de navigation à l'obscurité, mais uniquement lorsque vous marchez assez lentement;p

Étape 1: ce dont vous aurez besoin

Préparer le support du capteur à ultrasons
Préparer le support du capteur à ultrasons

Pour réaliser cette construction, vous devrez acheter les éléments suivants:

Arduino Nano:

Cartes de prototypage: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AAOSwN ~Zbl232:rk:13:pf:0

Servomoteurs:

Capteurs à ultrasons: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd:g:w ~IAAOSw--xbD5Fp:rk:2:pf:0

Étape 2: Documentation

Comme certains d'entre vous le savent peut-être déjà, ce projet est inspiré d'un autre projet open source appelé "Arduino Radar Project" réalisé par Dejan à partir de "How to Mechatronics" @ le lien suivant: https://howtomechatronics.com/projects/arduino -projet-radar/

Un autre point nécessitant une documentation est de télécharger les deux bibliothèques suivantes dans votre environnement de développement:

Bibliothèque Adafruit-GFX:

Adafruit_SSD1306:

Cela étant dit, pour vraiment comprendre le code C, vous devrez documenter les deux bibliothèques ci-dessus. En dehors de cela, les fonctions que j'ai utilisées dans mon code ont des noms révélateurs de ce qu'elles font.

Étape 3: préparer le support du capteur à ultrasons

Préparer le support du capteur à ultrasons
Préparer le support du capteur à ultrasons
Préparer le support du capteur à ultrasons
Préparer le support du capteur à ultrasons
Préparer le support du capteur à ultrasons
Préparer le support du capteur à ultrasons

Prenez n'importe quel morceau de carton et coupez-le en fonction de la dimension des câbles de connexion attachés au capteur comme indiqué sur la première image. Après cela, pliez ce dernier et collez-le sur le support du servomoteur. Une fois cela fait, collez les deux capteurs à ultrasons selon la dernière photo. Notez que l'en-tête des capteurs doit être soudé de manière à laisser les câbles sortir vers l'extérieur devant le capteur. Cela permettra aux câbles du capteur de ne pas interférer les uns avec les autres lorsque la rotation à 360 degrés est mise en œuvre.

Étape 4: Montez le tout sur une carte de prototypage

Montez le tout dans une carte de prototypage
Montez le tout dans une carte de prototypage
Montez le tout dans une carte de prototypage
Montez le tout dans une carte de prototypage
Montez le tout dans une carte de prototypage
Montez le tout dans une carte de prototypage

Dans cette étape, vous commencerez par monter le collecteur préparé à l'étape précédente dans son servomoteur respectif. Une fois le servomoteur soigneusement habitué, vous monterez le tout ensemble dans une carte de prototypage. Vous commencerez par souder l'Arduino Nano puis par coller le servo juste à côté. Enfin, vous souderez le petit écran OLED à l'autre bord de la carte.

Étape 5: Établir les connexions finales

Faire les connexions finales
Faire les connexions finales
Faire les connexions finales
Faire les connexions finales
Faire les connexions finales
Faire les connexions finales

Cette étape conclura le côté matériel de ce projet. Vous devrez suivre les schémas fournis pour établir toutes les connexions requises.

Étape 6: démarrage du programme

Démarrage du programme
Démarrage du programme

Il y a deux codes dont vous aurez besoin pour démarrer

Arduino (C):

Traitement (java):https://github.com/ReconaissantL/RadarDuino/blob/master/radarduino_java.pde

Lors de l'exécution du code, vous aurez le choix entre deux options:

Option 1: À l'aide de l'écran OLED, vous devrez pour cela définir la variable MODE dans le code C sur 0.

Option 2: Utilisation de votre moniteur, pour cela vous devrez définir la variable MODE dans le code C à 1. De plus, vous devrez télécharger et installer Processing development environment et télécharger la police radar à partir de ce lien: https:// github.com/lastralab/ArduinoRadar/blob/ma…

Et ajoutez ce fichier à votre fichier de code de traitement afin que votre code Java reconnaisse la police lorsqu'il est appelé.

Étape 7: Comprendre le code C

Comprendre le code C
Comprendre le code C

Le code se compose principalement de deux boucles « for ». L'un est corrélé à la passe avant tandis que l'autre est à la passe arrière. A l'intérieur des deux, la fonction principale draw_scanner(), qui tracera les lignes du radar sur l'écran, est appelée plusieurs fois. Après avoir testé plusieurs configurations, je suis arrivé à la conclusion qu'il fallait écraser les lignes radar blanches à l'instant t par ces mêmes lignes radar en noir à l'instant t+1 afin de les supprimer. Sinon, un scintillement se produirait à chaque fois que vous nettoyez l'affichage à l'aide de la fonction "clearDisplay()" avant de pousser la nouvelle grille de pixels. Comme je traitais avec 7 lignes - à des fins de conception - je devais continuer à enregistrer et à transmettre un tableau entier de 7 éléments, où chaque élément représente le rayon entre le centre du radar et l'objet détecté, le cas échéant. Dans cet esprit, le reste du code doit être simple à comprendre.

Étape 8: Comprendre le code Java

Dans Processing, j'ai dû contourner l'appel de fonction pour serialEvent(), qui ne fonctionne qu'avec les ports série nommés COM. Comme je travaillais sur un Mac, mes ports série portaient un nom différent. Cela étant dit, j'ai décompressé cette fonction dans la fonction principale du traitement de "draw()". Concernant tout le reste, j'ai mis à jour l'application pour répondre à la conception de la révolution complète. Enfin, j'ai mis à jour toutes les formes et textes dessinés en respectant la largeur de l'écran afin que le produit final s'adapte à différentes résolutions d'écran. Je l'ai personnellement testé pour les résolutions 1000X1000 et 500X500, et cela a bien fonctionné:).

Étape 9: Conclusion

Ce travail peut être amélioré pour avoir 3 capteurs à ultrasons, chacun couvrant un angle de vue de 120, ou même 4 capteurs (90 degrés * 4) -> plus rapide à 360 degrés. analyse.

Vous pouvez également étendre la portée du radar de 40 cm à 60 cm voire 80 cm. J'ai personnellement testé la fonction pulseIn et ajusté la variable TIMEOUT par rapport à 40 cm. Cette variable dépend de nombreux facteurs, y compris la longueur de l'impulsion envoyée et la surface de l'objet où l'impulsion est réfléchie.

Enfin, comme indiqué précédemment, la prochaine étape consiste à incorporer radarDuino avec un robot de locomotion pour balayer le périmètre environnant.

Conseillé: