Table des matières:
- Fournitures
- Étape 1: Capteur infrarouge à ultrasons VS
- Étape 2: Schéma
- Étape 3: Caractéristique du capteur
- Étape 4: Communication série
- Étape 5: Application Qt
- Étape 6: Code source Arduino
Vidéo: Radar infrarouge avec Arduino : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Dans ce petit projet, je voudrais vous montrer comment créer un simple radar à la maison avec Arduino. Il existe de nombreux projets similaires sur Internet, mais ils utilisent tous un capteur à ultrasons pour mesurer la distance. Dans ce projet, j'utilise un capteur infrarouge pour la mesure de distance.
Mon objectif est de créer un système LIDAR très simple et bon marché avec lui et d'implémenter un dispositif de cartographie.
Fournitures
- Arduino (j'ai utilisé un Maple Mini)
- Capteur de distance Sharp (j'ai utilisé Sharp GP2Y0A02YK0F)
- Micro Servo (9g)
- Planche à pain, fils
- En option: résistance 4,7 k, condensateur 100 nF
Étape 1: Capteur infrarouge à ultrasons VS
La principale différence entre les capteurs de distance à ultrasons et infrarouges est que le capteur à ultrasons mesure la distance dans une plage plus large. Il n'est donc pas en mesure de localiser précisément la position d'un obstacle. Cela signifie qu'il mesure la distance de l'objet le plus proche qui se trouve dans une plage d'angle de ~ +-30°.
Bien sûr, cela ne signifie pas que le capteur Sharp est meilleur. Parfois, cette propriété peut être très utile (par exemple, utilisée par les drones pour mesurer la hauteur depuis le sol). Le bon choix dépend totalement des exigences de votre projet.
Étape 2: Schéma
Il est très simple de faire le lien entre les pièces. Sélectionnez une sortie PWM et une entrée analogique sur votre carte Arduino et connectez les capteurs de distance Servo et Sharp à ces broches. J'ai utilisé les broches suivantes à cette fin:
- PA0: Entrée analogique pour capteur de distance Sharp
- PA9: sortie PWM pour servomoteur
Parfois, le capteur IR Sharp peut avoir une sortie bruyante, vous devez donc y mettre un simple filtre passe-bas. J'ai utilisé une résistance de 4,7 k et un condensateur de 100 nF pour réduire le bruit sur la broche analogique. En plus de cela, j'ai également filtré la valeur mesurée dans le code en la lisant plusieurs fois et en calculant la moyenne.
Étape 3: Caractéristique du capteur
Malheureusement, le capteur de distance infrarouge utilisé a une caractéristique non linéaire. Cela signifie que pour obtenir la distance, il ne suffit pas de multiplier la valeur ADC mesurée par une valeur constante et d'y ajouter une autre valeur constante.
Bien que la fiche technique du capteur fournisse la caractéristique, je préfère la mesurer par moi-même dans le projet spécifique (cela pourrait dépendre de la tension utilisée). Pour cela, j'ai fait des paires à partir de la valeur ADC mesurée et de la distance tous les 10 cm. (Mon capteur a pu mesurer la distance correcte à partir de 12 cm).
J'ai utilisé ces paires dans le code pour obtenir la distance correcte avec l'interpolation linéaire.
Vous trouverez un code Arduino simple à la fin du document, pour mesurer la valeur ADC lors de la mesure des caractéristiques.
Étape 4: Communication série
J'ai utilisé la communication série pour envoyer les valeurs d'angle-distance mesurées au PC. Comme je dois envoyer plusieurs octets et différents types de messages, j'ai conçu un protocole de communication simple.
Ce protocole permet de définir différents types de messages de manière générique. Dans ce projet, j'ai utilisé 2 types de messages:
- Paramètres: utilisé pour envoyer des paramètres à l'application PC, définis sur Arduino comme la distance maximale et le nombre d'obstacles dans un tour.
- Obstacle: Permet d'envoyer un obstacle détecté. Il est identifié par l'angle du servo et la distance mesurée. La position x-y sera calculée par l'application PC.
Étape 5: Application Qt
Pour communiquer avec Arduino et dessiner les points mesurés comme un radar j'ai réalisé une application PC en Qt (C++). Il reçoit certains paramètres (définis sur Arduino) et les points de distance mesurés.
Vous pouvez également télécharger l'application et son code source.
Étape 6: Code source Arduino
Vous pouvez personnaliser certains paramètres en haut du code avec des macros.
Notez que si vous modifiez la caractéristique du capteur de distance Sharp, vous devez modifier les valeurs du tableau distAdcMap !
- InfraRadar.c: Code du radar. Copiez et collez-le dans votre projet Arduino.
- InfraRadarMeasurement.c: Code de mesure caractéristique. Copiez et collez-le dans votre projet Arduino. Utilisez la console série pour vérifier les valeurs ADC.
Conseillé:
Utilisation du capteur infrarouge avec Arduino : 8 étapes (avec photos)
Utilisation d'un capteur infrarouge avec Arduino : qu'est-ce qu'un capteur infrarouge (alias IR) ? Un capteur IR est un instrument électronique qui scanne les signaux IR dans des plages de fréquences spécifiques définies par les normes et les convertit en signaux électriques sur sa broche de sortie (généralement appelée broche de signal) . Le signal infrarouge
Serrure intelligente magnétique avec frappe secrète, capteur infrarouge et application Web : 7 étapes (avec photos)
Serrure intelligente magnétique avec frappe secrète, capteur IR et application Web : si vous aimez ce projet, veuillez me suivre sur Instagram et YouTube. Dans ce projet, je vais construire une serrure magnétique pour mon bureau à domicile, qui s'ouvre si vous connaissez le coup secret. Oh… et il va avoir encore quelques tours dans sa manche. Aimant
Comment utiliser le module de capteur infrarouge TCRT5000 avec Arduino UNO : 7 étapes (avec photos)
Comment utiliser le module de capteur infrarouge TCRT5000 avec Arduino UNO : Dans ce didacticiel, nous allons vous apprendre quelques notions de base sur l'utilisation du module de capteur infrarouge TCRT5000. Ces éléments de base vous montrent les valeurs analogiques et numériques sur le moniteur série
Télécommande infrarouge I2C avec l'Arduino : 8 étapes (avec photos)
Télécommande infrarouge I2C avec l'Arduino : PréambuleCe Instructable détaille comment créer une télécommande universelle en utilisant I2C pour l'interface. Comment étrange vous dites, en utilisant un appareil esclave I2C? Oui, un appareil esclave I2C. En effet, la synchronisation précise des paquets IR est assez exigeante et
Lampadaire intelligent utilisant un capteur infrarouge avec Arduino : 4 étapes (avec photos)
Lampadaire intelligent utilisant un capteur infrarouge avec Arduino : veuillez vous abonner à ma chaîne pour plus de projets. Ce projet concerne le lampadaire intelligent, le lampadaire s'allumera pendant que le véhicule le traverse. le véhicule, chaque capteur IR contrôle