Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Obstáculos para evitar o robô com servo motor

Componentes e suprimentos

Arduino UNO
× 1
Micro servo motor SG90
× 1
Sensor ultrassônico SparkFun - HC-SR04
× 1
Kit de chassi do robô - 2WD com motores CC
× 1
Fios de jumpers (genérico)
× 1
Arduino MotorShield Rev3
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Tudo sobre o projeto

Sou um estudante de Design de Artes de Mídia que estuda na Multimedia University, Cyberjaya Malaysia. Este é o meu Gamma Year estudando Media Art. Design de interação é a disciplina que ensinará aos alunos como usar os componentes do Arduino e como ele funciona. Portanto, em minha tarefa final, escolhi o robô Obstáculos a Evitar como meu próprio projeto e aprendi como todos os componentes funcionam.

Etapa 1:

Prepare e construa seu chassi de robô. Dentro da embalagem tem alguns componentes, chassi, dois motores, duas rodas, uma roda dianteira, um porta-bateria, alguns parafusos, switch e fios de jumper. Foto abaixo:

Etapa 2:

Antes de soldar os fios do jumper em ambos os motores, eu recomendaria testar todos os componentes para ter certeza de que estão funcionando bem, por exemplo:Ambos os motores DC, placa Arduino, Motor Shield, Servo motor e sensor ultrassônico. Em seguida, começaremos a soldar o fio vermelho e preto em ambos os motores, exemplo da imagem abaixo:

Etapa 3:

Venha para o nosso chassis de bateria e troque a parte. Precisamos apenas cortar metade do fio preto do chassi da bateria e soldar 1 lado do fio em 1 orifício, outro fio preto soldará em outro orifício. Nosso switch está pronto!

Etapa 4:

Precisamos empilhar a placa Arduino e a placa Motor Shield, o Motor Shield se empilhará na placa Arduino. Exemplo abaixo:

Etapa 5:

Avançaremos para a placa do Motor Shield. Esta blindagem fornece energia para os motores e servo motor, os motores precisam de muita corrente e esta blindagem pode fornecer até 600mA de corrente para cada motor. Precisamos soldar / consertar os fios do motor DC na placa de blindagem do motor. Se os fios do motor DC forem longos o suficiente para alcançar a blindagem do motor, será ótimo, caso contrário, você pode precisar usar fios de jumper externos (não importa se é fio de jumper Macho / Fêmea), corte a cabeça do fio de jumper e certifique-se de dentro do linha de cobre aparece. (Você precisará cortar a borracha do fio de jumper para fazer o fio de cobre aparecer). E você precisa soldar os fios externos aos fios do motor DC. Exemplo:

Em seguida, conecte o fio esquerdo do motor ao conector M1 da blindagem do motor. O fio direito do motor se conectará ao conector M3 da placa de blindagem do motor. Exemplo:

Etapa 6:

Em seguida, precisaremos conectar os fios da chave da bateria, ambos os fios vermelho e preto, à placa de blindagem do motor.

Depois disso, precisaremos preparar os fios jumper macho e fêmea para soldá-los a 5V, GND, pino analógico 4 e pino analógico 5. Antes disso, precisaremos encontrar os fios jumper fêmea e macho das mesmas cores e cortá-los ao meio . Por que deve ser da mesma cor? Em primeiro lugar, é fácil reconhecermos qual fio pertence a qual parte. Em segundo lugar, o fio jumper macho branco soldará com o fio jumper fêmea branco que se conecta a 5V. O fio jumper Macho de cor preta solda com o fio jumper fêmea e o fio jumper Macho solda ao GND. O fio jumper macho de cor laranja soldará com o fio jumper feminino laranja, o fio jumper macho laranja soldará no pino analógico 5. Por último, mas não menos importante, o fio jumper macho marrom será soldado com o fio jumper marrom fêmea e, em seguida, o fio jumper macho de cor marrom será soldado no Pino analógico 4. Exemplo:

Etapa 7:

Você pode usar fita dupla-face ou pistola de cola quente para prender a proteção no chassi do robô.

Etapa 8:venha para a parte do sensor ultrassônico

Dos fios de jumper Fêmea e Macho que soldamos agora, o fio de jumper branco (5V) (fio de jumper de local feminino) se conectará ao pino VCC do sensor ultrassônico. O fio de jumper preto (GND) (fio de jumper de local fêmea) se conectará ao pino GND. O fio de jumper marrom (Pino analógico 4) (fio de jumper de local fêmea) se conectará ao pino de eco. O fio de jumper de cor laranja (Pino analógico 5) (fio de jumper de local fêmea) se conectará ao pino TRIG.

Etapa 9:

Por último, para o servo motor será conectado ao slot servo_2. Nota * (Existem poucos tipos de servo motor por aí. Você pode precisar encontrá-lo online para saber como eles se conectam ao slot do servo_2). Abaixo está a minha própria versão do slot servo.

Última etapa:Código

Para este robô evitando Obstáculos, precisaremos de 3 bibliotecas, que é a biblioteca Motor Shield para o driver Motor Shield, a nova biblioteca Ping é para o sensor ultrassônico. O terceiro é o Arduino IDE. Abaixo estão os links para download para bibliotecas:
  • Biblioteca Motor Shield
  • Nova biblioteca Ping

Agradeço por vocês verem meu projeto. Espero que as instruções sejam claras o suficiente para que vocês sigam e construam o Robô de Evitar Obstáculos. Obrigada!

Vídeo para teste:


Código

  • Arduino IDE
Arduino IDE C #
Copie e cole o código no IDE do Arduino e depois carregue na sua placa Arduino
 #include  #include  #include  #define TRIG_PIN A4 #define ECHO_PIN A5 # define MAX_DISTANCE_POSSIBLE 1000 #define MAX_SPEED 150 // #define MOTORS_CALIBRATION_OFFSET 3 # define COLL_DIST 20 #define TURN_DIST COLL_DIST + 10 Sonar NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE_POSSIBLE); AF_DCMotor leftMotor (3, MOZTOR12K8K8K8); AF_DCMotor rightMotor (1, MOTOR12_8KHZ); Servo neckControllerServoMotor; int pos =0; int maxDist =0; int maxAngle =0; int maxRight =0; int maxLeft =0; int maxFront =0; int course =0; int curDist =0; String motorSet =""; int speedSet =0; configuração vazia () {neckControllerServoMotor.attach (10); neckControllerServoMotor.write (90); atraso (2000); checkPath (); motorSet ="FORWARD"; neckControllerServoMotor.write (90); moveForward ();} void loop () {checkForward (); checkPath ();} void checkPath () {int curLeft =0; int curFront =0; int curRight =0; int curDist =0; neckControllerServoMotor.write (144); atraso (120); para (pos =144; pos> =36; pos- =18) {neckControllerServoMotor.write (pos); atraso (90); checkForward (); curDist =readPing (); if (curDist  curDist) {maxAngle =pos;} if (pos> 90 &&curDist> curLeft) {curLeft =curDist;} if (pos ==90 &&curDist> curFront) {curFront =curDist;} if (pos <90 &&curDist> curRight) {curRight =curDist;}} maxLeft =curLeft; maxRight =curRight; maxFront =curFront;} void setCourse () {if (maxAngle <90) {turnRight ();} if (maxAngle> 90) {turnLeft ();} maxLeft =0; maxRight =0; maxFront =0;} void checkCourse () {moveBackward (); atraso (500); moveStop (); setCourse ();} void changePath () {if (pos <90) {lookLeft ();} if (pos> 90) {lookRight ();}} int readPing () {delay (70); sem sinal int uS =sonar.ping (); int cm =uS / US_ROUNDTRIP_CM; return cm;} void checkForward () {if (motorSet =="FORWARD") {leftMotor.run (FORWARD); rightMotor.run (FORWARD); }} void checkBackward () {if (motorSet =="BACKWARD") {leftMotor.run (BACKWARD); rightMotor.run (BACKWARD); }} void moveStop () {leftMotor.run (RELEASE); rightMotor.run (RELEASE);} void moveForward () {motorSet ="FORWARD"; leftMotor.run (FORWARD); rightMotor.run (FORWARD); para (speedSet =0; speedSet  

Esquemas


Processo de manufatura

  1. Robô Pi Simples
  2. Robô seguidor de linha
  3. Controle de um robô Roomba com Arduino e dispositivo Android
  4. Controle do Servo Motor com Arduino e MPU6050
  5. Robô assistente autônomo da casa
  6. Braço do robô Arduino DIY - Controlado por gestos manuais
  7. Controlar Arduino Robot Arm com aplicativo Android
  8. Robô para navegação interna supercool
  9. O que é um servo motor?
  10. Emparelhamento de redutores com servomotores