Índice:
- Etapa 1: Crie o circuito para alimentar os motores e o controle remoto
- Etapa 2: Criar base para os dois motores
- Etapa 3: adicione o servo à parte inferior dos motores
- Etapa 4: faça furos no recipiente grande
- Etapa 5: o tubo
- Etapa 6: o funil
- Etapa 7: Colocando a tremonha, tubo e motores
- Etapa 8: O Servo Final
- Etapa 9: adicionar código para testar as peças de trabalho
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
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
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
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
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
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
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
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
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
// 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;
} } }