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

Pequeno Rover

Componentes e suprimentos

Arduino Nano R3
× 1
Breadboard (genérico)
× 1
Fios de jumpers (genérico)
× 1
Sensor ultrassônico - HC-SR04 (genérico)
× 1
Roda Adafruit para servo FS90R de rotação micro contínua
× 2
Micro Servo de rotação contínua Adafruit - FS90R
× 2
LED (genérico)
Qualquer cor. É apenas para tornar a coisa divertida e piscar enquanto gira
× 2
porta-bateria 4xAA
Usei um porta-bateria de cilindro ... Isso é apenas para referência.
× 1
SparkFun Ball Caster Metal - 3/8 "
× 1
Recipiente de plástico
Como um tupperware barato ou uma caixa de magarine de 500g.
× 1
adesivos
Este é apenas um exemplo para mostrar a que tipo de adesivos estou me referindo ...
× 1

Ferramentas e máquinas necessárias

Pistola de cola quente (genérica)
faca de carpete

Aplicativos e serviços online

Arduino IDE

Sobre este projeto





Antecedentes


Meu sobrinho (9 anos) e minha sobrinha (7 anos) enlouqueceram quando viram um vídeo de um robô para evitar obstáculos que eu construí há um tempo.

O tutorial para esse, infelizmente, nunca virá, pois é anterior à morte do meu disco rígido e à descoberta dos benefícios dos backups e DropBox, GitHub etc. :)

Então eu decidi ver se eu poderia inventar algo que fosse ao mesmo tempo (um pouco) educacional e divertido. Simplifiquei meu brinquedo o máximo que pude e criei este pequeno veículo espacial.

O chassi é uma caixa que originalmente continha bastões de caranguejo. Acontece que o tamanho era perfeito. (Obrigado, papai, por mastigar aqueles na caixa cheia:D) Um recipiente de margarina provavelmente também seria do tamanho certo.

Como isenção de responsabilidade, descreverei aqui como construímos esses robôs e deixamos que as crianças fizessem quase todo o trabalho sozinhas. Eu não recomendo, de forma alguma, fazer isso. Cabe a vocês, como pais / responsáveis ​​/ tia / tio / babá responsáveis ​​... determinar se cada criança em questão pode ser confiável para as várias tarefas. Mesmo sem ser realmente necessário, as crianças foram obrigadas a usar óculos de proteção ao trabalhar nos robôs. As caixas que usamos eram feitas de plástico realmente macio, então deixei meu sobrinho e minha sobrinha cortá-las eles próprios depois de uma instrução sobre os perigos de apontar a faca de carpete em sua direção ou em seus próprios membros. Para fazer os orifícios para os LEDs, usamos um pequena chave de fenda elétrica sem fio para limitar os ferimentos potenciais.

Fico feliz em informar que o kit médico que eu tinha em espera ainda não foi usado. :)

Mas, para reiterar, VOCÊ é o adulto!





Circuito


Eu fiz o circuito um pouco mais complicado do que poderia ter conectado os dois servos da maneira que fiz.

Para as crianças ... Eu sempre digo isso, mas as 'crianças' incluíam minha irmã (35 anos) e minha mãe (65 anos), ambas as quais gostaram da tarde de robôs e artesanato tanto quanto crianças reais. :)

Então, para o meu público, imprimi a imagem em uma página A4 tentando manter a escala da placa de ensaio 1:1 com o mundo real e dei a eles todos os fios elétricos da cor e comprimento corretos.

Assim que o circuito estiver montado, basta carregar o programa no Arduino. Incluí comentários no código para ajudá-lo a ajustá-lo um pouco, caso seja necessário. Se tudo estiver conectado corretamente, os servos devem começar a girar e os LEDs piscarão. E se você colocar sua mão na frente do sensor, um servo servo irá parar e o outro girará na outra direção brevemente.

Tudo pronto!





Montagem


É hora de pegar seu 'chassi' e fazer furos nele.

Na frente, marque a posição do seu sensor e corte os orifícios do 'olho'.

Na lateral, meça bem onde você quer que as rodas fiquem e faça um orifício na lateral, na borda da parte inferior da caixa, grande o suficiente para o servo caber, mas pequeno o suficiente para que os suportes de montagem não entrem Através dos.

Usando uma pequena broca, faça 2 pequenos orifícios para os LEDs.

No fundo da caixa, na parte de trás, aparafuse o rodízio (ou cole com cola quente).

Agora você está pronto para colocar tudo na caixa e cola quente no lugar.

Monte as rodas nos servos uma vez que a cola tenha endurecido.

Decore a caixa! (E postar fotos neles! Seria incrível!)

Coloque as baterias e observe o pequeno veículo espacial se mover pela sala aleatoriamente até que as baterias acabem. Ou você se cansa do barulho. Ou o cachorro pega! :D

Código

  • LittleRover
LittleRover Arduino
Esta é a versão do código para o sensor ultrassônico de 4 pinos
 #include  / * Se você tiver um sensor com apenas 3 pinos, retire o comentário da linha 6 e comente a linha 7 * /// int distanceR =A0; // Trigger pinint distance =6; // Trigger pinint pingDelay =10; // comprimento do pulso do sensorint ultrassônico distanceR =A0; // Echo pinint led1 =8, led2 =9; // LEDsServo leftPower; Servo rightPower; unsigned long flashTime; unsigned long nextSensorTime; float obstacleDist =0.0f; void setup () {//Serial.begin(115200); leftPower.attach (3); rightPower.attach (5); leftPower.write (90); rightPower.write (90); pinMode (led1, OUTPUT); pinMode (led2, OUTPUT); atraso (1000);} loop vazio () {LEDs (); / * Isso evita que o sensor esgote a bateria muito rapidamente, limitando as verificações a 5 vezes por segundo. Você pode aumentar este número para verificar com menos frequência, mas ele pode bater na parede ... * / if (millis () - nextSensorTime> 200) {nextSensorTime =millis (); / * Eu faço 2 leituras aqui porque às vezes o sensor fica confuso e não retorna nada ... * / float reading1 =TakeReading (); atraso (100); float reading2 =TakeReading (); Serial.println (leitura1); Serial.println (leitura2); // Então pegamos a maior distância para obstacleDist obstacleDist =reading1> =reading2? lendo1:lendo2; // Se a distância for menor que 10cm, vire, caso contrário, dirija em linha reta. if (obstacleDist <10.0f) {//Serial.println("turn "); vez(); } else {//Serial.println("forward "); frente(); }}} void LEDs () {if (millis () - flashTime> 1000) flashTime =millis (); if (millis () - flashTime <500) {digitalWrite (led1, LOW); digitalWrite (led2, HIGH); } else if (millis () - flashTime> 500) {digitalWrite (led1, HIGH); digitalWrite (led2, LOW); }} void forward () {/ * Se você descobrir que seu robô está indo para trás, troque o 135 e o 45. * / leftPower.write (135); rightPower.write (45);} void turn () {/ * Se você quiser que seu robô vire para o outro lado, remova as linhas 92-93 abaixo e comente 95-96 * / //leftPower.write(90); //rightPower.write(135); leftPower.write (45); rightPower.write (90); atraso (350);} float TakeReading () {eco longo sem sinal =0; resultado flutuante =0,0f; pinMode (distância, SAÍDA); digitalWrite (distância, BAIXO); atrasoMicrosegundos (2); digitalWrite (distância, ALTO); delayMicroseconds (pingDelay); digitalWrite (distância, BAIXO); pinMode (distanceR, INPUT); digitalWrite (distanceR, HIGH); eco =pulseIn (distanceR, HIGH, 38000); resultado =eco / 58.138; resultado de retorno;} 

Esquemas

littlerover_87IypZOgwm.fzz

Processo de manufatura

  1. Rover
  2. Ataque OVNI!
  3. Dados digitais Arduino
  4. Fogo da Água
  5. 3D RGB Arduclock
  6. MyRiver
  7. Homem de Ferro
  8. Joystick Game
  9. Encontre-me
  10. Arduino 3D-Printed Robotic Arm