Table des matières:
- Étape 1: Comment ça marche ?
- Étape 2: Comment configurer les trois stations de détection et les objets
- Étape 3: Comment configurer la station maître
- Étape 4: Liste du matériel
Vidéo: Système de positionnement basé sur les ultrasons : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Toutes les versions de radars à ultrasons que j'ai trouvées pour les appareils arduino (Arduino - Détecteur Radar/Ultrasonic, Arduino Ultrasonic Radar Project) sont de très bons radars mais tous sont "aveugles". Je veux dire, le radar détecte quelque chose mais qu'est-ce qu'il détecte ?
Je me propose donc de développer un système capable de détecter des objets et de les identifier. En d'autres termes un système de positionnement sans utiliser de dispositifs GPS mais des détecteurs à ultrasons.
Voilà le résultat j'espère qu'il vous plaira.
Étape 1: Comment ça marche ?
Le système de positionnement est formé de trois stations de capteurs avec des détecteurs à ultrasons et id_node 1, 2 et 3 formant un rectangle ou un carré qui balayent un angle de 90º et où les distances entre eux sont connues comme indiqué sur l'image 1.
const float distanceentre1et2 = 60,0;
const float distanceentre2et3 = 75,0;
Ces capteurs mesurent la distance et l'angle d'autres objets avec un id_node supérieur à 3 qui ont également un détecteur à ultrasons qui balaie un angle de 170°.
Tous envoient les distances, les angles mesurés et l'id_node à une autre station maître en utilisant des communications sans fil pour analyser, calculer la position des objets à l'aide du calcul trigonométrique et les identifier.
Pour éviter les interférences, la station maître synchronise tous les détecteurs à ultrasons de manière à ce qu'un seul détecteur à ultrasons mesure à chaque instant
Après cela et en utilisant une communication série, la station maître envoie les informations (angle, distance, id_object) à une esquisse de traitement pour tracer les résultats.
Étape 2: Comment configurer les trois stations de détection et les objets
La seule fonction de chaque station de capteur est de détecter des objets et d'envoyer la liste de distance, d'angle et de nœud d'identification mesurés à la station maître.
Il faut donc mettre à jour la distance de détection maximale (« valid_max_distance ») autorisée et la distance minimale (« valid_min_distance ») (centimètres) pour améliorer la détection et limiter la zone de détection:
int valid_max_distance = 80;
int valid_min_distance = 1;
Les nœuds id de ces stations capteurs (« this_node » dans le code ci-dessous) sont 1, 2 et 3 et le nœud id de la station maître est 0.
const uint16_t this_node = 01; // Adresse de notre nœud au format Octal (Node01, Node02, Node03)
const uint16_t other_node = 00; //Adresse du nœud maître (Node00) au format Octal
Chaque station de capteur balaie et un angle de 100º ("max_angle" dans le code ci-dessous)
#define min_angle 0
#define max_angle 100
Comme ci-dessus, la seule fonction d'un objet est de détecter des objets et d'envoyer la liste des distances, angles et id d'objet mesurés à la station maître. L'identifiant d'un objet ("this_node" dans le code ci-dessous) doit être supérieur à 3.
Chaque objet balaie et angle de 170º et comme ci-dessus, il est possible de mettre à jour la distance de détection maximale et minimale.
const uint16_t this_node = 04; // Adresse de notre nœud au format Octal (Node04, Node05, …)
const uint16_t other_node = 00; // Adresse du nœud maître (Node00) au format Octal int valid_max_distance = 80; int valid_min_distance = 1; #définir l'angle_min 0 #définir l'angle_max 170
Étape 3: Comment configurer la station maître
La fonction de la station maître est de recevoir les transmissions des stations capteurs et des objets et d'envoyer les résultats via le port série à un schéma de traitement pour les tracer. De plus, synchronise tous les objets et les trois stations de capteurs de manière à ce qu'un seul d'entre eux mesure à chaque fois pour éviter les interférences.
Tout d'abord, vous devez mettre à jour la distance (centimètres) entre les capteurs 1 et 2 et la distance entre 2 et 3.
const float distanceentre1et2 = 60,0;
const float distanceentre2et3 = 70,0;
L'esquisse calcule la position des objets de la manière suivante:
- Pour toutes les transmissions des objets (id_node supérieur à 3) rechercher la même distance dans chaque transmission des capteurs à ultrasons (id_node 1, 2 ou 3).
- Tous ces points forment une liste de « candidats » (distance, angle, id_node) pour être la position d'un objet (« process_pointobject_with_pointssensor » dans le croquis).
- Pour chaque « candidat » de la liste précédente, la fonction « candidat_sélectionné_entre_sensor2et3 » calcule du point de vue des capteurs à ultrasons 2 et 3 lequel d'entre eux correspond à la condition trigonométrique suivante (voir les images 2 et 3)
float distancefroms2 = sin(radians(angle)) * distance;
float distancefroms3 = cos(radians(angle_candidate)) * distance_candidate; // Condition de trigonométrie 1 abs(distancefroms2 + distancefroms3 - distanceentre2and3) <= float(max_diference_distance)
Comme ci-dessus, pour chaque "candidat" de la liste précédente, la fonction "candidate_selected_between_sensor1and2" calcule du point de vue du capteur à ultrasons 1 et 2 lequel d'entre eux correspond à la relation trigonométrique suivante (voir les images 2 et 3)
float distancefroms1 = sin(radians(angle)) * distance;float distancefroms2 = cos(radians(angle_candidate)) * distance_candidate; // Condition trigonométrique 2 abs(distancefroms1 + distancefroms2 - distanceentre1et2) <= float(max_diference_distance)
Seuls les candidats (distance, angle, id_node) qui correspondent aux conditions trigonométriques 1 et 2 sont des objets identifiés détectés par les stations capteurs 1, 2 et 3
Après cela, les résultats sont envoyés par la station maître à un croquis de traitement pour les tracer.
Étape 4: Liste du matériel
La liste du matériel nécessaire pour une station de capteur ou un objet est la suivante:
- Tableau nano
- Capteur à ultrasons
- Micro servomoteur
- Module sans fil NRF24L01
- Adaptateur NRF24L01
et la liste du matériel pour le poste maître est la suivante:
- Tableau nano
- Module sans fil NRF24L01
- Adaptateur NRF24L01
Conseillé:
Système de présence basé sur les empreintes digitales et RFID utilisant Raspberry Pi et la base de données MySQL : 5 étapes
Système de présence basé sur les empreintes digitales et RFID utilisant Raspberry Pi et la base de données MySQL : vidéo de ce projet
Système de tri des couleurs : système basé sur Arduino avec deux courroies : 8 étapes
Système de tri par couleur : Système basé sur Arduino avec deux courroies : Le transport et/ou l'emballage des produits et articles dans le domaine industriel se fait à l'aide de lignes réalisées à l'aide de courroies transporteuses. Ces courroies aident à déplacer l'article d'un point à un autre avec une vitesse spécifique. Certaines tâches de traitement ou d'identification peuvent être
Notions de base sur les transistors - Tutoriel sur les transistors de puissance BD139 et BD140 : 7 étapes
Notions de base sur les transistors | Tutoriel sur les transistors de puissance BD139 et BD140 : Hé, quoi de neuf, les gars ! Akarsh ici de CETech.Aujourd'hui, nous allons acquérir des connaissances sur la centrale des circuits de transistors de petite taille mais beaucoup plus gros dans le travail.Fondamentalement, nous allons discuter de quelques bases liées aux transistors et
Système d'accès basé sur les ultrasons : 6 étapes (avec photos)
Système d'accès basé sur les ultrasons : Cette fois, je vous présente un système d'accès basé sur les ultrasons, je pense que cela pourrait être intéressant. pour essayer t
R-PiAlerts : Construisez un système de sécurité basé sur le WiFi avec Raspberry Pis : 8 étapes (avec photos)
R-PiAlerts : Construisez un système de sécurité basé sur le WiFi avec Raspberry Pis : Tout en travaillant à votre bureau, vous entendez soudain un bruit lointain. Quelqu'un vient de rentrer ? Ma voiture est garée devant chez moi, quelqu'un est-il entré par effraction dans ma voiture ? Ne souhaitez-vous pas recevoir une notification sur votre téléphone ou à votre bureau afin que vous puissiez décider quand