Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Obstakels vermijden robot met servomotor

Componenten en benodigdheden

Arduino UNO
× 1
SG90 Micro-servomotor
× 1
SparkFun ultrasone sensor - HC-SR04
× 1
Robotchassiskit - 2WD met gelijkstroommotoren
× 1
Jumperdraden (algemeen)
× 1
Arduino MotorShield Rev3
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE

Over dit project

Alles over het project

Ik ben een student Media Arts Design die studeert aan de Multimedia University, Cyberjaya, Maleisië. Dit is mijn Gamma-jaar waarin ik Media Art studeer, Interaction Design is het onderwerp dat studenten zal leren hoe ze Arduino-componenten moeten gebruiken en hoe het werkt. Dus in mijn eindopdracht heb ik Obstacles Avoiding robot als mijn eigen project gekozen en leer ik hoe elk onderdeel werkt.

Stap 1:

Bereid en bouw je robotchassis. In het pakket zitten een paar componenten, chassis, twee motoren, twee wielen, een voorwiel, een batterijhouder, enkele schroeven, schakelaar en jumperdraden. Foto hieronder:

Stap 2:

Voordat je de jumperdraden op je beide motoren soldeert, raad ik aan om alle componenten te testen om er zeker van te zijn dat ze allemaal goed werken, bijvoorbeeld:beide DC-motoren, Arduino-bord, motorschild, servomotor en ultrasone sensor. Dan zullen we beginnen met het solderen van de rode en zwarte draad op beide motoren, voorbeeldafbeelding hieronder:

Stap 3:

Kom naar ons accuchassis en schakel onderdeel. We hoeven maar de helft van de zwarte draad van het batterijchassis af te knippen en 1 draadzijde bij 1 gat te solderen, een andere zwarte draad zal bij een ander gat solderen. Onze schakelaar is klaar!

Stap 4:

We zullen het Arduino-bord en het Motor Shield-bord moeten stapelen, Motor Shield zal op het Arduino-bord worden gestapeld. Voorbeeld hieronder:

Stap 5:

We gaan verder met het Motor Shield-bord. Dit schild levert stroom aan de motoren en de servomotor, de motoren hebben veel stroom nodig en dit schild kan tot 600 mA stroom leveren aan elke motor. We moeten de draden van de DC-motoren op het motorafschermingsbord solderen/vastzetten. Als de draden van uw DC-motor lang genoeg zijn om het motorschild te bereiken, is dit geweldig, zo niet, dan moet u mogelijk externe jumperdraden gebruiken (het maakt niet uit of het een mannelijke/vrouwelijke jumperdraad is), knip de kop van de jumperdraad af en zorg ervoor dat binnen de koperen lijn verschijnt. (U moet het rubber van de jumperdraad doorknippen om de koperdraad te laten verschijnen). En u moet de externe draden aan de DC-motordraden solderen. Voorbeeld:

Sluit vervolgens de linker motordraad aan op de M1-connector van de motorafscherming. De rechter motordraad zal aansluiten op de M3-connector van de motorafschermingskaart. Voorbeeld:

Stap 6:

Dan moeten we de draden van de batterijschakelaar zowel de rode als de zwarte draad aansluiten op de motorafschermingskaart.

Daarna moeten we mannelijke en vrouwelijke jumperdraden klaarmaken om ze te solderen aan 5V, GND, analoge pin 4 en analoge pin 5. Daarvoor moeten we dezelfde kleuren vrouwelijke en mannelijke jumperdraden vinden en ze in tweeën snijden . Waarom moet dezelfde kleur zijn? Ten eerste is het voor ons gemakkelijk om te herkennen welke draad voor welk onderdeel is. Ten tweede soldeert de witte mannelijke jumperdraad met witte vrouwelijke jumperdraad die verbinding maakt met 5V. Zwarte kleur Mannelijke jumperdraad zal solderen met vrouwelijke jumperdraad en mannelijke jumperdraad zal solderen aan GND. Oranje mannelijke jumperdraad zal solderen met oranje vrouwelijke jumperdraad, oranje mannelijke jumperdraad zal solderen op analoge pin 5. Ten slotte, maar niet minder belangrijk, zal bruine mannelijke jumperdraad solderen met vrouwelijke bruine jumperdraad, dan zal bruine mannelijke jumperdraad solderen aan Analoge pin 4. Voorbeeld:

Stap 7:

U kunt dubbelzijdig plakband of een heet lijmpistool gebruiken om het beide schild op het robotchassis te bevestigen.

Stap 8:Kom naar het onderdeel Ultrasone Sensor

Van de vrouwelijke en mannelijke jumperdraden die we zojuist hebben gesoldeerd, zal de witte jumperdraad (5V) (vrouwelijke site-jumperdraad) verbinding maken met de ultrasone sensor VCC-pin. Zwarte verbindingsdraad (GND) (verbindingsdraad voor vrouwelijke site) maakt verbinding met de GND-pin. Bruine jumperdraad (analoge pin 4) (jumperdraad vrouwelijke site) maakt verbinding met de echo-pin. Oranje kleur jumper draad (analoge pin 5) (vrouwelijke site jumper draad) zal verbinding maken met TRIG pin.

Stap 9:

Ten slotte zal voor de servomotor verbinding worden gemaakt met servo_2-slot. Opmerking * (Er zijn maar weinig soorten servomotoren. Mogelijk moet u deze online vinden om te zien hoe ze op de servo_2-sleuf worden aangesloten). Hieronder is voor mijn eigen versie van servo-slot.

Laatste stap:code

Voor deze robot die obstakels ontwijkt, hebben we 3 bibliotheken nodig, namelijk de Motor Shield-bibliotheek voor de Motor Shield-driver, de nieuwe Ping-bibliotheek is voor de ultrasone sensor. Ten derde is Arduino IDE. Hieronder staan ​​de downloadbare links voor bibliotheken:

  • Motor Shield-bibliotheek
  • Nieuwe Ping-bibliotheek

Ik waardeer het dat jullie mijn project willen bekijken. Ik hoop dat de instructies duidelijk genoeg zijn voor jullie om de Obstacles Avoiding Robot voor jezelf te volgen en te bouwen. Bedankt!

Video om te testen:

Code

  • Arduino IDE
Arduino IDE C#
Kopieer en plak de code in Arduino IDE en upload vervolgens naar uw Arduino-bord
#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 rechtsMotor(1, MOTOR12_8KHZ); ServohalsControllerServoMotor;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); nekControllerServoMotor.write(90); vertraging (2000); checkPath(); motorSet ="VOORUIT"; nekControllerServoMotor.write(90); moveForward();}void loop() { checkForward(); checkPath();}void checkPath() { int curLeft =0; int curFront =0; int curRight =0; int curDist =0; nekControllerServoMotor.write(144); vertraging (120); for(pos =144; pos>=36; pos-=18) {neckControllerServoMotor.write(pos); vertraging (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; maxRechts =0; maxFront =0;}void checkCourse() { moveBackward(); vertraging (500); beweegStop(); 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); rechtsMotor.run(VOORUIT); } } ongeldig checkBackward() { if (motorSet=="BACKWARD") {leftMotor.run(BACKWARD); rechtsMotor.run (ACHTERUIT); } } ongeldig moveStop() {leftMotor.run(RELEASE); rightMotor.run(RELEASE);}void moveForward() { motorSet ="FORWARD"; leftMotor.run(VOORUIT); rechtsMotor.run(VOORUIT); for (speedSet =0; speedSet   

Schema's


Productieproces

  1. Simple Pi Robot
  2. Lijnvolger Robot
  3. Een Roomba-robot besturen met Arduino en Android-apparaat
  4. Besturing van servomotor met Arduino en MPU6050
  5. Autonome Home Assistant-robot
  6. DIY Arduino-robotarm – bestuurd door handgebaren
  7. Bedien de Arduino-robotarm met Android-app
  8. Maak een eetrobot met Arduino Nano | Gouden schroef
  9. Robot voor supercoole indoornavigatie
  10. Wat is een servomotor?
  11. Koppeling van vertragingskasten met servomotoren