Სარჩევი:

როგორ გააკეთოთ ჭკვიანი რობოტი Arduino– ს გამოყენებით: 4 ნაბიჯი
როგორ გააკეთოთ ჭკვიანი რობოტი Arduino– ს გამოყენებით: 4 ნაბიჯი

ვიდეო: როგორ გააკეთოთ ჭკვიანი რობოტი Arduino– ს გამოყენებით: 4 ნაბიჯი

ვიდეო: როგორ გააკეთოთ ჭკვიანი რობოტი Arduino– ს გამოყენებით: 4 ნაბიჯი
ვიდეო: 1. რა არის Arduino? როგორ მუშაობს კომპიუტერი? 2024, ნოემბერი
Anonim
Image
Image

გამარჯობა,

მე ვარ არდუინოს მწარმოებელი და ამ გაკვეთილში მე ვაჩვენებ იმას, თუ როგორ უნდა გავაკეთოთ ჭკვიანი რობოტი არდუინოს გამოყენებით

თუ მოგეწონათ ჩემი გაკვეთილი, განიხილეთ მხარი ჩემი იუთუბ არხის არდუინოს მწარმოებლის სახელით

მარაგები

ის, რაც დაგჭირდებათ:

1) არდუინო უნო

2) ულტრაბგერითი სენსორი

3) ბო ძრავა

4) ბორბლები

5) ნაყინის ჩხირები

6) 9 ვ ბატარეა

ნაბიჯი 1: კავშირები

წებოვანა ყველა კომპონენტი ადგილზე
წებოვანა ყველა კომპონენტი ადგილზე

ამის შემდეგ, ყველა მარაგის მიღების შემდეგ თქვენ უნდა დაიწყოთ ყველაფრის დაკავშირება ზემოთ მოცემული წრიული დიაგრამის მიხედვით

ნაბიჯი 2: წებოვანა ყველა კომპონენტი ადგილზე

ᲙᲐᲠᲒᲘ,

ახლა დააკავშირეთ ყველაფერი, რაც ნაჩვენებია ზემოთ სურათზე

ნაბიჯი 3: პროგრამირება

ახლა,

დაიწყეთ დაფის დაპროგრამება ქვემოთ მოცემული კოდით

// ARDUINO დაბრკოლება ავტომობილის თავიდან აცილება //// კოდის ატვირთვამდე უნდა დააინსტალიროთ საჭირო ბიბლიოთეკა // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing ბიბლიოთეკა https://github.com/livetronic/Arduino-NewPing// // სერვო ბიბლიოთეკა https://github.com/arduino-libraries/Servo.git // // ბიბლიოთეკების დაყენების მიზნით გადადით ჩანახატზე >> ჩართეთ ბიბლიოთეკა >> დაამატეთ. ZIP ფაილი >> აირჩიეთ გადმოწერილი ZIP ფაილები ზემოთ ბმულებიდან //

#ჩართეთ

#ჩართეთ

#ჩართეთ

#განსაზღვრეთ TRIG_PIN A0

#განსაზღვრეთ ECHO_PIN A1 #განსაზღვრეთ MAX_DISTANCE 200

#განსაზღვრეთ MAX_SPEED 150 // ადგენს DC ძრავების სიჩქარეს

#განსაზღვრეთ MAX_SPEED_OFFSET 20

NewPing სონარი (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); სერვო მისერვო;

ბული მიდის წინ = ყალბი;

int მანძილი = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); დაგვიანება (1000); მანძილი = readPing (); დაგვიანება (100); მანძილი = readPing (); დაგვიანება (100); მანძილი = readPing (); დაგვიანება (100); მანძილი = readPing (); დაგვიანება (100); }

ბათილი მარყუჟი () {

int მანძილი R = 0; int მანძილი L = 0; დაგვიანება (40); if (მანძილი <= 15) {moveStop (); დაგვიანება (100); moveBackward (); დაგვიანება (300); moveStop (); დაგვიანება (200); მანძილი R = lookRight (); დაგვიანება (300); მანძილი L = lookLeft (); დაგვიანება (300);

თუ (მანძილი R> = მანძილი ლ)

{turnRight (); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } მანძილი = readPing (); }

int lookRight ()

{myservo.write (50); დაგვიანება (650); int მანძილი = readPing (); დაგვიანება (100); myservo.write (115); დაბრუნების მანძილი; }

int lookLeft ()

{myservo.write (170); დაგვიანება (650); int მანძილი = readPing (); დაგვიანება (100); myservo.write (115); დაბრუნების მანძილი; დაგვიანება (100); }

int readPing () {

დაგვიანება (70); int cm = sonar.ping_cm (); თუ (სმ == 0) {სმ = 250; } დაბრუნება სმ; }

void moveStop () {

motor1.run (გათავისუფლება); //motor2.run (გათავისუფლება); //motor3.run (გათავისუფლება); motor4.run (გათავისუფლება); } void moveForward () {

თუ (! მიდის წინ)

{goForward = true; motor1.run (წინ); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (წინ); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // ნელა მოიყვანეთ სიჩქარე, რათა თავიდან აიცილოთ ბატარეები ძალიან სწრაფად {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); დაგვიანება (5); }}}

void moveBackward () {

goForward = false; motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // ნელა მოიყვანეთ სიჩქარე, რათა თავიდან აიცილოთ ბატარეები ძალიან სწრაფად {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); დაგვიანება (5); }}

void turnRight () {

motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run (FORWARD); motor4.run (წინ); დაგვიანება (350); motor1.run (წინ); //motor2.run(FORWARD); //motor3.run (FORWARD); motor4.run (წინ); } void turnLeft () {motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); დაგვიანება (350); motor1.run (წინ); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (წინ); }

გირჩევთ: