Tartalomjegyzék:

Tréfás tank: 5 lépés
Tréfás tank: 5 lépés

Videó: Tréfás tank: 5 lépés

Videó: Tréfás tank: 5 lépés
Videó: Ukrainian soldiers 💪 2024, November
Anonim
Vicces tank
Vicces tank

Ez az a projekt, amelyet az iskolámban, a HKU -ban csináltam, és szükség volt arra, hogy valamit készítsünk egy Arduino Unóval. Valamit akartam csinálni, ami a kedvenc dolgomat teszi, megnevetteti az embereket. Ezért úgy döntöttem, hogy készítek egy viccdobozt, ami viccet fog dobni, de hogy milyen viccet adott, attól függ, hogy néhány érzékelőmodul mit mért az adott pillanatban. Hogy személyesebbé tegyem, úgy döntöttem, hogy tartályt készítek belőle.

1. lépés: Az alkatrészek beszerzése

Ezek a részek lennének szükségesek a projekt újraalkotásához

  • 1x Arduino IDE futtatására alkalmas számítógép
  • 1x Arduino Uno
  • 1x usb csatlakozó kábel az Arduino Uno -hoz
  • 1x szonár érzékelő
  • 1x hangszóró (előnyösebb, tisztességes minőségű (én olyat használtam, amelyet egy bluetooth hangszóróból húztam ki)).
  • 1x LM386 erősítő modul (ezt saját maga is elkészítheti, de én modult használtam).
  • 1x LM393 mikrofon
  • 1x LDR
  • 1x LED (bármilyen szín megteszi, de én kéket használtam).
  • 4x 1kΩ ellenállás
  • 1x 2, 7kΩ ellenállás
  • 1x kenyeretábla
  • 1x micro SD kártya (lehetőleg kicsi (1 vagy 2 GB)).
  • 1x elektromos fúró.
  • 1x 16 mm -es fúrófej (lehetőleg fémfúráshoz).
  • 1x 9 mm -es fúrófej (szintén lehetőleg fémfúráshoz).
  • 1x 1 mm -es fúrófej (ismét lehetőleg fémfúráshoz készült).
  • 1x Modelltartály (1:35 méretarányú leopárdot 2 használtam, de más esetekben is rendben kell lennie).
  • Szuperragasztó / hotglue
  • és jó néhány vezeték lehetőleg különböző színben.
  • kábelkötegek (opcionális).

2. lépés: Kábelezés

Vezeték
Vezeték

A kábelezéssel kell kezdenünk, a kép egy technikai rajz arról, hogyan kell mindezt bekötni. Ez a tervrajzként szolgálhat. Megjegyzés: Az összes Arduino port AP# névvel rendelkezik minden egyes portnál. Tehát a negyedik port Az Arduino az AP4, az A0 port az APA0 és a 6 ~ port az AP6 ~ stb.

3. lépés: A kód előtti dolgok

Mielőtt elkezdenénk használni a kódot, szükségünk van egy csomóra. Javaslom, hogy most kövesse ezt az oktatóanyagot a 2-4. Lépéstől

www.electronoobs.com/eng_arduino_tut8.php

Azonban nem fogjuk használni a kódját, mint a sajátunkat. Kérjük, vegye figyelembe, hogy egyes hangszórók különböző frekvenciákat használnak. A hangszóróm 16 bites 32 kHz-es hangfájlokat használt. Tehát ha a beszéd valamilyen zajt kelt, de nem játssza le a fájlokat, próbálja meg a frekvenciájával játszani.

4. lépés: Kód

Most feltöltjük a kódot az arduino -ba. Másolja mindezt, és illessze be az Arduino IDE -be, és töltse fel az Arduino -ra.

// tartalmazza az SD kártyaolvasó könyvtárát.#include "Wtv020sd16p.h" // tartalmazza a szonárérzékelőhöz szükséges könyvtárat. #include // Beállítja az Arduino csapjait. int resetPin = 4; int clockPin = 5; int dataPin = 6; int foglaltPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Beállítja az SD -kártya könyvtárának csapjait. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, foglalt PIN); // Beállítja a tűket a Sonar szenzortárhoz. NewPing szonár (11, 10); // Beállítja a többi bemenetet és beállítja a program bitsebességét. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Sorozat.kezdet (9600); } // A program fő része. void loop () {// Beállítja az intergereket int lightDetectedVal = analogRead (lightDetectedPin); int távolságVal = szonár.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Késleltesse, hogy a projekt a projekt ne használja végtelenül a hangszórót. késleltetés (30000); // Soros nyomtatás és nyomtatási sorok, hogy könnyen lássa, milyen értékeket vesznek fel az érzékelő modulok. Serial.print ("Hangérték:"); // Több if utasítás, hogy a program az értékektől függően különböző hangfájlokat játsszon le, az érzékelő modulok mérik. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Távolság:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Fényérték:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Egy másik soros nyomtatás, így láthatja, hogy pontosan milyen hangfájlt játszott le. Serial.println ("1 --------"); // Újabb késleltetés az audio fájl teljes hosszúságú lejátszásához. késleltetés (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); késleltetés (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); késleltetés (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); késleltetés (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); késleltetés (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Fényérték:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); késleltetés (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); késleltetés (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); késleltetés (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); késleltetés (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); késleltetés (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); késleltetés (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); késleltetés (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); késleltetés (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); késleltetés (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); késleltetés (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Fényérték:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); késleltetés (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); késleltetés (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); késleltetés (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); késleltetés (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); késleltetés (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); késleltetés (5000); }}}}

5. lépés: Az ügy

Az ügy
Az ügy
Az ügy
Az ügy

Most jön az igazi bonyolult rész.

Az összes felszerelése a tokban kissé bonyolult lehet, ez attól függ, hogy hogyan illesztett mindent a kenyérsütő táblájához, vagy hogyan forrasztotta össze a dolgokat. De néhány lyukat kell készítenie, hogy az érzékelők tapadjanak. A mikrofont (9 mm -es fúró szükséges) és a szonármodult (6 mm -es fúró szükséges) hátulra, az LDR -t pedig a tartály elejére tettem, de bármikor hatékonyan elhelyezheti, ha van hely.

Ügyeljen arra, hogy vágjon lyukat a modell testébe, hogy csatlakoztathassa az arduino -t a csatlakozó kábelhez.

Azt javaslom, hogy helyezze a hangszórót a toronyba. mivel rengeteg hely maradjon ott.

A fenti bal oldali kép az, hogyan illesztettem be az arduino -t és a nyomtatást, amelyet a Leopard 2 modellbe forrasztottam. A jobb oldali képen a legtöbb vezeték van felszerelve.

Amit tehet, kis lyukakat fúr a modell aljába, hogy az Arduino -t kábelkötegekkel rögzítse.

De ha nem tévedek, akkor most készen kell állnia.

Ajánlott: