Sadržaj:

Šaljivi tenk: 5 koraka
Šaljivi tenk: 5 koraka

Video: Šaljivi tenk: 5 koraka

Video: Šaljivi tenk: 5 koraka
Video: ЗАКРИЧАЛ – ПОТЕРЯЛ ₽200.000 / ТРЭШКЭШ: Тишина 2024, Srpanj
Anonim
Šaljivi tenk
Šaljivi tenk

Ovo je projekt koji sam radio u svojoj školi HKU, a za koji smo trebali napraviti nešto s Arduino Uno. Htjela sam napraviti nešto što će meni učiniti najdražu stvar, nasmijati ljude. Odlučio sam napraviti šaljivu kutiju koja bi vas bacila na šalu, no koja će vam to šala ovisiti o tome koliko je nekoliko senzorskih modula mjerilo u tom određenom trenutku. Kako bih bio osobniji, odlučio sam napraviti tenk.

Korak 1: Dobivanje dijelova

Dijelovi koji bi vam bili potrebni za ponovno stvaranje ovog projekta bili bi

  • 1x računalo koje može pokrenuti Arduino IDE
  • 1x Arduino Uno
  • 1x USB priključni kabel za Arduino Uno
  • 1x senzor sonara
  • 1x zvučnik (poželjno jedan pristojne kvalitete (koristio sam jedan koji sam izvukao iz bluetooth zvučnika)).
  • 1x modul pojačala LM386 (moguće ga je napraviti i sam, ali sam koristio modul).
  • 1x LM393 Mikrofon
  • 1x LDR
  • 1x LED (bilo koja boja će biti dovoljna, ali ja sam koristio plavu).
  • 4x 1kΩ otpornik
  • 1x 2, 7kΩ otpornik
  • 1x Oglasna ploča
  • 1x mikro SD kartica (po mogućnosti mala (1 ili 2 gb)).
  • 1x Električna bušilica.
  • 1x bušilica od 16 mm (po mogućnosti za bušenje metala).
  • 1x bušilica od 9 mm (također poželjno za bušenje metala).
  • 1x bušilica od 1 mm (ponovno po mogućnosti za bušenje metala).
  • 1x Model spremnika (koristio sam leopard 2 u mjerilu 1:35, ali i drugi slučajevi bi trebali biti u redu).
  • Superljepilo / vruće ljepilo
  • i dosta žica po mogućnosti u različitim bojama.
  • kabelske vezice (izborno).

Korak 2: Ožičenje

Ožičenje
Ožičenje

Moramo početi s ožičenjem, slika je tehnički crtež kako sve to treba ožičiti. Ovo bi trebalo poslužiti kao vaš nacrt. Napomena: Svi Arduino portovi imaju naziv AP# za svaki port. Dakle, 4. port na Arduino je AP4, port A0 je APA0, a port 6 ~ je AP6 ~ itd. Svi ostali portovi su imenovani onako kako se pojavljuju na samim modulima.

Korak 3: Stvari pred kodiranjem

Prije nego što počnemo koristiti kôd, treba nam nešto. Preporučujem da sada slijedite ovaj vodič za muškarce od koraka 2 do 4

www.electronoobs.com/eng_arduino_tut8.php

Međutim, nećemo koristiti njegov kôd jer ćemo koristiti vlastiti. Imajte na umu da neki zvučnici koriste različite frekvencije. Moj zvučnik je koristio 16-bitne 32kHz audio datoteke. Dakle, ako vaš govor stvara neku vrstu buke, ali ne reproducira vaše datoteke, pokušajte se igrati sa svojom frekvencijom.

Korak 4: Kodirajte

Sada ćemo prenijeti kôd na arduino. Kopirajte sve ovo i prenesite ga u Arduino IDE i prenesite ga na svoj Arduino.

// uključuje knjižnicu za čitač SD kartica.#include "Wtv020sd16p.h" // uključuje knjižnicu potrebnu za senzor sonara. #include // Postavlja pinove za Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int zauzetPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Postavlja pinove za biblioteku SD kartica. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Postavlja pinove za biblioteku sonarskih senzora. Sonar NewPing (11, 10); // Postavlja ostale ulaze i postavlja bitrate programa. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Glavni dio programa. void loop () {// Postavlja međusrede int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalno čitanje (soundDetectedPin); // Odgoda kako projekt projekt ne bi beskonačno nastavio koristiti zvučnik. kašnjenje (30000); // Serijski ispis i linije ispisa tako da možete jednostavno vidjeti koje vrijednosti prihvaćaju senzorski moduli. Serial.print ("Zvučna vrijednost:"); // Više if naredbi tako da program reproducira različite audio datoteke ovisno o vrijednostima koje se mjere senzorskim modulima. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Udaljenost:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Svjetlosna vrijednost:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Još jedan serijski ispis tako da možete vidjeti koja je točno audio datoteka reproducirana. Serial.println ("1 --------"); // Još jedno odgađanje puštanja audio datoteke u punoj duljini. kašnjenje (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); kašnjenje (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); kašnjenje (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); kašnjenje (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); kašnjenje (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Svjetlosna vrijednost:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); kašnjenje (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); kašnjenje (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); kašnjenje (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); kašnjenje (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); kašnjenje (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Svjetlosna vrijednost:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); kašnjenje (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); kašnjenje (5000); }}}}

Korak 5: Slučaj

Slučaj
Slučaj
Slučaj
Slučaj

Sada dolazi stvarni komplicirani dio.

Uklapanje svega u kućište može biti pomalo lukavo, ovisno o tome kako ste sve namjestili na svoju ploču ili kako ste spajali stvari zajedno. Ali morat ćete napraviti nekoliko rupa kako bi se senzori zalijepili. Stavio sam mikrofon (potrebna bušilica od 9 mm) i modul sonara (potrebna bušilica od 6 mm) straga, a LDR na prednjoj strani spremnika, ali možete ih staviti učinkovito, ako imate prostora.

Obavezno izrežite rupu na tijelu modela kako biste mogli povezati svoj arduino s priključnim kabelom.

Preporučio bih postavljanje zvučnika u kupolu. jer bi tamo trebalo ostati dosta mjesta.

Lijeva gornja slika prikazuje kako sam ugradio arduino i otisak koji sam lemio unutar modela Leopard 2. Desna slika je ona s većinom ožičenja.

Ono što možete učiniti je izbušiti male rupe na dnu modela kako biste Arduino učvrstili kabelskim vezicama.

Ali ako se ne varam, sada biste trebali učiniti.

Preporučeni: