Sadržaj:
- Korak 1: Dobijanje dijelova
- Korak 2: Ožičenje
- Korak 3: Stvari pred kodiranjem
- Korak 4: Kodirajte
- Korak 5: Slučaj
Video: Šaljivi tenk: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ovo je projekt koji sam radio u svojoj školi HKU, a za koji smo trebali napraviti nešto s Arduino Uno. Htela sam da napravim nešto što bi mi učinilo najdražu stvar, nasmejala ljude. Odlučio sam napraviti šaljivu kutiju koja bi vas bacila na šalu, ali koja će vam to šala ovisiti o tome šta je par senzorskih modula mjerilo u tom određenom trenutku. Da bih bio ličniji, odlučio sam da napravim tenk.
Korak 1: Dobijanje dijelova
Dijelovi koji bi vam bili potrebni za ponovno stvaranje ovog projekta bili bi
- 1x računar koji 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 pristojnog kvaliteta (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 16 mm bušilica (po mogućnosti za bušenje metala).
- 1x bušilica od 9 mm (takođe poželjno za bušenje metala).
- 1x bušilica od 1 mm (ponovo poželjno za bušenje metala).
- 1x Model tenka (koristio sam leopard 2 u mjerilu 1:35, ali i drugi slučajevi bi trebali biti u redu).
- Superglue / hotglue
- i dosta žica po mogućnosti u različitim bojama.
- kabelske vezice (opcionalno).
Korak 2: 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 kod na arduino. Kopirajte sve ovo i prebacite ga u Arduino IDE i postavite ga na svoj Arduino.
// uključuje biblioteku za čitač SD kartica.#include "Wtv020sd16p.h" // uključuje biblioteku potrebnu za senzor sonara. #include // Postavlja pinove za Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Postavlja pinove za biblioteku SD kartice. 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đurede int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalno čitanje (soundDetectedPin); // Odgoda tako da projekt projekt beskonačno neće nastaviti koristiti zvučnik. kašnjenje (30000); // Serijsko ispisivanje 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 ("Lagana 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 kašnjenje za puštanje audio datoteke pune dužine. 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 ("Lagana 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 ("Lagana 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
Sada slijedi stvarni komplicirani dio.
Uklapanje svega u kućište može biti pomalo nezgodno, ovisno o tome kako ste sve uklopili na svoju ploču ili kako ste spajali stvari. 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 ispred prednje strane spremnika, ali možete ih staviti efikasno, 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 tamo treba ostaviti dovoljno prostora.
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 pričvrstili kabelskim vezicama.
Ali ako se ne varam, sada biste trebali učiniti.
Preporučuje se:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
PiTanq - Robot -tenk sa Raspberry Pi -em i Pythonom za učenje AI: 10 koraka
PiTanq-Robot-tenk sa Raspberry Pi-em i Python-om za učenje AI: Pitanq je robot-tenk sa kamerom koju pokreće Raspberry Pi. Njegova je svrha pomoći u učenju umjetne inteligencije samoupravljanja. Veštačku inteligenciju na rezervoaru podržavaju OpenCV i Tensoflow napravljeni specijalno za Raspbian Jessie. Na osnovu čvrstog aluminijuma
Broj koraka / koraka: 3 koraka
পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima