Índice:

Tanque de brincadeiras: 5 etapas
Tanque de brincadeiras: 5 etapas

Vídeo: Tanque de brincadeiras: 5 etapas

Vídeo: Tanque de brincadeiras: 5 etapas
Vídeo: BNCC na Prática para Educação Infantil: tanque de areia 2024, Julho
Anonim
Joking Tank
Joking Tank

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

Fiação
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

O caso
O caso
O caso
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: