Índice:

Como fazer um robô inteligente usando o Arduino: 4 etapas
Como fazer um robô inteligente usando o Arduino: 4 etapas

Vídeo: Como fazer um robô inteligente usando o Arduino: 4 etapas

Vídeo: Como fazer um robô inteligente usando o Arduino: 4 etapas
Vídeo: ROBÔ QUE DESVIA DE TUDO! Sensor de Obstáculos #shorts 2024, Novembro
Anonim
Image
Image

Olá,

Sou o criador do arduino e neste tutorial vou mostrar como fazer um robô inteligente usando o arduino

se você gostou do meu tutorial, considere apoiar meu canal do youtube chamado fabricante do arduino

Suprimentos

COISAS QUE VOCÊ PRECISA:

1) arduino uno

2) sensor ultrassônico

3) Bo motor

4) rodas

5) palitos de sorvete

6) bateria 9v

Etapa 1: CONEXÕES

COLAR TODOS OS COMPONENTES NO LUGAR
COLAR TODOS OS COMPONENTES NO LUGAR

Depois de obter todos os suprimentos agora, você deve começar a conectar todas as coisas de acordo com o diagrama de circuito fornecido acima

Etapa 2: COLAR TODOS OS COMPONENTES NO LUGAR

OK,

agora conecte todas as coisas no lugar como mostrado na imagem acima

Etapa 3: PROGRAMAÇÃO

Agora,

comece a programar a placa com o código fornecido abaixo

// ARDUINO OBSTACLE EVITANDO CAR //// Antes de enviar o código, você deve instalar a biblioteca necessária // // Biblioteca AFMotor https://learn.adafruit.com/adafruit-motor-shield/library-install // // Biblioteca NewPing https://github.com/livetronic/Arduino-NewPing// // Biblioteca Servo https://github.com/arduino-libraries/Servo.git // // Para instalar as bibliotecas vá para sketch >> Incluir Biblioteca >> Adicionar arquivo. ZIP >> Selecione os arquivos ZIP baixados nos links acima //

#incluir

#incluir

#incluir

# define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

# define MAX_SPEED 150 // define a velocidade dos motores DC

# define MAX_SPEED_OFFSET 20

Sonar 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); Servo myservo;

boolean goesForward = false;

distância interna = 100; int speedSet = 0;

void setup () {

myservo.attach (10);

myservo.write (115); atraso (1000); distância = leitura (); atraso (100); distância = leitura (); atraso (100); distância = leitura (); atraso (100); distância = leitura (); atraso (100); }

void loop () {

distância interna R = 0; distância interna L = 0; atraso (40); if (distância <= 15) {moveStop (); atraso (100); mover para trás(); atraso (300); moveStop (); atraso (200); distanceR = lookRight (); atraso (300); distanceL = lookLeft (); atraso (300);

if (distanceR> = distanceL)

{ Vire à direita(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distância = leitura (); }

int lookRight ()

{myservo.write (50); atraso (650); distância interna = leitura (); atraso (100); myservo.write (115); distância de retorno; }

int lookLeft ()

{myservo.write (170); atraso (650); distância interna = leitura (); atraso (100); myservo.write (115); distância de retorno; atraso (100); }

int readPing () {

atraso (70); int cm = sonar.ping_cm (); se (cm == 0) {cm = 250; } return cm; }

void moveStop () {

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

if (! vai para a frente)

{vai para a frente = verdadeiro; motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FORWARD); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // aumentar lentamente a velocidade para evitar carregar as baterias muito rapidamente {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); atraso (5); }}}

void moveBackward () {

vai para a frente = falso; motor1.run (PARA TRÁS); //motor2.run(BACKWARD); //motor3.run(BACKWARD); motor4.run (PARA TRÁS); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // aumentar lentamente a velocidade para evitar carregar as baterias muito rapidamente {motor1.setSpeed (speedSet); //motor2.setSpeed(speedSet); //motor3.setSpeed(speedSet); motor4.setSpeed (speedSet); atraso (5); }}

void turnRight () {

motor1.run (PARA TRÁS); //motor2.run(BACKWARD); //motor3.run(FORWARD); motor4.run (FORWARD); atraso (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 (PARA TRÁS); atraso (350); motor1.run (FORWARD); //motor2.run(FORWARD); //motor3.run(FORWARD); motor4.run (FORWARD); }

Recomendado: