Sadržaj:

Kako napraviti pametnog robota pomoću Arduina: 4 koraka
Kako napraviti pametnog robota pomoću Arduina: 4 koraka

Video: Kako napraviti pametnog robota pomoću Arduina: 4 koraka

Video: Kako napraviti pametnog robota pomoću Arduina: 4 koraka
Video: БЕСПРОВОДНОЕ ВИДЕОНАБЛЮДЕНИЕ WIFI комплект KERUI со слежением за людьми 2024, Novembar
Anonim
Image
Image

zdravo,

Ja sam proizvođač arduina i u ovom tutorijalu ću vam pokazati kako napraviti pametnog robota koristeći arduino

ako vam se svidio moj vodič, razmislite o tome da podržite moj youtube kanal pod imenom arduino maker

Supplies

STVARI KOJE ĆE TREBATI:

1) arduino uno

2) ultrazvučni senzor

3) Bo motor

4) točkovi

5) štapići za sladoled

6) 9v baterija

Korak 1: VEZE

LIJEPITE SVE KOMPONENTE NA MJESTU
LIJEPITE SVE KOMPONENTE NA MJESTU

Nakon što sada nabavite sve zalihe, trebali biste početi povezivati sve stvari prema gore navedenoj shemi kola

Korak 2: LIJEPITE SVE KOMPONENTE NA MJESTU

UREDU,

sada spojite sve stvari na mjesto kako je prikazano na gornjoj slici

Korak 3: PROGRAMIRANJE

Sad,

počnite programirati ploču s donjim kodom ispod

// ARDUINO SPREČAVANJE KOJE IZBJEGAVA AUTO //// Prije postavljanja koda morate instalirati potrebnu biblioteku // // AFMotor biblioteka https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing biblioteka https://github.com/livetronic/Arduino-NewPing// // Servoteka https://github.com/arduino-libraries/Servo.git // // Da biste instalirali biblioteke, idite na skicu >> Uključi Biblioteka >> Dodaj. ZIP datoteku >> Odaberite preuzete ZIP datoteke sa gornjih veza //

#include

#include

#include

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // postavlja brzinu istosmjernih motora

#define MAX_SPEED_OFFSET 20

NewPing sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motora1 (1, MOTOR12_1KHZ);

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

boolean goesForward = false;

int udaljenost = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); kašnjenje (1000); distance = readPing (); kašnjenje (100); distance = readPing (); kašnjenje (100); distance = readPing (); kašnjenje (100); distance = readPing (); kašnjenje (100); }

void loop () {{100} {101}

int udaljenostR = 0; int udaljenostL = 0; kašnjenje (40); if (udaljenost <= 15) {moveStop (); kašnjenje (100); moveBackward (); kašnjenje (300); moveStop (); kašnjenje (200); distanceR = lookRight (); kašnjenje (300); distanceL = lookLeft (); kašnjenje (300);

ako (distanceR> = distanceL)

{turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distance = readPing (); }

int lookRight ()

{myservo.write (50); kašnjenje (650); int udaljenost = readPing (); kašnjenje (100); myservo.write (115); povratna udaljenost; }

int lookLeft ()

{myservo.write (170); kašnjenje (650); int udaljenost = readPing (); kašnjenje (100); myservo.write (115); povratna udaljenost; kašnjenje (100); }

int readPing () {

kašnjenje (70); int cm = sonar.ping_cm (); ako (cm == 0) {cm = 250; } return cm; }

void moveStop () {

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

ako (! ide naprijed)

{goesForward = true; motor1.run (NAPRIJED); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (NAPRIJED); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // polako povećavajte brzinu kako biste izbjegli prebrzo punjenje baterija {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); kašnjenje (5); }}}

void moveBackward () {

goesForward = false; motor1.run (NAZAD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (NAZAD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // polako povećavajte brzinu kako biste izbjegli prebrzo punjenje baterija {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); kašnjenje (5); }}

void turnRight () {

motor1.run (NAZAD); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (NAPRIJED); kašnjenje (350); motor1.run (NAPRIJED); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (NAPRIJED); } void turnLeft () {motor1.run (NAPRIJED); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (NAZAD); kašnjenje (350); motor1.run (NAPRIJED); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (NAPRIJED); }

Preporučuje se: