Sisällysluettelo:
Video: Leikkisäiliö: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
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
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
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:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen