Tartalomjegyzék:
- 1. lépés: Az alkatrészek beszerzése
- 2. lépés: Kábelezés
- 3. lépés: A kód előtti dolgok
- 4. lépés: Kód
- 5. lépés: Az ügy
Videó: Tréfás tank: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
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
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
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:
SMARS robot építése - Arduino Smart Robot Tank Bluetooth: 16 lépés (képekkel)
SMARS Robot építése - Arduino Smart Robot Tank Bluetooth: Ezt a cikket büszkén szponzorálja a PCBWAY. A PCBWAY kiváló minőségű prototípus -készítő PCB -ket készít a világ minden tájáról. Próbálja ki Ön is, és szerezzen 10 PCB -t mindössze 5 dollárért a PCBWAY -n, nagyon jó minőségben, köszönöm PCBWAY. A motorpajzs az Arduino Uno -hoz
Fish Tank LED Bonanza !: 8 lépés
Fish Tank LED Bonanza !: OLVASÓ FIGYELEM! Ez a kis hal elpusztult, RIP. Jól táplált, és hetente kétszer cserélték a vizet. Mivel sokan kérdezték a hozzászólásokon keresztül, hogy a figyelmeztetést követem. A világos LED -ek és egy kis tartály megölheti a halat. (Lásd a képet
Halo Scorpion Tank: 5 lépés
Halo Scorpion Tank: Ezt az oktatható anyagot a Dél -Floridai Egyetem Makecourse projektkövetelményének teljesítésére hozták létre (www.makecourse.com). Ez a lépésről lépésre folyamatom egy teljesen működőképes Halo Scorpion Tank tervezésén és elkészítésén. A link
Tank robot robot házi kamera vezérlő: 5 lépés
Tankrobot házi készítésű kameravezérlő: hello ma készítek egy robottartályt kamerával, nagyon egyszerű, csak fogd meg a kezed, és használd ki mindent körülötted, vagy hagyd el, hogy igazán érdekes legyen, higgy nekem ……. … INDÍTÁS MOST
Fish Tank CD lejátszó: 14 lépés
Fish Tank CD lejátszó: A haltartály CD lejátszó. Üdvözöllek a honlapomon, ahol több szórakoztató dolgot találhatsz. Www.sunnyspeed.com