Table des matières:
- Étape 1: Quel est précisément le problème avec les capteurs à ultrasons et les microcontrôleurs ?
- Étape 2: Comment ça marche ?
- Étape 3: Détails techniques
- Étape 4: Comment mettre en œuvre ?
Vidéo: Détecter les obstacles de manière asynchrone avec les ultrasons : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Je construis pour le plaisir un robot que je veux déplacer de manière autonome à l'intérieur d'une maison.
C'est un long travail et je le fais étape par étape.
Cette instructable se concentre sur la détection des obstacles avec Arduino Mega
Les capteurs à ultrasons HC-SR04 vs HY-SRF05 sont bon marché et simples à utiliser mais peuvent devenir difficiles à intégrer dans la boucle du microcontrôleur d'un robot complexe. Je voulais lancer la détection d'obstacles de manière asynchrone.
_
J'ai déjà publié 3 instructables sur les fonctionnalités de ce robot:
- Faites votre encodeur de roue
- Faites votre passerelle WIFI
- Utiliser l'unité de module inertiel
Et une documentation sur la combinaison de l'intelligence artificielle et des ultrasons pour localiser le robot.
Étape 1: Quel est précisément le problème avec les capteurs à ultrasons et les microcontrôleurs ?
Attente synchrone et limitations Arduino
Le code des microcontrôleurs s'exécute en boucle et ne prend pas en charge le multithread. Les capteurs à ultrasons sont basés sur la durée du signal. Cette durée dure jusqu'à 30 ms ce qui est très long à attendre à l'intérieur de la boucle lorsque les microcontrôleurs doivent gérer plusieurs moteurs et capteurs (par exemple servomoteurs et moteurs à courant continu avec encodeurs de roue).
J'ai donc voulu développer un objet qui s'exécute de manière asynchrone.
Étape 2: Comment ça marche ?
Il a été conçu pour Atmega pour la détection d'obstacles. Il prend en charge jusqu'à 4 capteurs à ultrasons.
Grâce à l'interruption périodique du temps, le système peut surveiller jusqu'à 4 capteurs à ultrasons. Le code principal n'a qu'à définir quel capteur activer avec condition et seuil. Le principal ne sera interrompu que si (condition, seuil) apparaît.
Les fonctions principales sont:
- L'alerte est la détection d'obstacle de base et fournit une interruption si au moins 1 des 4 capteurs détecte une distance sous son seuil
- Monitor est une fonction étendue qui fournit une interruption sur une combinaison de condition de distance de jusqu'à 4 capteurs. Les conditions possibles sont supérieures, inférieures, égales ou différentes aux seuils.
Étape 3: Détails techniques
Utilisez timer4 pour que la broche 6 7 8 ne puisse pas être utilisée comme PWM.
Pour chaque capteur, l'objet a besoin d'un PIN de déclenchement et d'un PIN d'interruption.
En plus des codes PIN d'interruption des capteurs, l'objet a besoin d'un autre code PIN d'interruption pour l'utilisation du logiciel.
Étape 4: Comment mettre en œuvre ?
Connectez les capteurs comme ci-dessus
Télécharger à partir de ce référentiel GitHub
- EchoObstacleDetection.cpp,
- EchoObstacleDetection.h
- ExempleEchoObstacleDetection.ino
Créez le répertoire EchoObstacleDetection dans votre bibliothèque IDE et déplacez les fichiers.cpp et.h
Essaye-le
Ouvrez ExampleEchoObstacleDetection.ino.
Il s'agit d'un exemple simple de détection d'obstacles fonctionnant avec 2 capteurs à ultrasons.
La sortie est dirigée sur un moniteur série. Dans un premier temps il imprimera les distances détectées par les 2 capteurs puis imprimera les alertes en fonction des distances sous les seuils.
Conseillé:
Raspberry Pi DIY Smart Doorbell qui peut détecter les gens, les voitures, etc.: 5 étapes
Sonnette intelligente DIY Raspberry Pi pouvant détecter les personnes, les voitures, etc. Nest, ou l'un des autres concurrents) J'ai construit notre propre porte intelligente
Robot évitant les obstacles à l'aide de capteurs à ultrasons : 9 étapes (avec photos)
Robot évitant les obstacles à l'aide de capteurs à ultrasons : il s'agit d'un projet simple sur le robot évitant les obstacles à l'aide de capteurs à ultrasons (HC SR 04) et de la carte Arduino Uno. Le robot se déplace en évitant les obstacles et en choisissant la meilleure façon de suivre les capteurs. Et veuillez noter que ce n'est pas un projet de tutoriel, partagez-vous
Détection d'obstacles et d'avertissements - Arduino UNO et ultrasons : 4 étapes (avec photos)
Détection d'obstacles et d'avertissements - Arduino UNO et ultrasons : il s'agit d'un tutoriel pour vous aider à comprendre les ultrasons et le buzzer et approfondir l'apprentissage d'Arduino, suivez ces étapes et donnez-moi des commentaires
Spidering d'un site Web Ajax avec un formulaire de connexion asynchrone : 6 étapes (avec photos)
Spidering d'un site Web Ajax avec un formulaire de connexion asynchrone : Le problème : les outils de spidering ne permettent pas l'authentification de connexion AJAX. Cette instructable vous montrera comment vous connecter via un formulaire AJAX à l'aide de Python et d'un module appelé Mechanize. Les araignées sont des programmes d'automatisation Web qui deviennent de plus en plus pop
Hack Canon EOS 300D pour confirmer la mise au point avec tous les objectifs, de manière permanente. : 5 étapes (avec photos)
Hack Canon EOS 300D pour confirmer la mise au point avec tous les objectifs, de manière permanente. : Eh bien, vous pouvez le faire facilement en utilisant divers adaptateurs à puce pour plusieurs montures d'objectif - mais que diriez-vous de modifier de façon permanente votre appareil photo pour faire de même et éviter de payer un supplément pour plusieurs adaptateurs ? J'adore mon 300D mais je n'ai pas d'objectif EF/S