Como fazer um robô em casa (com fotos)

Índice:

Como fazer um robô em casa (com fotos)
Como fazer um robô em casa (com fotos)

Vídeo: Como fazer um robô em casa (com fotos)

Vídeo: Como fazer um robô em casa (com fotos)
Vídeo: COMO FAZER MAPAS CUSTOMIZADOS (DECORAÇÃO REALISTA) | MINECRAFT 2024, Novembro
Anonim

Você quer aprender como fazer seu próprio robô? Existem muitos tipos diferentes de robôs, que você mesmo pode construir. A maioria das pessoas deseja ver um robô realizar a tarefa fácil de mover-se do ponto A para o ponto B. Você pode construir um robô totalmente com componentes analógicos ou comprar um kit inicial. Fazer seu próprio robô é uma ótima maneira de aprender eletrônica e programação de computadores.

Etapa

Parte 1 de 5: Montando o robô

1123333 1
1123333 1

Etapa 1. Monte seus componentes

Para construir um robô básico, você precisará de alguns componentes simples. Você pode encontrar a maioria ou todos esses componentes em sua loja local de eletrônicos, ou em alguns varejistas online. Alguns kits incluem todos esses componentes. Este robô não requer solda:

  • Arduino Uno (ou outro microcontrolador)
  • 2 servos 360 graus
  • 2 rodas combinando com servo
  • 1 roda livre
  • 1 placa de teste (placa de ensaio ou placa de projeto) que não foi soldada (procure uma placa de teste que tenha duas linhas positivas e negativas em cada lado)
  • 1 sensor de proximidade (com cabo conector de quatro pinos)
  • 1 botão de pressão
  • 1 resistor 10kΩ
  • 1 cabo USB A para B
  • 1 conjunto de cabeçalhos quebráveis
  • 1 porta-pilhas AA de 6 x com tomada de alimentação de 9 Vcc
  • 1 pacote de 22. cabos de jumper ou cabo único
  • Isolamento para frente e para trás (fita dupla) ou pistola de cola
1123333 2
1123333 2

Etapa 2. Vire o compartimento da bateria para que sua parte traseira plana fique voltada para cima

Você construirá o corpo do robô usando o compartimento da bateria como base.

1123333 3
1123333 3

Etapa 3. Organize dois servos voltados para a mesma direção no final do compartimento da bateria

Essa extremidade é a extremidade em que o cabo sai da bateria. Os servos devem tocar a parte inferior e o mecanismo de rotação de cada servo deve estar voltado para fora das laterais do compartimento da bateria. É importante que esses servos estejam dispostos corretamente para que as rodas fiquem retas. Os cabos do servo devem sair da parte traseira do compartimento da bateria.

1123333 4
1123333 4

Etapa 4. Cole os servos com seu isolamento ou cola

Certifique-se de que o servo está firmemente conectado ao compartimento da bateria. A parte traseira do servo deve estar alinhada com a parte traseira do compartimento da bateria.

Agora, os servos devem ocupar metade do espaço na parte de trás do compartimento da bateria

1123333 5
1123333 5

Etapa 5. Cole a placa de teste perpendicularmente ao espaço restante no compartimento da bateria

Esta placa de teste ficará ligeiramente suspensa na frente do compartimento da bateria e se estenderá para ambos os lados. Certifique-se de que a placa de teste está apertada antes de prosseguir. A linha “A” deve estar mais próxima do servo.

1123333 6
1123333 6

Etapa 6. Conecte o microcontrolador Arduino à parte superior do servo

Se você conectar o servo corretamente, deve haver uma parte plana dos dois servos se tocando. Cole a placa Arduino neste ponto plano para que os conectores de alimentação USB e Arduino fiquem voltados para baixo (longe da placa de teste). A frente do Arduino se sobreporá à placa de teste.

1123333 7
1123333 7

Etapa 7. Instale as rodas nos servos

Pressione firmemente as rodas no servomecanismo rotativo. Isso pode exigir uma força considerável, pois as rodas são projetadas para ter orifícios que correspondem exatamente ao formato da ponta do servo.

1123333 8
1123333 8

Etapa 8. Instale a roda livre na parte inferior da placa de teste

Se você virar o robô de cabeça para baixo, verá uma pequena placa de teste pendurada no compartimento da bateria. Prenda a roda livre a esta parte suspensa. Use uma cunha, se necessário. A roda livre funciona como a roda dianteira que permite ao robô girar em qualquer direção com facilidade.

Se você comprou um kit, a roda livre pode ter algumas cunhas que você pode usar para garantir que a roda esteja livre para tocar o solo

Parte 2 de 5: Conectando o Robô

1123333 9
1123333 9

Etapa 1. Corte dois cabeçalhos de 3 pinos

Você vai usar isso para conectar o servo à placa de teste. Empurre os pinos para baixo através dos cabeçalhos, para que saiam a uma distância igual em ambos os lados.

1123333 10
1123333 10

Etapa 2. Insira os dois conectores nos pinos 1-3 e 6-8 na linha E da placa de teste

Certifique-se de que eles estão inseridos com firmeza ou firmeza.

1123333 11
1123333 11

Etapa 3. Conecte os fios do servo com o conector, com o fio preto no lado esquerdo (pinos 1 e 6)

Isso conectará o servo à placa de teste. Certifique-se de que o servo esquerdo está conectado ao conector esquerdo e o servo direito está conectado ao conector direito.

1123333 12
1123333 12

Etapa 4. Conecte o fio de jumper vermelho dos pinos C2 e C7 ao pino de trilho vermelho (positivo)

Certifique-se de usar o trilho vermelho na parte de trás da placa de teste (mais perto do resto do corpo do robô).

1123333 13
1123333 13

Etapa 5. Conecte o fio jumper preto dos pinos B1 e B6 ao pino de trilho azul (terra)

Certifique-se de usar o trilho azul na parte traseira da placa de teste. Não conecte o cabo ao pino vermelho do trilho.

1123333 14
1123333 14

Etapa 6. Conecte os fios de jumper brancos dos pinos 12 e 13 no Arduino para A3 e A8

Isso permitirá que o Arduino controle o servo e gire a roda.

1123333 15
1123333 15

Etapa 7. Prenda o sensor na parte frontal da placa de teste

O sensor não é montado no barramento de alimentação externo na placa de teste, mas nas duas primeiras fileiras de pinos com as letras (J). Certifique-se de colocá-lo bem no meio com um número igual de pinos vazios de cada lado.

1123333 16
1123333 16

Etapa 8. Conecte o fio jumper preto do pino I14 ao primeiro pino de trilho azul à esquerda do sensor

Isso irá aterrar o sensor.

1123333 17
1123333 17

Etapa 9. Conecte o fio de jumper vermelho do pino I17 ao primeiro pino de trilho vermelho à direita do sensor

Isso fornecerá energia ao sensor.

1123333 18
1123333 18

Etapa 10. Conecte os fios de jumper brancos do pino I15 ao pino 9 no Arduino e de I16 ao pino 8

Isso fornecerá informações do sensor ao microcontrolador.

Parte 3 de 5: Instalando o cabo de alimentação

1123333 19
1123333 19

Etapa 1. Vire o robô para que você possa ver o compartimento da bateria dentro

Organize o compartimento da bateria de forma que o cabo saia pela parte inferior esquerda.

1123333 20
1123333 20

Etapa 2. Conecte o fio vermelho com a segunda mola da esquerda na parte inferior

Certifique-se de que o compartimento da bateria esteja devidamente alinhado ou voltado para a direção correta.

1123333 21
1123333 21

Etapa 3. Conecte o fio preto com a última mola no canto inferior direito

Esses dois fios ajudarão a fornecer a voltagem certa para o Arduino.

1123333 22
1123333 22

Etapa 4. Conecte os fios vermelho e preto aos pinos vermelho e azul que estão no lado direito na parte traseira da placa de teste

O fio preto deve ir para o pino de trilho azul no pino 30. O fio vermelho deve ir para o pino de trilho vermelho no pino 30.

1123333 23
1123333 23

Etapa 5. Conecte o fio preto do pino GND no Arduino à parte traseira do trilho azul

Conecte o fio ao pino 28 no trilho azul.

1123333 24
1123333 24

Etapa 6. Conecte o fio preto da parte traseira do trilho azul à frente do trilho azul no pino 29 para ambos os trilhos

Não conecte o trilho vermelho, pois você pode danificar o Arduino.

1123333 25
1123333 25

Etapa 7. Conecte o fio vermelho da frente do trilho vermelho no pino 30 ao pino 5V no Arduino

Isso fornecerá energia ao Arduino.

1123333 26
1123333 26

Etapa 8. Insira a chave do botão de pressão no espaço entre os pinos 24-26

Esta opção permitirá que você desligue o robô sem ter que desligar a energia.

1123333 27
1123333 27

Etapa 9. Conecte o fio vermelho de H24 ao trilho vermelho no próximo pino vazio à direita do sensor

Isso fornecerá energia ao botão.

1123333 28
1123333 28

Etapa 10. Use um resistor para conectar H26 ao trilho azul

Conecte-o ao pino diretamente ao lado do fio preto que você acabou de conectar nas etapas anteriores.

1123333 29
1123333 29

Etapa 11. Conecte o fio branco do G26 ao pino 2 no Arduino

Isso permitirá que o Arduino detecte os botões.

Parte 4 de 5: Instalando o software Arduino

1123333 30
1123333 30

Etapa 1. Baixe e extraia o IDE do Arduino

É aqui que o Arduino é desenvolvido e permite que você programe instruções que podem ser carregadas em seu microcontrolador Arduino. Você pode baixá-lo gratuitamente em arduino.cc/en/main/software. Descompacte o arquivo baixado clicando duas vezes no arquivo e movendo a pasta que ele contém para um local de fácil acesso. Na verdade, você não instalará o programa; em vez disso, apenas executará a partir de uma pasta que foi extraída clicando duas vezes em arduino.exe.

1123333 31
1123333 31

Etapa 2. Conecte o compartimento da bateria ao Arduino

Insira o soquete traseiro da bateria no conector do Arduino para ligá-lo.

1123333 32
1123333 32

Etapa 3. Insira o Arduino em seu computador via USB

Provavelmente, o Windows não reconhecerá o dispositivo.

1123333 33
1123333 33

Etapa 4. Pressione

Win + R e digite devmgmt.msc.

Este comando irá abrir o Gerenciador de Dispositivos.

1123333 34
1123333 34

Etapa 5. Clique com o botão direito em Dispositivo desconhecido em Outros dispositivos e selecione Atualizar software de driver

Se você não vir essa opção, clique em Propriedades, selecione a guia Driver e clique em Atualizar driver.

1123333 35
1123333 35

Etapa 6. Selecione Procurar software de driver em meu computador

Isso permitirá que você selecione os drivers integrados que vêm com o IDE do Arduino.

1123333 36
1123333 36

Etapa 7. Clique em Procurar e abra a pasta extraída anteriormente

Você encontrará a pasta de drivers nele.

1123333 37
1123333 37

Etapa 8. Selecione a pasta de drivers e clique em OK

Confirme que deseja continuar se for avisado sobre software desconhecido.

Parte 5 de 5: robôs de programação

1123333 38
1123333 38

Etapa 1. Abra o Arduino IDE clicando duas vezes no arquivo arduino.exe na pasta IDE

Você será saudado com um projeto em branco.

1123333 39
1123333 39

Etapa 2. Cole ou cole o código a seguir para tornar seu robô avançado

O código abaixo manterá seu Arduino funcionando.

#include // adiciona a biblioteca “Servo” ao programa // o comando a seguir cria dois objetos servo Servo leftMotor; Servo rightMotor; void setup () {leftMotor.attach (12); // se você acidentalmente trocou os números dos pinos do seu servo, você pode trocar os números aqui rightMotor.attach (13); } void loop () {leftMotor.write (180); // com uma rotação de 360 graus (rotação contínua), o número 180 instrui o servo a se mover “para frente” em velocidade total. rightMotor.write (0); // se ambos os valores forem 180, o robô girará em um círculo porque o servo está invertido. “0” diz ao robô para se mover “para trás” em velocidade total. }

1123333 40
1123333 40

Etapa 3. Crie e carregue o programa

Clique no botão de seta para a direita no canto superior esquerdo para criar e fazer upload de um programa para o Arduino conectado.

Você pode levantar o robô da superfície, pois o robô continuará a andar para frente após o upload do programa

1123333 41
1123333 41

Etapa 4. Adicionar uma função de interruptor de parada (interruptor de interrupção)

Adicione o seguinte código à seção "void loop ()" do seu código para adicionar uma função de interruptor de parada na parte superior da função "write ()".

if (digitalRead (2) == HIGH) // este comando é executado quando o botão é pressionado no pino 2 Arduino {while (1) {leftMotor.write (90); // "90" é a posição neutra para o servo, que diz ao servo para parar de girar para a direitaMotor.write (90); }}

1123333 42
1123333 42

Etapa 5. Faça o upload e verifique o seu código

Com o código do interruptor de parada já adicionado, você pode fazer o upload do código e testar o robô. O robô deve continuar em frente até que você pressione o botão de parada, o que fará com que o robô pare. O código completo ficará assim:

#include // o comando a seguir cria dois objetos Servo leftMotor servo; Servo rightMotor; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Exemplo

O código a seguir usará sensores instalados no robô para fazê-lo virar à esquerda sempre que o robô encontrar um obstáculo. Veja os comentários no código para obter detalhes sobre como usar cada parte. O código abaixo é o programa completo.

#include Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // este código fornece ao retardo de tempo de saída do console a cada 1/4 de segundo (250 ms) unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // este código define a frequência de leitura do sensor para 20 ms, que é 50 Hz sem sinal long timeLoopDelay = 0; // este código atribui as funções TRIG e ECHO aos pinos no Arduino. Ajuste os números aqui se você conectá-los de maneira diferente const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // este código define dois estados possíveis do robô: continuar em frente ou virar à esquerda #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = continuar em frente (DEFAULT), 1 = virar à esquerda void setup () {Serial.begin (9600); // este sensor determina a configuração do pino pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // isso atribui o motor aos pinos do Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // este código detecta uma '' parada '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // este código imprime mensagens de depuração no console serial if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // este código instrui o sensor a ler e armazenar dados sobre a distância medida stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // se nenhum obstáculo for detectado {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // se não há nada na frente do robô. ultrasonicDistance será negativo para alguns ultrassônicos se não houver obstáculos {// drive forward rightMotor.write (180); leftMotor.write (0); } else // se houver um objeto na nossa frente {state = TURN_LEFT; }} else if (state == TURN_LEFT) // se um obstáculo for detectado, vire à esquerda {unsigned long timeToTurnLeft = 500; // leva cerca de 0,5 segundos para girar 90 graus. Você pode precisar ajustar este valor se as suas rodas diferirem em tamanho do tamanho no exemplo unsigned long turnStartTime = millis (); // mantenha a condição quando o robô começa a girar enquanto ((millis () - turnStartTime) <timeToTurnLeft) // mantém este ciclo até que timeToTurnLeft (500) tenha passado {// vire à esquerda, lembre-se de que quando ambos estão "180", o robô irá girar. rightMotor.write (180); leftMotor.write (180); } estado = DRIVE_FORWARD; }} void readUltrasonicSensors () {// isso é para ultrassônico 2. Você pode precisar alterar este comando se estiver usando um sensor diferente. digitalWrite (ultrasonic2TrigPin, HIGH); atrasoMicrosegundos (10); // puxar o pino TRIG para cima por pelo menos 10 microssegundos digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duração / 2) / 29; } // o seguinte é para depurar erros no console. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Recomendado: