Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Obstacles pour éviter le robot avec servomoteur

Composants et fournitures

Arduino UNO
× 1
Micro-servomoteur SG90
× 1
Capteur à ultrasons SparkFun - HC-SR04
× 1
Kit de châssis de robot - 2WD avec moteurs à courant continu
× 1
Câbles de raccordement (générique)
× 1
Arduino MotorShield Rev3
× 1

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

Arduino IDE

À propos de ce projet

Tout sur le projet

Je suis un étudiant en design d'arts médiatiques qui étudie à l'Université multimédia de Cyberjaya en Malaisie. C'est mon année Gamma d'études en art médiatique, la conception d'interaction est le sujet qui enseignera aux étudiants comment utiliser les composants Arduino et comment cela fonctionne. Ainsi, dans ma mission finale, j'ai choisi le robot évitant les obstacles comme mon propre projet et j'ai appris comment fonctionne chaque composant.

Étape 1 :

Préparez et construisez votre châssis de robot. À l'intérieur de l'emballage se trouvent quelques composants, un châssis, deux moteurs, deux roues, une roue avant, un support de batterie, des vis, un interrupteur et des câbles de démarrage. Photo ci-dessous :

Étape 2 :

Avant de souder les cavaliers sur vos deux moteurs, je vous recommande de tester tous les composants pour vous assurer qu'ils fonctionnent tous bien, par exemple :les deux moteurs à courant continu, la carte Arduino, le blindage du moteur, le servomoteur et le capteur à ultrasons. Ensuite, nous allons commencer à souder les fils rouge et noir sur les deux moteurs, exemple d'image ci-dessous :

Étape 3 :

Venez à notre partie châssis et commutateur de batterie. Il suffit de couper la moitié du fil noir du châssis de la batterie et de souder 1 côté fil à 1 trou, un autre fil noir sera soudé à un autre trou. Notre switch est prêt !

Étape 4 :

Nous devrons empiler la carte Arduino et la carte Motor Shield, Motor Shield s'empilera sur la carte Arduino. Exemple ci-dessous :

Étape 5 :

Nous allons passer à la carte Motor Shield. Ce blindage alimente les moteurs et le servomoteur, les moteurs ont besoin de beaucoup de courant et ce blindage peut fournir jusqu'à 600 mA de courant à chaque moteur. Nous devons souder/fixer les fils des moteurs à courant continu sur la carte de blindage du moteur. Si les fils de votre moteur à courant continu sont suffisamment longs pour atteindre le blindage du moteur, ce sera parfait, sinon vous devrez peut-être utiliser des fils de connexion externes (peu importe le fil de connexion mâle/femelle), coupez la tête du fil de connexion et assurez-vous que l'intérieur du la ligne de cuivre apparaît. (Vous devrez couper le caoutchouc du fil de liaison pour faire apparaître le fil de cuivre). Et vous devez souder les fils externes aux fils du moteur à courant continu. Exemple :

Connectez ensuite le fil gauche du moteur au connecteur M1 du blindage du moteur. Le fil du moteur droit se connectera au connecteur M3 de la carte de blindage du moteur. Exemple :

Étape 6 :

Ensuite, nous devrons connecter les fils du commutateur de batterie à la fois le fil rouge et le fil noir à la carte de blindage du moteur.

Après cela, nous devrons préparer les câbles de raccordement mâles et femelles pour les souder à 5V, GND, broche analogique 4 et broche analogique 5. Avant cela, nous devrons trouver les mêmes couleurs de câbles de raccordement femelles et mâles et les couper en deux. . Pourquoi doit-il être de la même couleur ? Tout d'abord, il nous est facile de reconnaître quels fils correspondent à quelle partie. Deuxièmement, le fil de connexion mâle blanc sera soudé avec un fil de connexion femelle blanc qui se connecte à 5V. Le fil de connexion mâle de couleur noire sera soudé avec un fil de connexion femelle et le fil de connexion mâle sera soudé à GND. Le fil de connexion mâle de couleur orange sera soudé avec un fil de connexion femelle orange, le fil de connexion mâle orange sera soudé à la broche analogique 5. Enfin, mais non le moindre, le fil de connexion mâle brun sera soudé avec un fil de connexion marron femelle, puis le fil de connexion mâle de couleur marron sera soudé à Broche analogique 4. Exemple :

Étape 7 :

Vous pouvez utiliser du ruban adhésif double face ou un pistolet à colle chaude pour fixer les deux boucliers sur le châssis du robot.

Étape 8 :Passez à la partie Capteur à ultrasons

À partir des fils de raccordement femelle et mâle que nous soudons tout à l'heure, le fil de raccordement blanc (5 V) (fil de raccordement du site féminin) se connectera à la broche VCC du capteur à ultrasons. Le fil de cavalier noir (GND) (fil de cavalier du site femelle) se connectera à la broche GND. Le fil de cavalier marron (broche analogique 4) (fil de cavalier du site femelle) se connectera à la broche Echo. Le fil de cavalier de couleur orange (broche analogique 5) (fil de cavalier du site femelle) se connectera à la broche TRIG.

Étape 9 :

Enfin, pour le servomoteur se connectera à l'emplacement servo_2. Remarque* (Il existe peu de types de servomoteurs. Vous devrez peut-être les trouver en ligne pour savoir comment ils se branchent sur l'emplacement servo_2). Ci-dessous se trouve ma propre version de la fente d'asservissement.

Dernière étape :Coder

Pour ce robot évitant les obstacles, nous aurons besoin de 3 bibliothèques, à savoir la bibliothèque Motor Shield pour le pilote Motor Shield, la nouvelle bibliothèque Ping est pour le capteur à ultrasons. Le troisième est l'IDE Arduino. Vous trouverez ci-dessous les liens téléchargeables pour les bibliothèques :

  • Bibliothèque du bouclier moteur
  • Nouvelle bibliothèque Ping

Je suis reconnaissant pour vous les gars de voir mon projet. J'espère que les instructions sont suffisamment claires pour que vous puissiez les suivre et construire vous-même le robot évitant les obstacles. Merci !

Vidéo de test :

Code

  • IDE Arduino
Arduino IDE C#
Copiez et collez le code dans Arduino IDE puis téléchargez sur votre carte Arduino
#include  #include  #include #define TRIG_PIN A4 #define ECHO_PIN A5#define MAX_DISTANCE_POSSIBLE 1000 #define MAX_SPEED 150 // #define MOTORS_CALIBRATION_OFFSET 3#define COLL_DIST 20 #define TURN_DIST COLL_DIST+10 NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE_POSSIBLE);AF_DCMotor leftMotor(3, MOTOR12_8KHZ); AF_DCMotor rightMotor(1, MOTOR12_8KHZ); Servo neckControllerServoMotor;int pos =0; int maxDist =0;int maxAngle =0;int maxRight =0;int maxLeft =0;int maxFront =0;int course =0;int curDist =0;String motorSet ="";int speedSet =0;void setup() { neckControllerServoMotor.attach(10); neckControllerServoMotor.write(90); retard (2000); checkPath(); motorSet ="AVANT" ; neckControllerServoMotor.write(90); moveForward();}void loop() { checkForward(); checkPath();}void checkPath() { int curLeft =0; int curFront =0; int curRight =0; int curDist =0; neckControllerServoMotor.write(144); retard(120); for(pos =144; pos>=36; pos-=18) { neckControllerServoMotor.write(pos); retard (90); checkForward(); curDist =readPing(); if (curDist  curDist) {maxAngle =pos;} if (pos> 90 &&curDist> curLeft) { curLeft =curDist;} if (pos ==90 &&curDist> curFront) {curFront =curDist;} if (pos <90 &&curDist> curRight) {curRight =curDist;} } maxLeft =curLeft; maxRight =curRight; maxFront =curFront;}void setCourse() { if (maxAngle <90) {turnRight();} if (maxAngle> 90) {turnLeft();} maxLeft =0; maxDroite =0 ; maxFront =0;}void checkCourse() { moveBackward(); retard (500); moveStop(); setCourse();}void changePath() { if (pos <90) {lookLeft();} if (pos> 90) {lookRight();}}int readPing() { delay(70); unsigned int uS =sonar.ping(); int cm =uS/US_ROUNDTRIP_CM ; return cm;}void checkForward() { if (motorSet=="FORWARD") {leftMotor.run(FORWARD); rightMotor.run(FORWARD); } }void checkBackward() { if (motorSet=="BACKWARD") {leftMotor.run(BACKWARD); rightMotor.run(BACKWARD); } } void moveStop() {leftMotor.run(RELEASE); rightMotor.run(RELEASE);}void moveForward() { motorSet ="FORWARD"; leftMotor.run(FORWARD); rightMotor.run(FORWARD); for (speedSet =0; speedSet  

Schémas


Processus de fabrication

  1. Robot Pi simple
  2. Robot suiveur de ligne
  3. Contrôler un robot Roomba avec Arduino et un appareil Android
  4. Contrôle du servomoteur avec Arduino et MPU6050
  5. Robot assistant domestique autonome
  6. Bras de robot Arduino DIY – Contrôlé par des gestes de la main
  7. Robot pour une navigation intérieure super cool
  8. Qu'est-ce qu'un servomoteur ?
  9. Couplage de réducteurs avec des servomoteurs