![OAREE - Imprimé en 3D - Robot évitant les obstacles pour l'enseignement de l'ingénierie (OAREE) avec Arduino : 5 étapes (avec photos) OAREE - Imprimé en 3D - Robot évitant les obstacles pour l'enseignement de l'ingénierie (OAREE) avec Arduino : 5 étapes (avec photos)](https://i.howwhatproduce.com/images/011/image-30395-j.webp)
Table des matières:
- Fournitures
- Étape 1: impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons
- Étape 2: programmer l'Arduino
- Étape 3: Assembler le robot
- Étape 4: Fixez les fils du capteur
- Étape 5: Terminé !!! Connectez l'alimentation Arduino 9V, allumez la batterie et commencez à éviter les obstacles avec OAREE
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:45
![Image Image](https://i.howwhatproduce.com/images/011/image-30395-2-j.webp)
![](https://i.ytimg.com/vi/GcvZ-9hjHTI/hqdefault.jpg)
![OAREE - Imprimé en 3D - Robot évitant les obstacles pour l'enseignement de l'ingénierie (OAREE) avec Arduino OAREE - Imprimé en 3D - Robot évitant les obstacles pour l'enseignement de l'ingénierie (OAREE) avec Arduino](https://i.howwhatproduce.com/images/011/image-30395-3-j.webp)
![OAREE - Imprimé en 3D - Robot évitant les obstacles pour l'enseignement de l'ingénierie (OAREE) avec Arduino OAREE - Imprimé en 3D - Robot évitant les obstacles pour l'enseignement de l'ingénierie (OAREE) avec Arduino](https://i.howwhatproduce.com/images/011/image-30395-4-j.webp)
OAREE (Robot évitant les obstacles pour la formation en ingénierie)
Conception: le but de cette instructable était de concevoir un robot OAR (Obstacle Avoiding Robot) qui était simple/compact, imprimable en 3D, facile à assembler, utilise des servos à rotation continue pour le mouvement et a le moins de pièces achetées possible. Je crois que j'ai réussi à créer ce robot génial et je l'ai nommé OAREE (Robot évitant les obstacles pour l'enseignement de l'ingénierie). Ce robot détectera les obstacles, s'arrêtera, regardera à gauche et à droite, puis tournera dans la direction dégagée et continuera d'avancer.
Contexte: Internet comporte de nombreux obstacles pour éviter les robots, mais la plupart sont encombrants, difficiles à assembler et coûteux. Beaucoup de ces robots ont un code Arduino fourni, mais il était difficile de trouver un exemple fonctionnel bien pensé. Je voulais aussi utiliser des servos à rotation continue pour les roues (au lieu de moteurs à courant continu), ce qui n'avait pas encore été fait. Je me suis donc lancé dans la mission de développer un robot OAR compact et inventif à partager avec le monde.
Développement ultérieur: Ce robot peut être développé pour une meilleure précision de ping, en ajoutant des capteurs IR pour la capacité de suivi de ligne, un écran LCD pour afficher la distance d'obstacle, et bien plus encore.
Fournitures
- 1x Arduino Uno -
- 1x Bouclier de capteur V5 -
- 1x support de batterie 4xAA avec interrupteur marche/arrêt -
- 1x Servo SG90 -
- 2x servos à rotation continue -
- 1x câble d'alimentation de batterie 9V pour Arduino (OPTIONNEL) -
- 1x capteur à ultrasons HC-SR04 -
- 4x fils de connexion femelle-femelle -
- 2x élastiques
- 1x pile 9V (EN OPTION)
- 4x piles AA
- 4x petites vis (4 x 1/2 ou quelque chose de similaire)
- Tournevis cruciforme
- Colle pour fixer les élastiques aux roues
Étape 1: impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons
![Impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons Impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons](https://i.howwhatproduce.com/images/011/image-30395-5-j.webp)
![Impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons Impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons](https://i.howwhatproduce.com/images/011/image-30395-6-j.webp)
![Impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons Impression 3D: corps, roues, roulette en marbre, boulon/écrou de 6 mm et support de capteur à ultrasons](https://i.howwhatproduce.com/images/011/image-30395-7-j.webp)
Il y a 5 parties à imprimer en 3D.
- Corps
- roues
- Roulette en marbre
- Boulon/écrou de 6 mm (facultatif, un écrou/boulon en métal peut être remplacé)
- Support de capteur à ultrasons
Tous les fichiers. STL requis sont inclus dans cette instructable ainsi que les fichiers Sketchup. 40 % de remplissage recommandé.
Étape 2: programmer l'Arduino
![Image Image](https://i.howwhatproduce.com/images/011/image-30395-9-j.webp)
![](https://i.ytimg.com/vi/215QR7yQHco/hqdefault.jpg)
![Assembler le robot Assembler le robot](https://i.howwhatproduce.com/images/011/image-30395-12-j.webp)
Envoyer le code à Arduino UNO: À l'aide de l'IDE Arduino, envoyez le code (dans le fichier joint) à votre module Arduino. Vous devrez télécharger et inclure les bibliothèques servo.h et newping.h avec ce croquis.
Le code est soigneusement commenté, vous pouvez donc voir ce que fait chaque commande. Vous pouvez facilement changer la distance du capteur à ultrasons à une valeur plus grande ou plus petite si vous le souhaitez. Ceci est un code initial et est destiné à être développé et utilisé pour le développement ultérieur du projet.
// ROBOT ÉVITANT LES OBSTACLES// [email protected], [email protected], Université du TN à Chattanooga, Génie électrique, AUTOMNE 2019 // Matériel requis: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3)HCSR04 Ultrasonic Sensor, 4)FS90 Servo (pour Ultrasonic Sensor) // 5&6) 2x SERVOS À ROTATION CONTINUE pour les roues // 7) Marbre 16mm pour pivot de roulette arrière, 8&9) 2 élastiques pour roues // 10- 15) 1x (4xAA) Support de pile avec interrupteur marche/arrêt, 16&17) Pile 9V avec connecteur pour alimenter Arduino UNO // IMPRESSION 3D: // 18) Corps du ROBOT, 19&20) 2x Roues, 21) Roulette en marbre, 22) Capteur à ultrasons Monture et vis de 6 mm (voir fichiers joints) //--------------------------------------- -------------------------------------------------- ----------------------------------------- #include // Inclure la bibliothèque Servo #include // Inclure la bibliothèque Newping //-------------------------------------------- -------------------------------------------------- ------------------------------------ #define TRIGGER_PIN 1 2 // Déclencheur américain sur la broche 12 sur Arduino #define ECHO_PIN 13 // Écho américain sur la broche 13 sur Arduino #define MAX_DISTANCE 250 // Distance au ping (max est de 250) distance int = 100; //------------------------------------------------ -------------------------------------------------- ------------------------------- Servo US_Servo; // Capteur à ultrasons Servo Servo Left_Servo; // Servo de roue gauche Servo Right_Servo; // Sonar NewPing servo de roue droite (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuration NewPing des broches et de la distance maximale. //------------------------------------------------ -------------------------------------------------- ------------------------------- void setup() // ENTRÉES/SORTIES, O FIXER, DÉFINIR LA POSITION/MOUVEMENT INITIAL { pinMode(12, SORTIE); // Broche de déclenchement définie comme sortie pinMode(13, INPUT); // Broche d'écho définie comme entrée US_Servo.attach(11); // Servo US réglé sur la broche 11 US_Servo.write(90); // US SERVO REGARDE EN AVANT
Left_Servo.attach(9); // Servo de roue gauche à la broche 9
Left_Servo.write(90); // SERVO ROUE GAUCHE réglé sur STOP
Right_Servo.attach(10); // Servo de roue droite réglé sur la broche 10
Right_Servo.write(90); // SERVO ROUE DROIT réglé sur STOP delay (2000); // Attendre 2 secondes distance = readPing(); // Obtenir la distance de ping au délai de position directe (100); // Attendre 100 ms moveForward(); // LE ROBOT AVANCE } //------------------------------------------- -------------------------------------------------- ------------------------------------- boucle vide() { int distanceRight = 0; // Initie la distance US vers la droite à 0 int distanceLeft = 0; // Initie la distance US vers la gauche à 0 //US_Servo.write(90); // Servo central américain //delay(50); // US_Servo.write(70); // Regarde légèrement à droite // delay(250); // US_Servo.write(110); // Regarde légèrement à gauche // delay(250); // US_Servo.write(90); // Centre de recherche
if (distance <= 20) // Le robot avance { moveStop(); // Le robot S'ARRÊTE à distance = distanceLeft) // Décidez dans quelle direction tourner { turnRight(); // Le côté droit a la plus grande distance, LE ROBOT TOURNE À DROITE pendant un délai de 0,3 s (500); // Ce délai détermine la longueur du tour moveStop(); // Le robot s'ARRÊTE } else { turnLeft(); // Plus grande distance du côté gauche, ROBOT TOURNE À GAUCHE pour un délai de 0,3 s (500); // Ce délai détermine la longueur du tour moveStop(); // Le robot s'arrête } } else { moveForward(); // Le robot AVANCE } distance = readPing(); // US READS NEW PING pour le nouveau sens de déplacement } //----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight() // Capteur à ultrasons LOOK RIGHT FUNCTION { US_Servo.write(30); // Le servo US SE DÉPLACE À DROITE pour incliner le retard (500); int distance = readPing(); // Définir la valeur de ping pour le délai de droite (100); US_Servo.write(90); // Le servo US SE DÉPLACE AU CENTRE distance de retour; // La distance est définie } //------------------------------------------- -------------------------------------------------- ------------------------------------- int lookLeft() // Capteur à ultrasons LOOK LEFT FUNCTION { US_Servo.écrire(150); // Le servo US SE DÉPLACE À GAUCHE pour incliner le retard (500); int distance = readPing(); // Définir la valeur de ping pour le délai gauche (100); US_Servo.write(90); // Le servo US SE DÉPLACE AU CENTRE distance de retour; // La distance est définie } //------------------------------------------- -------------------------------------------------- ------------------------------------- int readPing() // Lecture de la fonction Ping pour le capteur à ultrasons. { retard (100); // 100 ms entre les pings (temps de ping min = 0,29 ms) int cm = sonar.ping_cm(); // La distance PING est rassemblée et définie en cm if (cm==0) { cm=250; } renvoie cm; } //------------------------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop() // ROBOT STOP { Left_Servo.write(90); // LeftServo 180 avant, 0 arrière Right_Servo.write(90); // RightServo 0 avant, 180 arrière } //---------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward() // ROBOT FORWARD { Left_Servo.écrire(180); // LeftServo 180 avant, 0 arrière Right_Servo.write(0); // RightServo 0 avant, 180 arrière } //---------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward() // ROBOT BACKWARD { Left_Servo.write(0); // LeftServo 180 avant, 0 arrière Right_Servo.write(180); // RightServo 0 avant, 180 arrière } //---------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight() // ROBOT RIGHT { Left_Servo.écrire(180); // LeftServo 180 avant, 0 arrière Right_Servo.write(90); // RightServo 0 avant, 180 arrière } //---------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft() // ROBOT GAUCHE { Left_Servo.write(90); // LeftServo 180 avant, 0 arrière Right_Servo.write(0); // RightServo 0 avant, 180 arrière } //---------------------------------------- -------------------------------------------------- ----------------------------------------
Étape 3: Assembler le robot
![Image Image](https://i.howwhatproduce.com/images/011/image-30395-11-j.webp)
![](https://i.ytimg.com/vi/eQbdcVgyifM/hqdefault.jpg)
![Assembler le robot Assembler le robot](https://i.howwhatproduce.com/images/011/image-30395-13-j.webp)
![Assembler le robot Assembler le robot](https://i.howwhatproduce.com/images/011/image-30395-14-j.webp)
Il est maintenant temps de monter votre robot. Les étapes sont énumérées ci-dessous.
1) Fixez le disque de servomoteur rond et les bandes de caoutchouc aux roues: tous les servos sont livrés avec du matériel de montage en plastique et des vis. Trouvez les disques ronds et vissez-les dans les deux trous sur le côté plat des roues. Les élastiques s'ajustent autour de la roue pour assurer l'adhérence. Vous pouvez ajouter un peu de colle pour maintenir les élastiques en place.
2) Fixation de la roulette en marbre: utilisez deux petites vis pour fixer la roulette en marbre aux deux triangles à l'arrière. La roulette en marbre remplace simplement une roue arrière et fournit un point de pivot arrière.
3) Insérez les servos dans les fentes (aucune vis nécessaire): placez le servo FS90 (pour le capteur à ultrasons) dans la fente avant du corps. Les deux servos à rotation continue glissent dans les fentes gauche et droite. Les fentes sont conçues pour un ajustement serré, de sorte qu'aucune vis n'est nécessaire pour maintenir les servos en place. Assurez-vous que les câbles des servos passent dans les rainures des fentes de manière à ce qu'ils soient orientés vers l'arrière du corps.
4) Placement de la batterie 9V (FACULTATIF): placez la batterie 9V + le connecteur d'alimentation Arduino derrière le servo avant.
5) Assemblage de montage du capteur à ultrasons: utilisez deux petites vis pour fixer l'un des accessoires de servo en plastique blanc inclus au bas de la plaque de montage du capteur à ultrasons. Ensuite, utilisez le boulon/écrou de 6 mm imprimé en 3D (ou remplacez un boulon/écrou en métal) pour fixer le boîtier du capteur à ultrasons à la plaque de montage. Enfin, placez le capteur dans le boîtier avec les broches vers le haut et enclenchez l'arrière du boîtier.
6) Boîtier de 4 piles AA: placez le boîtier de piles AA dans la grande zone rectangulaire, avec l'interrupteur marche/arrêt tourné vers l'arrière.
7) Blindage de capteur Arduino Uno + V5: Fixez le blindage à l'Arduino et placez-le sur les supports au-dessus du boîtier de la batterie. Le connecteur d'alimentation doit être orienté vers la gauche.
Votre robot est construit ! Ce qui reste? Programmation de l'Arduino et connexion des cavaliers: servos, capteur à ultrasons et alimentation.
Étape 4: Fixez les fils du capteur
![Image Image](https://i.howwhatproduce.com/images/011/image-30395-16-j.webp)
![](https://i.ytimg.com/vi/8w3KUFsmDiU/hqdefault.jpg)
![Fini!!! Connectez l'alimentation Arduino 9V, allumez la batterie et commencez à éviter les obstacles avec OAREE Fini!!! Connectez l'alimentation Arduino 9V, allumez la batterie et commencez à éviter les obstacles avec OAREE](https://i.howwhatproduce.com/images/011/image-30395-19-j.webp)
Connectez les fils du servo au blindage V5:
- Le servomoteur à rotation continue gauche se fixe à la broche 9
- Le servomoteur à rotation continue droit se fixe à la broche 10
- Le servo avant FS90 se fixe à la broche 11
Connectez les broches du capteur à ultrasons (via 4 câbles de raccordement femelle à femelle) au blindage V5:
- Déclencher sur PIN 12
- Écho au PIN 13
- VCC à l'une des broches marquées d'un « V »
- Mettez à la terre l'une des broches marquées d'un « G »
Connectez le boîtier des piles AA au blindage V5:
- Fixez le fil rouge positif au connecteur VCC
- Fixez le fil noir négatif à la connexion à la terre
Étape 5: Terminé !!! Connectez l'alimentation Arduino 9V, allumez la batterie et commencez à éviter les obstacles avec OAREE
![Image Image](https://i.howwhatproduce.com/images/011/image-30395-18-j.webp)
![](https://i.ytimg.com/vi/GcvZ-9hjHTI/hqdefault.jpg)
![Fini!!! Connectez l'alimentation Arduino 9V, allumez la batterie et commencez à éviter les obstacles avec OAREE Fini!!! Connectez l'alimentation Arduino 9V, allumez la batterie et commencez à éviter les obstacles avec OAREE](https://i.howwhatproduce.com/images/011/image-30395-20-j.webp)
Fini!
1) Connectez l'alimentation 9V Arduino (en option)
2) Allumez la batterie
3) Commencez à éviter les obstacles avec OAREE !!!
Je suis sûr que vous aimerez votre nouvel ami, OAREE, après l'avoir vu détecter un obstacle, reculer et changer de direction. OAREE fonctionne mieux avec des objets volumineux sur lesquels le capteur à ultrasons peut détecter (comme les murs). Il a du mal à cingler les petits objets comme les pieds de chaise en raison de leur petite surface et de leurs coins. Veuillez partager, développer davantage et me faire part de tout ajustement ou erreur nécessaire. Cela a été une excellente expérience d'apprentissage et j'espère que vous aurez autant de plaisir à réaliser ce projet que moi !
![Concours de robotique Concours de robotique](https://i.howwhatproduce.com/images/011/image-30395-21-j.webp)
![Concours de robotique Concours de robotique](https://i.howwhatproduce.com/images/011/image-30395-22-j.webp)
Finaliste du concours de robotique
Conseillé:
Détecter les obstacles de manière asynchrone avec les ultrasons : 4 étapes
![Détecter les obstacles de manière asynchrone avec les ultrasons : 4 étapes Détecter les obstacles de manière asynchrone avec les ultrasons : 4 étapes](https://i.howwhatproduce.com/images/001/image-1172-18-j.webp)
Détecter les obstacles de manière asynchrone avec les ultrasons : 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 fais étape par étape. Cette mise au point instructable sur la détection des obstacles avec Arduino Mega. Les capteurs à ultrasons HC-SR04 vs HY-SRF05 sont bon marché et
Prototypage rétro, idéal pour l'enseignement : 14 étapes (avec photos)
![Prototypage rétro, idéal pour l'enseignement : 14 étapes (avec photos) Prototypage rétro, idéal pour l'enseignement : 14 étapes (avec photos)](https://i.howwhatproduce.com/images/003/image-8469-8-j.webp)
Prototypage rétro, idéal pour l'enseignement : vous êtes-vous déjà demandé où le terme "planche à pain" vient de ? Voici un exemple de ce qu'étaient les planches à pain. Au début de l'électronique, les composants étaient volumineux et encombrants. Ils n'avaient pas de transistors ni de circuit intégré
Utilisez Cortana et un Arduino pour contrôler les LED RVB ou les bandes LED avec votre voix ! : 4 étapes (avec photos)
![Utilisez Cortana et un Arduino pour contrôler les LED RVB ou les bandes LED avec votre voix ! : 4 étapes (avec photos) Utilisez Cortana et un Arduino pour contrôler les LED RVB ou les bandes LED avec votre voix ! : 4 étapes (avec photos)](https://i.howwhatproduce.com/images/006/image-17153-22-j.webp)
Utilisez Cortana et un Arduino pour contrôler les LED RVB ou les bandes LED avec votre voix ! : Dans cette instructable, je vais vous montrer comment vous pouvez contrôler votre LED ou bande LED RVB avec votre voix. Ceci est fait par l'application CoRGB qui est disponible gratuitement dans la boutique d'applications Windows. Cette application fait partie de mon projet CortanaRoom. Quand vous en avez fini avec
Testeur de circuits intégrés numériques (pour les industries et les collèges d'ingénierie) par Shubham Kumar, UIET, Université du Panjab : 6 étapes (avec photos)
![Testeur de circuits intégrés numériques (pour les industries et les collèges d'ingénierie) par Shubham Kumar, UIET, Université du Panjab : 6 étapes (avec photos) Testeur de circuits intégrés numériques (pour les industries et les collèges d'ingénierie) par Shubham Kumar, UIET, Université du Panjab : 6 étapes (avec photos)](https://i.howwhatproduce.com/images/002/image-3789-61-j.webp)
Testeur de circuits intégrés numériques (pour les industries et les collèges d'ingénierie) par Shubham Kumar, UIET, Université du Panjab : Introduction et fonctionnement du testeur de circuits intégrés numériques (pour les circuits intégrés CMOS et TTL) : RÉSUMÉ : les circuits intégrés, le composant principal de chaque circuit électronique peut être utilisé pour une grande variété d'objectifs et de fonctions. Mais parfois, en raison de circuits intégrés défectueux, le circuit ne fonctionne pas
Bandeaux lumineux de couronne de fleurs pour les festivals de musique d'été, les mariages, les occasions spéciales : 8 étapes (avec photos)
![Bandeaux lumineux de couronne de fleurs pour les festivals de musique d'été, les mariages, les occasions spéciales : 8 étapes (avec photos) Bandeaux lumineux de couronne de fleurs pour les festivals de musique d'été, les mariages, les occasions spéciales : 8 étapes (avec photos)](https://i.howwhatproduce.com/images/003/image-7713-28-j.webp)
Bandeaux lumineux à couronne de fleurs pour les festivals de musique d'été, les mariages et les occasions spéciales : illuminez la nuit avec un magnifique bandeau à fleurs LED ! Parfait pour tous les mariages, festivals de musique, bals de finissants, costumes et occasions spéciales ! Kits avec tout ce dont vous avez besoin pour créer le vôtre bandeau lumineux sont maintenant disponibles dans le magasin Wearables Workshop