Innholdsfortegnelse:

Hvordan lage en smart robot ved hjelp av Arduino: 4 trinn
Hvordan lage en smart robot ved hjelp av Arduino: 4 trinn

Video: Hvordan lage en smart robot ved hjelp av Arduino: 4 trinn

Video: Hvordan lage en smart robot ved hjelp av Arduino: 4 trinn
Video: Lesson 02 Arduino IDE Software | Robojax Arduino Step By Step Course 2024, November
Anonim
Image
Image

Hallo,

Jeg er arduino maker, og i denne opplæringen skal jeg vise deg hvordan du lager en smart robot ved hjelp av arduino

Hvis du likte opplæringen min, så vurder å støtte YouTube -kanalen min som heter arduino maker

Rekvisita

Ting du trenger:

1) arduino uno

2) ultralydsensor

3) Bo -motor

4) hjul

5) iskrem

6) 9v batteri

Trinn 1: TILKOBLINGER

Lim alle komponentene på plass
Lim alle komponentene på plass

Etter å ha fått alle forsyninger nå, bør du begynne å koble alle tingene i henhold til kretsdiagrammet ovenfor

Trinn 2: Lim alle komponentene på plass

OK,

koble nå alle tingene på plass som vist på bildet ovenfor

Trinn 3: PROGRAMMERING

Nå,

begynn å programmere tavlen med den oppgitte koden nedenfor

// ARDUINO OBSTACLE UNNGÅ BIL //// Før du laster opp koden må du installere det nødvendige biblioteket // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing-bibliotek https://github.com/livetronic/Arduino-NewPing// // Servobibliotek https://github.com/arduino-libraries/Servo.git // // For å installere bibliotekene gå til skisse >> Inkluder Bibliotek >> Legg til. ZIP -fil >> Velg de nedlastede ZIP -filene fra koblingene ovenfor //

#inkludere

#inkludere

#inkludere

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // angir hastigheten til likestrømsmotorer

#define MAX_SPEED_OFFSET 20

NewPing -ekkolodd (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1 (1, MOTOR12_1KHZ);

// AF_DCMotor motor2 (2, MOTOR12_1KHZ); // AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo myservo;

boolsk goesForward = false;

int avstand = 100; int speedSet = 0;

ugyldig oppsett () {

myservo.attach (10);

myservo.write (115); forsinkelse (1000); distance = readPing (); forsinkelse (100); distance = readPing (); forsinkelse (100); distance = readPing (); forsinkelse (100); distance = readPing (); forsinkelse (100); }

void loop () {

int distanseR = 0; int distanse L = 0; forsinkelse (40); if (avstand <= 15) {moveStop (); forsinkelse (100); Flytt tilbake(); forsinkelse (300); moveStop (); forsinkelse (200); distanceR = lookRight (); forsinkelse (300); distanceL = lookLeft (); forsinkelse (300);

hvis (avstandR> = avstand L)

{ ta til høyre(); moveStop (); } annet {turnLeft (); moveStop (); }} annet {moveForward (); } distanse = readPing (); }

int lookRight ()

{myservo.write (50); forsinkelse (650); int distance = readPing (); forsinkelse (100); myservo.write (115); returavstand; }

int lookLeft ()

{myservo.write (170); forsinkelse (650); int distance = readPing (); forsinkelse (100); myservo.write (115); returavstand; forsinkelse (100); }

int readPing () {

forsinkelse (70); int cm = sonar.ping_cm (); hvis (cm == 0) {cm = 250; } retur cm; }

void moveStop () {

motor1.run (RELEASE); //motor2.run(RELEASE); //motor3.run(RELEASE); motor4.run (RELEASE); } void moveForward () {

hvis (! går fremover)

{goesForward = true; motor1.run (FREM); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FREM); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // senk sakte hastigheten for å unngå å lade batteriene for raskt {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); forsinkelse (5); }}}

void moveBackward () {

goesForward = false; motor1.run (BACKWARD); //motor2.run(TILBAKE); //motor3.run(TILBAKE); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // senk sakte hastigheten for å unngå å lade batteriene for raskt {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); forsinkelse (5); }}

void turnRight () {

motor1.run (BACKWARD); //motor2.run(TILBAKE); //motor3.run(FORWARD); motor4.run (FREM); forsinkelse (350); motor1.run (FREM); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FREM); } void turnLeft () {motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(TILBAKE); motor4.run (BACKWARD); forsinkelse (350); motor1.run (FREM); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FREM); }

Anbefalt: