Satura rādītājs:

Kā izveidot gudru robotu, izmantojot Arduino: 4 soļi
Kā izveidot gudru robotu, izmantojot Arduino: 4 soļi

Video: Kā izveidot gudru robotu, izmantojot Arduino: 4 soļi

Video: Kā izveidot gudru robotu, izmantojot Arduino: 4 soļi
Video: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, Novembris
Anonim
Image
Image

Sveiki,

Es esmu arduino veidotājs, un šajā apmācībā es jums parādīšu, kā izveidot gudru robotu, izmantojot arduino

ja jums patika mana apmācība, apsveriet iespēju atbalstīt manu YouTube kanālu arduino veidotāju

Piegādes

Lietas, kas jums būs vajadzīgas:

1) arduino uno

2) ultraskaņas sensors

3) Bo motors

4) riteņi

5) saldējuma kociņi

6) 9V akumulators

1. darbība: SAVIENOJUMI

LĪMĒ VISAS SASTĀVDAĻAS VIETĀ
LĪMĒ VISAS SASTĀVDAĻAS VIETĀ

Pēc visu izejmateriālu iegādes tagad jums jāsāk savienot visas lietas saskaņā ar iepriekš sniegto shēmu

2. solis: LĪMĒ VISAS SASTĀVDAĻAS VIETĀ

LABI,

tagad savienojiet visas lietas, kā parādīts iepriekšējā attēlā

3. solis: PROGRAMMĒŠANA

Tagad,

sāciet programmēt dēli ar zemāk norādīto kodu

// ARDUINO OBSTACLE AVOIDING CAR //// Pirms koda augšupielādes jāinstalē nepieciešamā bibliotēka // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing bibliotēka https://github.com/livetronic/Arduino-NewPing// // Servo bibliotēka https://github.com/arduino-libraries/Servo.git // // Lai instalētu bibliotēkas, dodieties uz skici >> Iekļaut Bibliotēka >> Pievienot. ZIP failu >> No saitēm iepriekš atlasiet lejupielādētos ZIP failus //

#iekļaut

#iekļaut

#iekļaut

#define TRIG_PIN A0

#definēt ECHO_PIN A1 #definēt MAX_DISTANCE 200

#define MAX_SPEED 150 // nosaka līdzstrāvas motoru ātrumu

#define MAX_SPEED_OFFSET 20

NewPing hidrolokators (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotora motors1 (1, MOTOR12_1KHZ);

// AF_DCMotora motors2 (2, MOTOR12_1KHZ); // AF_DCMotora motors3 (3, MOTOR34_1KHZ); AF_DCMotora motors4 (4, MOTOR34_1KHZ); Servo myservo;

Būla iet uz priekšu = nepatiess;

int attālums = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); kavēšanās (1000); attālums = lasītPing (); kavēšanās (100); attālums = lasītPing (); kavēšanās (100); attālums = lasītPing (); kavēšanās (100); attālums = lasītPing (); kavēšanās (100); }

void loop () {

int attālumsR = 0; int attālumsL = 0; kavēšanās (40); ja (attālums <= 15) {moveStop (); kavēšanās (100); moveBackward (); kavēšanās (300); moveStop (); kavēšanās (200); distanceR = lookRight (); kavēšanās (300); distanceL = meklētLeft (); kavēšanās (300);

ja (attālumsR> = attālumsL)

{ nogriezieties pa labi(); moveStop (); } cits {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }

int lookRight ()

{myservo.write (50); kavēšanās (650); int distance = readPing (); kavēšanās (100); myservo.write (115); atgriešanās attālums; }

int lookLeft ()

{myservo.write (170); kavēšanās (650); int distance = readPing (); kavēšanās (100); myservo.write (115); atgriešanās attālums; kavēšanās (100); }

int readPing () {

kavēšanās (70); int cm = sonārs.ping_cm (); ja (cm == 0) {cm = 250; } atgriezties cm; }

void moveStop () {

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

ja (! iet uz priekšu)

{goForward = true; motor1.run (uz priekšu); //motor2.run(PĀRVADĀ); //motor3.run(PĀRVADĀ); motor4.run (uz priekšu); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lēnām palieliniet ātrumu, lai izvairītos no pārāk ātras akumulatoru uzlādes {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); kavēšanās (5); }}}

void moveBackward () {

iet uz priekšu = nepatiess; motor1.run (ATPAKAĻ); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (ATPAKAĻ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // lēnām palieliniet ātrumu, lai izvairītos no pārāk ātras akumulatoru uzlādes {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); kavēšanās (5); }}

void turnRight () {

motor1.run (ATPAKAĻ); //motor2.run(BACKWARD); //motor3.run(PĀRVADĀ); motor4.run (uz priekšu); kavēšanās (350); motor1.run (uz priekšu); //motor2.run(PĀRVADĀ); //motor3.run(PĀRVADĀ); motor4.run (uz priekšu); } void turnLeft () {motor1.run (FORWARD); //motor2.run(PĀRVADĀ); //motor3.run(BACKWARD); motor4.run (ATPAKAĻ); kavēšanās (350); motor1.run (uz priekšu); //motor2.run(PĀRVADĀ); //motor3.run(PĀRVADĀ); motor4.run (uz priekšu); }

Ieteicams: