Como construir um robô em casa

Você quer aprender a construir seu próprio robô?? Há muitos tipos diferentes de robôs que você pode fazer sozinho. A maioria das pessoas quer ver um robô realizar as tarefas simples de se mudar do ponto A para apontar b. Você pode fazer um robô completamente de componentes analógicos ou comprar um kit de arranque a partir do zero! Construir seu próprio robô é uma ótima maneira de ensinar-se tanto eletrônica quanto programação de computadores.

Passos

Parte 1 de 6:
Montando o robô
  1. Imagem intitulada 1123333 1
1. Reúna seus componentes. Para construir um robô básico, você precisará de vários componentes simples. Você pode mais encontrar, se não todos, desses componentes em sua loja de passatempo local, ou vários varejistas on-line. Alguns kits básicos podem incluir todos esses componentes também. Este robô não requer nenhuma solda:
  • Arduino Uno (ou outro microcontrolador)
  • 2 servos de rotação contínua
  • 2 rodas que se encaixam nos servos
  • 1 rolo de rodízio
  • 1 pequena tábua de solda (procure por uma tábua de pão que tenha duas linhas positivas e negativas em cada lado)
  • 1 sensor de distância (com cabo de conector de quatro pinos)
  • 1 interruptor de botão mini push
  • 1 10kΩ resistor
  • 1 USB A para B Cable
  • 1 conjunto de cabeçalhos de breakaway
  • 1 6 x suporte da bateria com conector de energia 9V DC
  • 1 pacote de fios de jumper ou fio de conexão de gravador de 22
  • Forte fita dupla face ou cola quente
  • Imagem intitulada 1123333 2
    2. Virar a bateria sobre para que a parte traseira plana esteja voltada para cima. Você estará construindo o corpo do robô usando a bateria como base.
  • Imagem intitulada 1123333 3
    3. Alinhe os dois servos no final da bateria. Este deve ser o fim que o fio da bateria está saindo dos servos deve ser tocando fundo, e os mecanismos rotativos de cada um devem estar enfrentando os lados da bateria. Os servos devem estar bem alinhados para que as rodas vão diretamente. Os fios para os servos devem estar saindo da parte de trás da bateria.
  • Imagem intitulada 1123333 4
    4. Afixe os servos com sua fita ou cola. Certifique-se de que eles estão solidamente presos à bateria. As costas dos servos devem ser alinhadas em flush com a parte de trás da bateria.
  • Os servos devem agora estar ocupando a metade traseira da bateria.
  • Imagem intitulada 1123333 5
    5. Afixe a tábua de pão perpendicularmente no espaço aberto na bateria. Deve pendurar a frente da bateria apenas um pouco e se estenderá além de cada lado. Certifique-se de que está firmemente preso antes de prosseguir. O "UMA" linha deve ser mais próxima dos servos.
  • Imagem intitulada 1123333 6
    6. Anexar o microcontrolador Arduino aos topos dos servos. Se você anexou corretamente os servos, deve haver um espaço plano feito por eles tocando. Coloque a placa Arduino neste espaço plano para que os conectores USB e Power dos Arduino estejam enfrentando as costas (longe da tábua). A frente do arduino deve ser apenas mal sobrepeito a tábua de pão.
  • Imagem intitulada 1123333 7
    7. Coloque as rodas nos servos. Pressione firmemente as rodas para o mecanismo rotativo do servo. Isso pode exigir uma quantidade significativa de força, pois as rodas são projetadas para se encaixar com a melhor maneira possível para a melhor tração.
  • Imagem intitulada 1123333 8
    8. Anexe o rodízio ao fundo da tábua de pão. Se você virar o chassi, você deve ver um pouco de tábua de pão que se estende pela bateria. Anexe o lançador a esta peça estendida, usando risers, se necessário. O rodízio age como a roda dianteira, permitindo que o robô ligue facilmente em qualquer direção.
  • Se você comprou um kit, o lançador pode ter vindo com alguns risers que você pode usar para garantir que o lançador atinja o chão. eu
  • Parte 2 de 6:
    Fiação do robô
    1. Imagem intitulada 1123333 9
    1. Quebre dois cabeçalhos de 3 pinos. Você estará usando estes para conectar os servos à tábua de pão. Empurre os pinos para baixo pelo cabeçalho para que os pinos saiam a uma distância igual em ambos os lados.
  • Imagem intitulada 1123333 10
    2. Insira os dois cabeçalhos em pinos 1-3 e 6-8 na linha e da tábua de pão. Certifique-se de que eles estão firmemente inseridos.
  • Imagem intitulada 1123333 11
    3. Conecte os cabos servo aos cabeçalhos, com o cabo preto no lado esquerdo (pinos 1 e 6). Isso conectará os servos à breadboard. Certifique-se de que o servo esquerdo esteja conectado ao cabeçalho esquerdo e ao servo certo para o cabeçalho da direita.
  • Imagem intitulada 1123333 12
    4. Conecte os fios do jumper vermelho dos pinos C2 e C7 para os pinos de trilho vermelhos (positivos). Certifique-se de usar o trilho vermelho na parte de trás da placa de pão (mais perto do resto do chassi).
  • Imagem intitulada 1123333 13
    5. Conecte os fios de jumper pretos dos pinos B1 e B6 para azul (terra) pinos de trilho. Certifique-se de usar o trilho azul na parte de trás da tábua de pão. Não os conecte nos pinos de trilho vermelho.
  • Imagem intitulada 1123333 14
    6. Conecte os fios de jumper branco dos pinos 12 e 13 no Arduino para A3 e A8. Isso permitirá que o Arduino controle os servos e gire as rodas.


  • Imagem intitulada 1123333 15
    7. Anexe o sensor à frente da tábua de pão. Não é conectado aos trilhos de energia externos na tábua de pão, mas na primeira linha de pinos letras (J). Certifique-se de colocá-lo no centro exato, com um número igual de pinos disponíveis em cada lado.
  • Imagem intitulada 1123333 16
    8. Conecte um fio de jumper preto do PIN I14 para o primeiro pino de trilho azul disponível à esquerda do sensor. Isso irá aterrar o sensor.
  • Imagem intitulada 1123333 17
    9. Conecte um fio de jumper vermelho do pino i17 para o primeiro pino de trilho vermelho disponível à direita do sensor. Isso irá alimentar o sensor.
  • Imagem intitulada 1123333 18
    10. Conecte os fios de jumper branco do PIN I15 para PIN 9 no Arduino, e de I16 a Pin 8. Isso alimentará informações do sensor para o microcontrolador.
  • Parte 3 de 6:
    Fiação do poder
    1. Imagem intitulada 1123333 19
    1. Virar o robô do lado para que você possa ver as baterias no pacote. Orientá-lo para que o cabo da bateria esteja saindo para a esquerda na parte inferior.
  • Imagem intitulada 1123333 20
    2. Conecte um fio vermelho à segunda mola da esquerda na parte inferior. Certifique-se de que a bateria esteja orientada corretamente.
  • Imagem intitulada 1123333 21
    3. Conecte um fio preto até a última primavera na parte inferior direita. Esses dois cabos ajudarão a fornecer a voltagem correta ao Arduino.
  • Imagem intitulada 1123333 22
    4. Conecte os fios vermelhos e pretos aos pinos vermelhos e azuis distantes na parte de trás da tábua de pão. O cabo preto deve ser conectado ao pino do trilho azul no pino 30. O cabo vermelho deve ser conectado ao pino de trilho vermelho no pino 30.
  • Imagem intitulada 1123333 23
    5. Conecte um fio preto do pino GND no arduino para o trilho azul para trás. Conecte-o no PIN 28 no trilho azul.
  • Imagem intitulada 1123333 24
    6. Conecte um fio preto do trilho azul para trás para o trilho azul dianteiro no pino 29 para cada. Fazer não conecte os trilhos vermelhos, como você provavelmente vai danificar o arduino.
  • Imagem intitulada 1123333 25
    7. Conecte um fio vermelho do frente trilho vermelho no pino 30 para o pino 5v no arduino. Isso fornecerá poder ao arduino.
  • Imagem intitulada 1123333 26
    8. Insira o botão de pressão na lacuna entre linhas em pinos 24-26. Este interruptor permitirá que você desligue o robô sem ter que desconectar a energia.
  • Imagem intitulada 1123333 27
    9. Conecte um fio vermelho de H24 para o trilho vermelho no próximo pino disponível à direita do sensor. Isso irá alimentar o botão.
  • Imagem intitulada 1123333 28
    10. Use o resistor para conectar H26 ao trilho azul. Conecte-o ao PIN diretamente ao lado do fio preto que você conectou algumas degraus.
  • Imagem intitulada 1123333 29
    11. Conecte um fio branco de G26 para pin 2 no arduino. Isso permitirá que o Arduino registre o botão.
  • Parte 4 de 6:
    Instalando o software Arduino
    1. Imagem intitulada 1123333 30
    1. Baixe e extraia o Arduino IDE. Este é o ambiente de desenvolvimento Arduino e permite que você programe instruções que você pode enviar para o seu microcontrolador Arduino. Você pode baixá-lo gratuitamente de arduino.CC / EN / Main / Software. Descompacte o arquivo baixado clicando duas vezes e mova a pasta dentro para um local de fácil acesso. Você não estará realmente instalando o programa. Em vez disso, você basta executá-lo da pasta extraída clicando duas vezes arduino.Exe.
  • Imagem intitulada 1123333 31
    2. Conecte a bateria ao arduino. Conecte a entrada da bateria para o conector no arduino para dar energia.
  • Imagem intitulada 1123333 32
    3. Conecte o Arduino ao seu computador via USB. O Windows provavelmente não reconhecerá o dispositivo.
  • Imagem intitulada 1123333 33
    4. Aperte . ⊞ Win+R e tipo devmgmt.msc. Isso lançará o gerenciador de dispositivos.
  • Imagem intitulada 1123333 34
    5. Clique com o botão direito do mouse no "Dispositivo desconhecido" no "Outros dispositivos" seção e select "Atualizar o software do driver." Se você não vir esta opção, clique em "Propriedades" Em vez disso, selecione o "Motorista" aba e, em seguida, clique em "Atualizar o driver."
  • Imagem intitulada 1123333 35
    6. Selecione "Navegue pelo meu computador para o software do driver." Isso permitirá que você selecione o motorista que veio com o Arduino IDE.
  • Imagem intitulada 1123333 36
    7. Clique "Navegar" Em seguida, navegue até a pasta que você extraiu anteriormente. Você encontrará A "Drivers" pasta dentro.
  • Imagem intitulada 1123333 37
    8. Selecione os "Drivers" pasta e clique "OK." Confirme que você deseja prosseguir se for avisado sobre software desconhecido.
  • Parte 5 de 6:
    Programando o robô
    1. Imagem intitulada 1123333 38
    1. Inicie o Arduino IDE clicando duas vezes no arduino.Exe Arquivo na pasta IDE. Você será recebido com um projeto em branco.
  • Imagem intitulada 1123333 39
    2. Cole o código a seguir para fazer o seu robô ir direto. O código abaixo fará seu arduino continuamente avançar.
    #include // isso adiciona o "Servo" Biblioteca ao Programa // O seguinte cria dois servo ObjectsServo Secto-Motor-ServoTemtor-Void Setup () {leftmotor.Anexar (12) - // Se você acidentalmente mudou os números dos pinos para seus servos, você pode trocar os números hereightmotor.anexar (13) -} loop void () {leftmotor.Escreva (180) - // com rotação contínua, 180 diz ao servo para mover a velocidade máxima "frente."Rightmotor. Escreva (0) - // Se ambos são em 180, o robô irá em um círculo porque os servos são virados. "0," diz para mover a velocidade máxima "para trás."}
  • Imagem intitulada 1123333 40
    3. Construa e faça o upload do programa. Clique no botão de seta para a direita no canto superior esquerdo para construir e carregar o programa para o Arduino conectado.
  • Você pode querer levantar o robô da superfície, pois continuará a seguir para a frente quando o programa for carregado.
  • Imagem intitulada 1123333 41
    4. Adicione a funcionalidade do interruptor de matar. Adicione o seguinte código ao "Voice Loop ()" seção do seu código para ativar o interruptor de matar, acima do "Escreva()" funções.
    if (digitalread (2) == alta) //, este registra quando o botão é pressionado no PIN 2 do Arduino {Enquanto (1) {leftmotor.Escreva (90) - // "90" é a posição neutra para os servos, que diz para parar o TurningRightMotor.Escreva (90) -}}
  • Imagem intitulada 1123333 42
    5. Carregar e testar seu código. Com o código de chave adicionado, você pode carregar e testar o robô. Deve continuar a dirigir até você pressionar o interruptor, em que ponto ele parará de se mover. O código completo deve ser assim:
    #include // o seguinte cria dois servo ObjectsEservo deixou de configuração à direitaMotor-ServoTemtor () {leftmotor.Anexar (12) -Rightmotor.anexar (13) -} loop void () {if (digitalread (2) == alto) {while (1) {leftmotor.Escreva (90) -ketortor.Escreva (90) -}} leftmotor.Escreva (180) -CoTmotor.Escreva (0) -}
  • Parte 6 de 6:
    Exemplo
    1. Siga um exemplo. O código a seguir usará o sensor preso ao robô para torná-lo para a esquerda sempre que encontrar um obstáculo. Veja os comentários no código para obter detalhes sobre o que cada parte faz. O código abaixo é o programa inteiro.
    #include servotmotor-servo direitomotor-servo rightmotor-const int serialperiod = 250 - // este limita saída para o console para uma vez a cada 1/4 secundários long timeserialdelay = 0-constt loopperiod = 20 - // isso define com que frequência o sensor Ler para 20 ms, que é uma frequência de 50Hzunsigned longo TimeloopDelay = 0 - // Isso atribui os funções Trig e Echo aos pinos no Arduino. Faça ajustes para os números aqui Se você conectou DifferentlyConst int Ultrassonic2Trigpin = 8-constt ultra-sonic2chopin = 9-int ultra-sonic2distance-int ultrassonic2duration - // isto define os dois estados possíveis para o robô: condução para a frente ou desligando a esquerda # define drive_forward0 # Definir turn_left1int Estado = drive_forward- // 0 = acionamento adiante (padrão), 1 = gire a configuração da esquerda () {serial.Begin (9600) - // Esses configurações do PIN do sensorPinMode (ultra-sonic2trigpin, saída) -pinmode (Ultrasonic2Chopin, entrada) - // Isso atribui os motores ao Arduino Pinsleftmotor.Anexar (12) -Rightmotor.Anexar (13) -} loop void () {if (digitalread (2) == alto) // isso detecta o interruptor matar {enquanto (1) {leftmotor.Escreva (90) -ketortor.Escreva (90) -}} DebugOutput () - // Esta imprime as mensagens de depuração para o Consoleif Serial (Millis () - TimelooopDelay >= loopperiod) {readultrasonicsensors () - // isto instrui o sensor a ler e armazenar a distancesstatemachine medida () - TimelooopDelay = Millis () -}} vácuo () {if (estado == drive_forward) // se não houver obstáculos {if (ultra-sonic2distance > 6 ||. ultra-sonic2tistance < 0) // Se não há nada na frente do robô. UltrasonicDistance será negativo para alguns ultrassônica se não houver obstáculo {// drive forwardmotor.Escreva (180) -leftmotor.Escreva (0) -} else // Se houver um objeto na frente de US {state = turn_left -}} else if (estado == Turn_Left) // Se um obstáculo for detectado, vire à esquerda {Humetotleft longo não assinado = 500- / ocupa por aí .5 segundos para entregar 90 graus. Você pode ser necessário ajustar isso se suas rodas são um tamanho diferente do selevamunsigned longo turnstarttime = Millis () - // salvar o tempo que começamos a ativar ((Millis () - TurnStarttime) < timetouturnleft) // Permane neste loop até que o TimeToTurnleft tenha decorrido {// vire à esquerda, lembre-se que ambos são definidos para "180" Vai se virar.Rightmotor.Escreva (180) -leftmotor.Escreva (180) -} Estado = drive_forward -}} Void readultrasonicsensors () {// isto é para Ultrasonic 2. Você pode precisar alterar esses comandos se usar um sensor diferente.digitalwrite (ultra-sonic2trigpin, alto) -delaymicRoseconds (10) - // mantém o pino de trigamento alto para pelo menos 10 microssegondsdigitalwite (ultrassonic2trigpin, baixo) -ultrasonic2duration = pulsoin (ultra-sonic2chopin, alto) -ultrasonic2distance = (ultrassonic2duration / 2) / 29-} // o seguinte é para depurar erros no console.Void DebugOutput () {if ((milis () - TimebookDelay) > serialperiod) {serial.impressão("Ultrassonic2Distance: ")-Serial.Imprimir (ultra-sonic2distance) -serial.impressão("cm")-Serial.println () - timeserialdelay = millis () -}}

    Vídeo

    Ao usar este serviço, algumas informações podem ser compartilhadas com o YouTube.

    Pontas

    Compartilhe na rede social:
    Semelhante