Table des matières:

Plaisanterie : 5 étapes
Plaisanterie : 5 étapes

Vidéo: Plaisanterie : 5 étapes

Vidéo: Plaisanterie : 5 étapes
Vidéo: 5 ÉTAPES pour repartir du bon pied | Organisation & Bonnes résolutions | Reset Day 2024, Novembre
Anonim
Plaisanterie Réservoir
Plaisanterie Réservoir

C'est un projet que j'ai fait dans mon école le HKU, qui nous obligeait à faire quelque chose avec un Arduino Uno. Je voulais faire quelque chose qui ferait mon truc préféré, faire rire les gens. J'ai donc décidé de faire une blague qui vous lancerait une blague, mais quelle blague cela vous donnerait dépendrait de ce que mesuraient quelques modules de capteurs à ce moment précis. Pour le rendre plus personnel, j'ai décidé d'en faire un tank.

Étape 1: Obtenir les pièces

Les pièces dont vous auriez besoin pour recréer ce projet seraient

  • 1x ordinateur capable d'exécuter Arduino IDE
  • 1x Arduino Uno
  • 1x câble de connexion USB pour Arduino Uno
  • 1x capteur sonar
  • 1x haut-parleur (de préférence un haut-parleur de qualité décente (j'en ai utilisé un que j'ai sorti d'un haut-parleur Bluetooth)).
  • 1x module amplificateur LM386 (il est possible de le faire vous-même mais j'ai utilisé un module).
  • 1x micro LM393
  • 1x LDR
  • 1x LED (n'importe quelle couleur fera l'affaire mais j'ai utilisé du bleu).
  • 4x résistance 1kΩ
  • 1x 2, 7kΩ résistance
  • 1x planche à pain
  • 1x carte micro SD (de préférence petite (1 ou 2 Go)).
  • 1x perceuse électrique.
  • 1x tête de perçage de 16 mm (de préférence conçue pour le perçage du métal).
  • 1x tête de forage de 9 mm (également conçue de préférence pour le perçage du métal).
  • 1x tête de forage de 1 mm (encore une fois de préférence conçue pour le perçage du métal).
  • 1x réservoir modèle (j'ai utilisé un léopard 2 à l'échelle 1:35 mais d'autres cas devraient également convenir).
  • Superglue / colle chaude
  • et pas mal de fils de préférence de couleurs différentes.
  • serre-câbles (facultatif).

Étape 2: Câblage

Câblage
Câblage

Nous devons commencer par le câblage, l'image est un dessin technique de la façon dont tout doit être câblé. Cela devrait servir de plan. Remarque: tous les ports Arduino sont nommés AP# pour chaque port. Ainsi, le 4ème port sur le Arduino est AP4, le port A0 est APA0 et le port 6~ est AP6~, etc. Tous les autres ports sont nommés tels qu'ils apparaissent sur les modules eux-mêmes.

Étape 3: choses de pré-codage

Maintenant, avant de pouvoir commencer à utiliser le code, nous avons besoin de quelques trucs. Je vous recommande maintenant de suivre ce tutoriel de l'étape 2 à 4

www.electronoobs.com/eng_arduino_tut8.php

Cependant, nous n'allons pas utiliser son code car nous allons utiliser le nôtre. Veuillez noter que certains haut-parleurs utilisent des fréquences différentes. Mon haut-parleur utilisait des fichiers audio 16 bits 32 kHz. Donc, si votre parole fait du bruit mais ne lit pas vos fichiers, essayez de jouer avec votre fréquence.

Étape 4: Coder

Maintenant, nous allons télécharger le code sur l'arduino. Copiez tout cela et collez-le dans l'IDE Arduino et téléchargez-le sur votre Arduino.

//comprend la bibliothèque pour le lecteur de carte SD.#include "Wtv020sd16p.h" //comprend la bibliothèque nécessaire pour le capteur sonar. #include // Définit les broches pour l'Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; //Définit les broches de la bibliothèque de cartes SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); //Définit les broches de la bibliothèque de capteurs Sonar. Nouveau sonar Ping (11, 10); // Configure les autres entrées et définit le débit binaire du programme. void setup() { wtv020sd16p.reset(); pinMode(lightDetectedPin, INPUT); pinMode(soundDetectedPin, INPUT); Serial.begin(9600); } //Partie principale du programme. void loop() { //Définit les entiers int lightDetectedVal = analogRead(lightDetectedPin); int distanceVal = sonar.ping_cm(); int soundDetectedVal = digitalRead(soundDetectedPin); //Délai pour que le projet le projet ne continue pas indéfiniment à utiliser le haut-parleur. retard (30000); // Impression en série et lignes d'impression afin que vous puissiez facilement voir quelles valeurs sont prises par les modules de capteur. Serial.print("Valeur du son: "); //Plusieurs instructions if pour que le programme joue différents fichiers audio en fonction des valeurs mesurées par les modules capteurs. if (soundDetectedVal == 0) { Serial.println(soundDetectedVal); Serial.print("Distance: "); if (distanceVal == 0) { Serial.println(distanceVal); Serial.print("Valeur de lumière: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(1); //Une autre impression en série pour que vous puissiez voir quel fichier audio exact a été lu. Serial.println("1--------"); //Un autre délai pour laisser le fichier audio jouer sur toute sa longueur. retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(2); Serial.println("2--------"); retard (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(3); Serial.println("3--------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(4); Serial.println("4--------"); retard (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(5); Serial.println("5--------"); retard (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal 0 || distanceVal == NULL) { Serial.println(distanceVal); Serial.print("Valeur de lumière: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(7); Serial.println("7--------"); retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(8); Serial.println("8--------"); retard (8000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(9); Serial.println("9--------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(10); Serial.println("10-------"); retard (8000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(11); Serial.println("11-------"); retard (6000); } else if (lightDetectedVal >= 500 || lightDetectedVal <= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(13); Serial.println("13-------"); retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(14); Serial.println("14-------"); retard (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(15); Serial.println("15-------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(16); Serial.println("16-------"); retard (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(17); Serial.println("17-------"); retard (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal >= 150) { Serial.println(distanceVal); Serial.print("Valeur de lumière: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(19); Serial.println("19-------"); retard (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(20); Serial.println("20-------"); retard (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(21); Serial.println("21-------"); retard (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(22); Serial.println("22-------"); retard (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(23); Serial.println("23-------"); retard (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal << 500) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(24); Serial.println("24-------"); retard (5000); } } } }

Étape 5: Le cas

L'affaire
L'affaire
L'affaire
L'affaire

Vient maintenant la partie compliquée réelle.

Tout mettre dans le boîtier peut être un peu délicat, cela dépend de la façon dont vous avez tout installé sur votre planche à pain ou de la façon dont vous soudez les éléments ensemble. Mais vous devrez faire quelques trous pour que les capteurs adhèrent. J'ai mis le microphone (foret 9mm nécessaire) et le module sonar (foret 6mm nécessaire) à l'arrière et le LDR à l'avant du réservoir mais vous pouvez les mettre effectivement n'importe où si vous avez de la place.

Assurez-vous de faire un trou dans le corps du modèle pour pouvoir connecter votre arduino avec le câble de connexion.

Je recommanderais de mettre le haut-parleur dans la tourelle. car il devrait y avoir beaucoup d'espace là-bas.

L'image de gauche ci-dessus montre comment j'ai installé l'arduino et l'impression que j'ai soudée à l'intérieur du modèle Leopard 2. L'image de droite est celle avec la plupart des câbles installés.

Ce que vous pouvez faire, c'est percer de petits trous au bas du modèle pour fixer l'Arduino avec des attaches de câble.

Mais si je ne me trompe pas, vous devriez maintenant avoir terminé.

Conseillé: