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. 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

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.

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.

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.

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.

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.

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.

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.
Parte 2 de 6:
Fiação do robô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.

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.

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.

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).

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.

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.

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.

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.

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.

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 poder1. 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.

2. Conecte um fio vermelho à segunda mola da esquerda na parte inferior. Certifique-se de que a bateria esteja orientada corretamente.

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.

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.

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.

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.

7. Conecte um fio vermelho do frente trilho vermelho no pino 30 para o pino 5v no arduino. Isso fornecerá poder ao arduino.

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.

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.

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.

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 Arduino1. 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.

2. Conecte a bateria ao arduino. Conecte a entrada da bateria para o conector no arduino para dar energia.

3. Conecte o Arduino ao seu computador via USB. O Windows provavelmente não reconhecerá o dispositivo.

4. Aperte . ⊞ Win+R e tipo devmgmt.msc. Isso lançará o gerenciador de dispositivos.

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."

6. Selecione "Navegue pelo meu computador para o software do driver." Isso permitirá que você selecione o motorista que veio com o Arduino IDE.

7. Clique "Navegar" Em seguida, navegue até a pasta que você extraiu anteriormente. Você encontrará A "Drivers" pasta dentro.

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. Inicie o Arduino IDE clicando duas vezes no arduino.Exe Arquivo na pasta IDE. Você será recebido com um projeto em branco.

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."}

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.

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) -}}

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:
Exemplo1. 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: