Atirador de bola de gato: 9 etapas (com fotos)
Atirador de bola de gato: 9 etapas (com fotos)
Anonim
Atirador de bolas de gato
Atirador de bolas de gato

Materiais necessários

1 x sensor RFID / remoto

1 x Arduino uno

2 x motores DC

1 x 180 servo

1 x 360 servo

múltiplos fios

Caixa / recipiente para construir o projeto

tubo para alimentar a bola

Etapa 1: Crie o circuito para alimentar os motores e o controle remoto

Crie o circuito para alimentar os motores e o controle remoto
Crie o circuito para alimentar os motores e o controle remoto
Crie o circuito para alimentar os motores e o controle remoto
Crie o circuito para alimentar os motores e o controle remoto

Construindo o circuito

construir o circuito acima e conectar aos mesmos pinos para usar exatamente o mesmo código

Etapa 2: Criar base para os dois motores

Criar base para os dois motores
Criar base para os dois motores

você precisará usar a placa de espuma para cortar retângulos de 4, 5 por 2 polegadas para os lados. em seguida, corte quadrados de 2,5 por 5 polegadas para usar como parte superior e inferior. em seguida, os motores precisarão de um lugar para sentar, então corte 2 orifícios de 23 mm de diâmetro e 39 mm de distância um do outro para dar espaço para o lançamento da bola. em seguida, faça um ponto ou alguns orifícios no quadrado inferior para permitir que os fios dos motores se conectem ao circuito.

Etapa 3: adicione o servo à parte inferior dos motores

Adicione o servo à parte inferior dos motores
Adicione o servo à parte inferior dos motores

cole cuidadosamente o servo 180 ou 360 na parte inferior (no meio) do quadrado. estamos fazendo isso para que possamos mudar a direção manualmente com o controle remoto ou aleatoriamente para que a bola atire em direções diferentes

Etapa 4: faça furos no recipiente grande

Faça furos no recipiente grande
Faça furos no recipiente grande
Faça furos no recipiente grande
Faça furos no recipiente grande
Faça furos no recipiente grande
Faça furos no recipiente grande

pegue o recipiente grande e faça um buraco na frente e atrás, não precisa ser exato, mas na frente deve ser bem grande como visto na imagem para permitir que a bola seja atirada em diferentes direções com o movimento do servo. e a parte de trás do recipiente corta um orifício menor para permitir que os fios saiam e para colocar as peças do circuito ou trocar o circuito, se necessário. na frente cole o servo na tampa de um dos recipientes e depois na base do recipiente para suporte, veja a segunda foto para referência

Etapa 5: o tubo

O cano
O cano

faça ou compre um tubo de pvc com 1 pé de comprimento, de preferência com uma curva para deixar a bola rolar, em seguida, corte um pedaço de 1,5 para deixar a bola entrar

Etapa 6: o funil

The Hopper
The Hopper
The Hopper
The Hopper
The Hopper
The Hopper

corte 4 trapézios iguais, pode ser a escolha, mas os meus tinham 5 de altura e um pouco inclinados quando colocados no tubo, então o pedaço de placa de espuma na parte inferior cortou um buraco grande o suficiente para uma bola de pingue-pongue passar. em seguida, cole-as formando um salto para que todas as bolas se acomodem. mais tarde, colaremos isso no topo do tubo onde o buraco é cortado

Etapa 7: Colocando a tremonha, tubo e motores

Colocando a tremonha, tubo e motores
Colocando a tremonha, tubo e motores

você vai querer colocar o tubo dentro do recipiente bem na borda da caixa branca feita para os motores de forma que a bola saia e seja empurrada pelas rodas. agora você pode colar a tremonha na parte superior do tubo

Etapa 8: O Servo Final

O Servo Final
O Servo Final
O Servo Final
O Servo Final

este servo é colado na parte inferior da tremonha / onde o tubo que cortei para que fique saliente o suficiente para que as bolas de ping não caiam até que o botão seja clicado e o servo se mova

Etapa 9: adicionar código para testar as peças de trabalho

Adicionar código para testar as peças de trabalho
Adicionar código para testar as peças de trabalho

// fixador de gato

// importe bibliotecas para usar comandos em todo o código, por exemplo, declarando pinos como servos e configurando o IR remoto #include #include

// configurando variáveis para definir velocidades para os motores DC int onspeed = 255; velocidade baixa int = 100; int offspeed = 0;

// configurando o pino receptor infravermelho e os dois pinos do motor int IR_Recv = 2; int motor1 = 10; motor interno 2 = 11;

// declarando as variáveis como servos para que o programa saiba que é um servo para usar comandos específicos Servo flap; Ângulo do servo;

// declarando o pino IR para receber entradas de controles remotos // obtém os resultados do IRrecv remoto irrecv (IR_Recv); resultados de decode_results;

void setup () {

Serial.begin (9600); // inicia a comunicação serial irrecv.enableIRIn (); // Inicia o receptor

flap.attach (7); // anexa a aba do servo ao pino 7 para que possamos usá-la mais tarde no programa angle.attach (4); // anexa o ângulo do servo ao pino 4 para que possamos usá-lo posteriormente no programa pinMode (motor1, OUTPUT); // define motor1 para uma saída para que possamos enviar velocidades para quando o botão for pressionado pinMode (motor2, OUTPUT); // define motor2 para uma saída para que possamos enviar velocidades para quando o botão for pressionado

}

void loop () {

flap.write (0); // define o servo controlando o alimentador de bola para 0 graus para não deixar nenhuma bola passar

if (irrecv.decode (& results)) {long int decCode = results.value; Serial.println (decCode); irrecv.resume ();

switch (results.value) {

case 0xFFA25D: // power analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); atraso (7000); flap.write (90); atraso (500); flap.write (0); atraso (2000); analogWrite (motor1, velocidade reduzida); analogWrite (motor2, velocidade reduzida); pausa;

case 0xFFE01F: // EQ

analogWrite (motor1, onspeed); analogWrite (motor2, baixa velocidade); atraso (7000); flap.write (90); atraso (500); flap.write (0); atraso (2000); analogWrite (motor1, velocidade reduzida); analogWrite (motor2, velocidade reduzida);

pausa;

case 0xFF629D: // modo

analogWrite (motor1, velocidade baixa); analogWrite (motor2, onspeed); atraso (7000); flap.write (90); atraso (500); flap.write (0); atraso (2000); analogWrite (motor1, velocidade reduzida); analogWrite (motor2, velocidade reduzida);

pausa;

caso 0xFF30CF: // configuração 1, 90 graus

angle.write (30);

pausa;

case 0xFF18E7: // configuração 2, 0 graus

angle.write (90);

pausa;

case 0xFF7A85: // configuração 3, 180 graus

angle.write (150);

pausa;

} } }