Índice:
- Etapa 1: Obtendo as peças
- Etapa 2: Fiação
- Etapa 3: Pré-codificar coisas
- Etapa 4: Código
- Etapa 5: o caso
Vídeo: Tanque de brincadeiras: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Esse é um projeto que fiz na minha escola o HKU, que exigia que fizéssemos algo com um Arduino Uno. Eu queria fazer algo que fizesse minha coisa favorita, fizesse as pessoas rirem. Então decidi fazer uma caixa de piadas que iria jogar uma piada para você, mas a piada que isso contaria dependeria de o que um par de módulos de sensor estavam medindo naquele determinado momento no tempo. Para torná-lo mais pessoal, decidi torná-lo um tanque.
Etapa 1: Obtendo as peças
As partes que seriam necessárias para recriar este projeto seriam
- 1 computador capaz de executar o IDE Arduino
- 1x Arduino Uno
- 1x cabo conector USB para Arduino Uno
- 1 sensor de sonar
- 1x Alto-falante (de preferência um de qualidade decente (usei um que tirei de um alto-falante bluetooth)).
- 1 módulo amplificador LM386 (é possível fazer você mesmo, mas usei um módulo).
- 1x microfone LM393
- 1x LDR
- 1x LED (qualquer cor serve, mas eu usei azul).
- 4x resistor 1kΩ
- 1x resistor de 2, 7kΩ
- 1x breadboard
- 1 cartão micro SD (de preferência pequeno (1 ou 2 gb)).
- 1x furadeira.
- 1x cabeça de perfuração de 16 mm (de preferência feita para perfurar metal).
- 1x cabeça de perfuração de 9 mm (também preferencialmente feita para perfurar metal).
- 1x cabeça de perfuração de 1 mm (de preferência feita para perfurar metal).
- 1x tanque modelo (eu usei um leopardo 2 em escala 1:35, mas outros casos também devem servir).
- Supercola / cola quente
- e alguns fios de preferência em cores diferentes.
- abraçadeiras para cabos (opcional).
Etapa 2: Fiação
Precisamos começar com a fiação, a imagem é um desenho técnico de como tudo deve ser conectado. Isso deve servir como seu projeto. Nota: Todas as portas do Arduino são nomeadas AP # para cada porta. Portanto, a 4ª porta no Arduino é AP4, a porta A0 é APA0 e a porta 6 ~ é AP6 ~, etc. Todas as outras portas são nomeadas conforme aparecem nos próprios módulos.
Etapa 3: Pré-codificar coisas
Agora, antes de começarmos a usar o código, precisamos de mais informações. Recomendo que você siga este tutorial do homem da etapa 2 a 4
www.electronoobs.com/eng_arduino_tut8.php
No entanto, não usaremos o código dele, pois usaremos o nosso próprio. Observe que alguns alto-falantes usam frequências diferentes. Meu alto-falante usava arquivos de áudio de 16 bits e 32kHz. Portanto, se sua fala está fazendo algum tipo de ruído, mas não reproduz seus arquivos, tente tocar com sua frequência.
Etapa 4: Código
Agora vamos fazer o upload do código para o arduino. Copie tudo isso, cole-o no IDE do Arduino e faça o upload para o seu Arduino.
// inclui a biblioteca para o leitor de cartão SD. # include "Wtv020sd16p.h" // inclui a biblioteca necessária para o sensor de sonar. #include // Define os pinos para o Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Define os pinos para a biblioteca do cartão SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Define os pinos para a biblioteca de sensores do Sonar. Sonar NewPing (11, 10); // Configura as outras entradas e define a taxa de bits do programa. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Parte principal do programa. void loop () {// Define os intermediários int lightDetectedVal = analogRead (lightDetectedPin); valor da distância interna = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Atrase para que o projeto o projeto não continue usando o alto-falante infinitamente. atraso (30000); // Impressão serial e linhas de impressão para que você possa ver facilmente quais valores são obtidos pelos módulos do sensor. Serial.print ("Valor do som:"); // Múltiplas instruções if para que o programa reproduza arquivos de áudio diferentes dependendo dos valores medidos pelos módulos do sensor. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Distância:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Light Value:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Outra impressão serial para que você possa ver qual arquivo de áudio exato foi reproduzido. Serial.println ("1 --------"); // Outro atraso para deixar o arquivo de áudio tocar sua duração total. atraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); atraso (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); atraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); atraso (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); atraso (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Light Value:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); atraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); atraso (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); atraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); atraso (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); atraso (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); atraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); atraso (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); atraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); atraso (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); atraso (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Light Value:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); atraso (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); atraso (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); atraso (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); atraso (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); atraso (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); atraso (5000); }}}}
Etapa 5: o caso
Agora vem a parte complicada real.
Ajustar tudo no caso pode ser um pouco complicado, pois depende de como você encaixou tudo em sua placa de ensaio ou como você soldou as coisas. Mas você vai precisar fazer alguns furos para os sensores serem inseridos. Coloquei o microfone (necessária uma broca de 9 mm) e o módulo de sonar (necessária uma broca de 6 mm) na parte traseira e o LDR na frente do tanque, mas você pode colocá-los em qualquer lugar se tiver espaço.
Certifique-se de cortar um orifício no corpo do modelo para poder conectar seu arduino com o cabo conector.
Eu recomendaria colocar o alto-falante na torre. como deve haver muito espaço deixado lá.
A imagem à esquerda acima mostra como encaixei o arduino e a impressão que soldei dentro do modelo Leopard 2. A imagem direita mostra a maior parte da fiação instalada.
O que você pode fazer é fazer pequenos furos na parte inferior do modelo para prender o Arduino com abraçadeiras.
Mas se não estou enganado, agora você deve terminar.
Recomendado:
Chassi de tanque robótico de acrílico barato para Arduino SN7300 Sinoning: 6 etapas
Chassi de tanque de acrílico barato para Arduino SN7300 Sinoning: Chassi de tanque de acrílico barato para Arduino SN7000 Sinoning comprar em: SINONING ROBOT TANK
Monitor de tanque de óleo WiFi: 6 etapas (com fotos)
Monitor de tanque de óleo WiFi: Existem várias maneiras de verificar quanto combustível resta no tanque de óleo de aquecimento. A maneira mais simples é usar uma vareta medidora de nível, muito precisa, mas não muito divertida em um dia frio de inverno. Alguns tanques são equipados com um tubo de visão, novamente dando uma indicação direta de
Tanque de controle remoto: 3 etapas
Tanque com controle remoto: Este é um guia sobre como fazer um tanque com controle remoto. O conjunto que usarei para fazer o carro hoje é um kit de carro tanque simples, com um sensor de luz para seguir um caminho. Seu carro não precisa do sensor de luz, mas um carro com tração tanque é necessário
Tanque controlado RC impresso em 3D !!: 8 etapas (com fotos)
3D Printed RC Controlled Tank !!: Você sempre quis ter um veículo controlado remotamente que pudesse sair da estrada e você pudesse até mesmo ver de uma câmera de visão em primeira pessoa, então este tanque é incrível para você. As trilhas no tanque permitem uma grande aderência ao dirigir em terrenos como a sujeira
Guia de instalação do chassi do tanque do robô de metal WALL-E: 3 etapas
Guia de instalação do chassi do tanque robô de metal WALL-E: este é um chassi do tanque do robô de metal, bom para fazer o tanque do robô. tal Arduino robot.it feito em liga de alumínio leve e forte.made by SINONING uma loja de brinquedos DIY