Obsah:

Žartovná nádrž: 5 krokov
Žartovná nádrž: 5 krokov

Video: Žartovná nádrž: 5 krokov

Video: Žartovná nádrž: 5 krokov
Video: Building a BRAZILIAN-STYLE Contest Aquascape | PART 1: - Layout and Hardscape - Aquascaping Tutorial 2024, Júl
Anonim
Žartovný tank
Žartovný tank

Toto je projekt, ktorý som urobil na svojej škole HKU a ktorý od nás vyžadoval vyrobiť niečo s Arduino Uno. Chcel som urobiť niečo, čo by robilo moju obľúbenú vec, rozosmialo ľudí. Rozhodli sme sa teda vytvoriť vtip, ktorý by vám priniesol vtip, ale aký vtip vám to prinesie, bude závisieť od toho, čo v tom istom momente meralo niekoľko senzorových modulov. Aby to bolo osobnejšie, rozhodol som sa, že z toho urobím tank.

Krok 1: Získanie dielov

Časti, ktoré by ste potrebovali na obnovu tohto projektu, budú

  • 1x počítač schopný spustiť Arduino IDE
  • 1x Arduino Uno
  • 1x USB konektorový kábel pre Arduino Uno
  • 1x snímač sonaru
  • 1x reproduktor (preferovaný je slušnej kvality (použil som ten, ktorý som vytiahol z reproduktora bluetooth)).
  • 1x modul zosilňovača LM386 (je možné vyrobiť si ho sami, ale použil som modul).
  • 1x mikrofón LM393
  • 1x LDR
  • 1x LED (postačí akákoľvek farba, ale použil som modrú).
  • Rezistor 4x 1kΩ
  • 1x 2, 7kΩ odpor
  • 1x Breadboard
  • 1x karta micro SD (najlepšie malá (1 alebo 2 GB))
  • 1x Vŕtačka.
  • 1x 16 mm vŕtacia hlava (najlepšie vyrobená na vŕtanie do kovu)
  • 1x 9 mm vŕtacia hlava (tiež najlepšie vyrobená na vŕtanie do kovu)
  • 1x 1 mm vrtná hlava (opäť najlepšie vyrobená na vŕtanie do kovu)
  • 1x Model tank (použil som leoparda 2 v mierke 1:35, ale aj ostatné prípady by mali byť v poriadku).
  • Lepidlo / horúce lepidlo
  • a niekoľko drôtov, najlepšie v rôznych farbách.
  • sťahovacie pásky (voliteľné).

Krok 2: Zapojenie

Elektrické vedenie
Elektrické vedenie

Musíme začať s zapojením, obrázok je technický výkres toho, ako by to malo byť všetko zapojené. To by malo slúžiť ako váš plán. Poznámka: Všetky porty Arduino sú pre každý port pomenované AP#. Takže štvrtý port na Arduino je AP4, port A0 je APA0 a port 6 ~ je AP6 ~, atď. Všetky ostatné porty sú pomenované tak, ako sú uvedené na samotných moduloch.

Krok 3: Predkódujte veci

Teraz, než začneme používať kód, potrebujeme nejaké zamyslenie. Odporúčam vám, aby ste sa teraz riadili týmto manuálom od kroku 2 do 4

www.electronoobs.com/eng_arduino_tut8.php

Jeho kód však nebudeme používať, pretože budeme používať vlastný. Upozorňujeme, že niektorí reproduktor používajú rôzne frekvencie. Môj reproduktor používal 16-bitové 32kHz zvukové súbory. Ak teda váš hovor vytvára určitý druh hluku, ale neprehráva vaše súbory, skúste hrať s vašou frekvenciou.

Krok 4: Kód

Teraz nahráme kód do arduina. Skopírujte to všetko a vložte ho do IDE Arduino a nahrajte ho do svojho Arduina.

// obsahuje knižnicu pre čítačku kariet SD.#include "Wtv020sd16p.h" // obsahuje knižnicu potrebnú pre snímač sonaru. #include // Nastavuje piny pre Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int zvukDetectedPin = 12; int lightDetectedPin = A0; // Nastaví piny pre knižnicu kariet SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Nastaví piny pre knižnicu senzorov Sonar. Sonar NewPing (11, 10); // Nastaví ostatné vstupy a nastaví bitrate programu. neplatné nastavenie () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Hlavná časť programu. void loop () {// Nastaví intergery int lightDetectedVal = analogRead (lightDetectedPin); int vzdialenosťVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Oneskorenie, aby projekt projektu nepretržite nepoužíval reproduktor. oneskorenie (30 000); // Sériová tlač a tlačové riadky, aby ste ľahko videli, aké hodnoty sú snímané modulmi senzorov. Serial.print ("Zvuková hodnota:"); Senzorové moduly merajú viacnásobné príkazy if, aby program prehrával rôzne zvukové súbory v závislosti od hodnôt. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Vzdialenosť:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Hodnota svetla:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Ďalší sériový výtlačok, aby ste videli, aký presný zvukový súbor bol prehraný. Serial.println ("1 --------"); // Ďalšie zdržanie prehrávania zvukového súboru v plnej dĺžke. oneskorenie (5 000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); oneskorenie (5 000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); oneskorenie (5 000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); oneskorenie (5 000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); oneskorenie (5 000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Hodnota svetla:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); oneskorenie (5 000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); oneskorenie (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); oneskorenie (5 000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); oneskorenie (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); oneskorenie (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Hodnota svetla:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); oneskorenie (5 000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); oneskorenie (5 000); }}}}

Krok 5: Prípad

Púzdro
Púzdro
Púzdro
Púzdro

Teraz prichádza skutočne komplikovaná časť.

Vložiť všetko do puzdra môže byť trochu zložité, závisí to od toho, ako ste všetko namontovali na dosku alebo ako veci spájkujete. Budete však musieť urobiť niekoľko otvorov, aby sa senzory mohli držať. Mikrofón (je potrebný 9 mm vrták) a modul sonaru (je potrebný 6 mm vrták) som umiestnil vzadu a LDR na prednú časť nádrže, ale môžete ich efektívne nasadiť kdekoľvek, ak máte priestor.

Uistite sa, že ste v tele modelu vyrezali otvor, aby ste mohli arduino prepojiť s káblom konektora.

Odporúčam umiestniť reproduktor do veže. pretože by tam malo zostať veľa miesta.

V ľavom obrázku vyššie je znázornené, ako som namontoval arduino a tlač, ktorú som spájkoval do modelu Leopard 2. Pravý obrázok je obrázok, na ktorom je nainštalovaná väčšina kabeláže.

Čo môžete urobiť, je vyvŕtať malé otvory v spodnej časti modelu, aby ste Arduino zaistili sťahovacími páskami.

Ale ak sa nemýlim, teraz by ste mali byť hotoví.

Odporúča: