How to Make a Smart Robot Using Arduino

Introduction: How to Make a Smart Robot Using Arduino

About: Hello, I'm a junior creator and I'm 15 years old, I also have a YouTube channel named arduino maker

hello,

I'm arduino maker and in this tutorial i'm going to show you that how to make smart robot using arduino

if you liked my tutorial then consider suporting my youtube channel named the arduino maker

Supplies

THINGS YOU WILL NEED :

1) arduino uno

2) ultrasonic sensor

3) Bo motor

4) wheels

5) ice cream sticks

6) 9v battery

Step 1: CONNECTIONS

After, getting all supplies now you should start connecting all things according to the circuit diagram given above

Step 2: GLUE ALL THE COMPONENTS IN PLACE

OK,

now connect all the things in place as shown in the above picture

Step 3: PROGRAMMING

Now,

start programming the board with the given code below

//ARDUINO OBSTACLE AVOIDING CAR//
// Before uploading the code you have to install the necessary 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 // // To Install the libraries go to sketch >> Include Library >> Add .ZIP File >> Select the Downloaded ZIP files From the Above links //

#include <AFmotor.h>

#include <NewPing.h> #include <Servo.h>

#define TRIG_PIN A0 #define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // sets speed of DC motors #define 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 distance = 100; int speedSet = 0;

void setup() {

myservo.attach(10); myservo.write(115); delay(1000); distance = readPing(); delay(100); distance = readPing(); delay(100); distance = readPing(); delay(100); distance = readPing(); delay(100); }

void loop() { int distanceR = 0; int distanceL = 0; delay(40); if(distance<=15) { moveStop(); delay(100); moveBackward(); delay(300); moveStop(); delay(200); distanceR = lookRight(); delay(300); distanceL = lookLeft(); delay(300);

if(distanceR>=distanceL) { turnRight(); moveStop(); }else { turnLeft(); moveStop(); } }else { moveForward(); } distance = readPing(); }

int lookRight() { myservo.write(50); delay(650); int distance = readPing(); delay(100); myservo.write(115); return distance; }

int lookLeft() { myservo.write(170); delay(650); int distance = readPing(); delay(100); myservo.write(115); return distance; delay(100); }

int readPing() { delay(70); int cm = sonar.ping_cm(); if(cm==0) { cm = 250; } return cm; }

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

if(!goesForward) { goesForward=true; motor1.run(FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run(FORWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the speed up to avoid loading down the batteries too quickly { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); delay(5); } } }

void moveBackward() { goesForward=false; motor1.run(BACKWARD); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run(BACKWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the speed up to avoid loading down the batteries too quickly { motor1.setSpeed(speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); delay(5); } }

void turnRight() { motor1.run(BACKWARD); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run(FORWARD); delay(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); delay(350); motor1.run(FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run(FORWARD); }

Step 4: ENJOY!!!

NOW START PLAYING WITH THE ROBOT!!!!!!!

Be the First to Share

    Recommendations

    • Fandom Contest

      Fandom Contest
    • Maps Challenge

      Maps Challenge
    • First Time Author Contest

      First Time Author Contest

    Comments