Talaan ng mga Nilalaman:

Paano Gumawa ng isang Smart Robot Gamit ang Arduino: 4 Hakbang
Paano Gumawa ng isang Smart Robot Gamit ang Arduino: 4 Hakbang

Video: Paano Gumawa ng isang Smart Robot Gamit ang Arduino: 4 Hakbang

Video: Paano Gumawa ng isang Smart Robot Gamit ang Arduino: 4 Hakbang
Video: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, Disyembre
Anonim
Image
Image

Kamusta,

Gumagawa ako ng arduino at sa tutorial na ito ipapakita ko sa iyo na kung paano gumawa ng matalinong robot gamit ang arduino

kung nagustuhan mo ang aking tutorial pagkatapos isaalang-alang ang pagsuporta sa aking youtube channel na pinangalanan ang gumagawa ng arduino

Mga gamit

MGA BAGAY NA kakailanganin mo:

1) arduino uno

2) ultrasonic sensor

3) Bo motor

4) gulong

5) mga stick ng ice cream

6) 9v na baterya

Hakbang 1: Mga koneksyon

PADILAHIN ANG LAHAT NG MGA KONTENSA SA LUGAR
PADILAHIN ANG LAHAT NG MGA KONTENSA SA LUGAR

Pagkatapos, pagkuha ng lahat ng mga supply ngayon dapat mong simulang ikonekta ang lahat ng mga bagay ayon sa circuit diagram na ibinigay sa itaas

Hakbang 2: PAKALAPIT ANG LAHAT NG MGA KOMPONENSA SA LUGAR

OK,

ikonekta ang lahat ng mga bagay sa lugar tulad ng ipinakita sa larawan sa itaas

Hakbang 3: PROGRAMMING

Ngayon,

simulang i-program ang board gamit ang naibigay na code sa ibaba

// ARDUINO OBSTACLE AVOIDING CAR // // Bago mag-upload ng code kailangan mong i-install ang kinakailangang library // // AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing Library https://github.com/livetronic/Arduino-NewPing// // Servo Library https://github.com/arduino-libraries/Servo.git // // Upang I-install ang mga aklatan pumunta sa sketch >> Isama Library >> Magdagdag ng. ZIP File >> Piliin ang Na-download na mga ZIP file Mula sa mga link sa Itaas //

# isama

# isama

# isama

# tukuyin ang TRIG_PIN A0

#define ECHO_PIN A1 # tukuyin MAX_DISTANCE 200

#define MAX_SPEED 150 // nagtatakda ng bilis ng DC Motors

# tukuyin MAX_SPEED_OFFSET 20

NewPing sonar (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;

boolean goesForward = false;

int distansya = 100; int speedSet = 0;

walang bisa ang pag-setup () {

myservo.attach (10);

myservo.write (115); pagkaantala (1000); distansya = readPing (); pagkaantala (100); distansya = readPing (); pagkaantala (100); distansya = readPing (); pagkaantala (100); distansya = readPing (); pagkaantala (100); }

void loop () {

int distansyaR = 0; int distansyaL = 0; pagkaantala (40); kung (distansya <= 15) {moveStop (); pagkaantala (100); ilipatBackward (); pagkaantala (300); ilipatStop (); pagkaantala (200); distanceR = lookRight (); pagkaantala (300); distansyaL = lookLeft (); pagkaantala (300);

kung (distansyaR> = distansyaL)

{ lumiko pakanan(); ilipatStop (); } iba pa {turnLeft (); ilipatStop (); }} iba pa {moveForward (); } distansya = readPing (); }

int lookRight ()

{myservo.write (50); pagkaantala (650); int distansya = readPing (); pagkaantala (100); myservo.write (115); distansya ng pagbabalik; }

int lookLeft ()

{myservo.write (170); pagkaantala (650); int distansya = readPing (); pagkaantala (100); myservo.write (115); distansya ng pagbabalik; pagkaantala (100); }

int readPing () {

pagkaantala (70); int cm = sonar.ping_cm (); kung (cm == 0) {cm = 250; } bumalik cm; }

walang bisa moveStop () {

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

kung (! goesForward)

{goesForward = totoo; motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FORWARD); para sa (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // dahan-dahan dalhin ang bilis upang maiwasan ang pag-load pababa ng mga baterya {motor1.setSpeed (speedSet); //motor2.setSpeed(SpeedSet); //motor3.setSpeed(SpeedSet); motor4.setSpeed (speedSet); antala (5); }}}

walang bisa moveBackward () {

goesForward = false; motor1.run (BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (BACKWARD); para sa (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // dahan-dahan dalhin ang bilis upang maiwasan ang pag-load pababa ng mga baterya {motor1.setSpeed (speedSet); //motor2.setSpeed(SpeedSet); //motor3.setSpeed(SpeedSet); motor4.setSpeed (speedSet); antala (5); }}

void turnRight () {

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

Inirerekumendang: