Sisällysluettelo:

Leikkisäiliö: 5 vaihetta
Leikkisäiliö: 5 vaihetta

Video: Leikkisäiliö: 5 vaihetta

Video: Leikkisäiliö: 5 vaihetta
Video: Демидовы (1 серия) (1983) фильм 2024, Marraskuu
Anonim
Vitsitankki
Vitsitankki

Tämä on projekti, jonka tein koulussa HKU, joka vaati meitä tekemään jotain Arduino Unolla. Halusin tehdä jotain, joka tekisi lempiasiani, saisi ihmiset nauramaan. Joten päätin tehdä vitsilaatikon, joka heittäisi sinulle vitsiä, mutta mikä vitsi se sinulle antoi, riippuu siitä, mitä pari anturimoduulia mittaavat tuona tiettynä ajankohtana. Jotta siitä tulisi henkilökohtaisempi, päätin tehdä siitä säiliön.

Vaihe 1: Osien hankkiminen

Osat, joita tarvitset tämän projektin luomiseen uudelleen, ovat

  • 1x tietokone, joka pystyy käyttämään Arduino IDE: tä
  • 1x Arduino Uno
  • 1x USB -liitäntäkaapeli Arduino Unolle
  • 1x luotainanturi
  • 1x kaiutin (mieluummin hyvälaatuinen (käytin sellaista, jonka vedin ulos bluetooth -kaiuttimesta)).
  • 1x LM386 -vahvistinmoduuli (on mahdollista tehdä tämä itse, mutta käytin moduulia).
  • 1x LM393 -mikrofoni
  • 1x LDR
  • 1x LED (mikä tahansa väri sopii, mutta käytin sinistä).
  • 4x 1kΩ vastus
  • 1x 2, 7 kΩ vastus
  • 1x leipälauta
  • 1x micro SD -kortti (mieluiten pieni (1 tai 2 gb)).
  • 1x porakone.
  • 1x 16 mm: n porapää (mieluiten metallin poraamiseen).
  • 1x 9 mm: n porapää (myös mieluiten valmistettu metallin poraamiseen).
  • 1x 1 mm: n porauspää (jälleen mieluiten metallin poraamiseen).
  • 1x mallisäiliö (käytin 1:35 mittakaavan leopardia 2, mutta muidenkin tapausten pitäisi olla kunnossa).
  • Superliima / kuuma liima
  • ja jotkut johdot mieluiten eri väreissä.
  • nippusiteet (valinnainen).

Vaihe 2: Johdotus

Johdotus
Johdotus

Meidän on aloitettava johdotuksesta, kuva on tekninen piirustus siitä, miten se kaikki on kytkettävä. Sen pitäisi toimia suunnitelmana. Huomautus: Kaikki Arduino -portit on nimetty AP#: ksi jokaiselle portille. Arduino on AP4, portti A0 on APA0 ja portti 6 ~ on AP6 ~ jne. Kaikki muut portit on nimetty sellaisina kuin ne näkyvät moduuleissa.

Vaihe 3: Pre Code asiat

Ennen kuin voimme aloittaa koodin käytön, tarvitsemme jonkin verran stuffia

www.electronoobs.com/eng_arduino_tut8.php

Emme kuitenkaan aio käyttää hänen koodiaan, koska aiomme käyttää omaa Huomaa, että jotkut kaiuttimet käyttävät eri taajuuksia. Kaiutin käytti 16-bittisiä 32 kHz: n äänitiedostoja. Joten jos puheesi aiheuttaa jonkinlaista kohinaa, mutta ei toista tiedostojasi, yritä toistaa taajuudellasi.

Vaihe 4: Koodi

Nyt aiomme ladata koodin arduinoon Kopioi kaikki tämä ja ohita se Arduino IDE: hen ja lähetä se Arduinoosi.

// sisältää SD -kortinlukijan kirjaston.#include "Wtv020sd16p.h" // sisältää luotaintunnistimen tarvitseman kirjaston. #include // Asettaa Arduinon nastat. int resetPin = 4; int clockPin = 5; int dataPin = 6; int varattuPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Asettaa nastat SD -korttikirjastolle. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, Varattu PIN); // Asettaa kaikuluotain -anturikirjaston nastat. NewPing -luotain (11, 10); // Asettaa muut tulot ja asettaa ohjelman bittinopeuden. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Sarja.alku (9600); } // Ohjelman pääosa. void loop () {// Asettaa välilehdet int lightDetectedVal = analogRead (lightDetectedPin); int etäisyysVal = kaikuluotain.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Viivästy, jotta projekti ei jatka kaiuttimen käyttöä. viive (30000); // Sarjatulostus ja tulostuslinjat, jotta voit helposti nähdä mitkä arvot anturimoduulit ottavat. Serial.print ("Ääniarvo:"); // Useita if -lausekkeita, jotta ohjelma toistaa erilaisia äänitiedostoja arvojen mukaan mitataan anturimoduuleilla. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Etäisyys:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Light Value:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Toinen sarjakuva, jotta näet, mitä tarkkaa äänitiedostoa toistettiin. Serial.println ("1 --------"); // Toinen viive antaa äänitiedoston toistaa koko pituutensa. viive (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); viive (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); viive (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); viive (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); viive (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Light Value:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); viive (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); viive (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); viive (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); viive (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); viive (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); viive (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); viive (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); viive (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); viive (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); viive (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Light Value:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); viive (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); viive (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); viive (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); viive (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); viive (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); viive (5000); }}}}

Vaihe 5: Asia

Tapaus
Tapaus
Tapaus
Tapaus

Nyt tulee varsinainen monimutkainen osa.

Kaikkien asentaminen koteloon voi olla hieman hankalaa, tämä riippuu siitä, kuinka asennit kaiken leipälautaasi tai kuinka juotit asiat yhteen. Mutta sinun on tehtävä pari reikää, jotta anturit tarttuvat. Laitoin mikrofonin (9 mm: n pora tarvitaan) ja kaikuluotainmoduulin (6 mm: n poran) taakse ja LDR: n säiliön eteen, mutta voit laittaa ne tehokkaasti mihin tahansa, jos sinulla on tilaa.

Muista leikata reikä mallin runkoon, jotta voit liittää arduinosi liitäntäkaapeliin.

Suosittelen laittamaan kaiuttimen torniin. koska siellä pitäisi olla paljon tilaa.

Yllä oleva vasen kuva on, miten asensin arduinon ja tulostin, jonka juotin Leopard 2 -mallin sisään.

Mitä voit tehdä, on porata pieniä reikiä mallin pohjaan Arduinon kiinnittämiseksi nippusiteillä.

Mutta jos en ole väärässä, sinun pitäisi nyt tehdä.

Suositeltava: