Sadržaj:
- Korak 1: Dobivanje 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 promjena: 2024-01-30 09:36
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
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
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:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način stvaranja igre, osobito nečega poput zagonetke, vizualnog romana ili avanturističke igre
Broj koraka: 17 koraka
الكشف عن عن أنواع المحاليل: محمدآل سعودالكشف عن المحاليل رابط الفديو
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom Instructableu ćemo izvršiti detekciju lica na Raspberry Pi 4 sa Shunya O/S pomoću knjižnice Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja s
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 ponovno početi vježbati. Koju opremu trebam pripremiti?
Aduino UNO Broj koraka: 5 koraka
Aduino UNO 를 이용한 도망 치는 &&&& && l g g g g g g g g g g g g g g g 4 g 4 4 4 4 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 프로젝트 일자 일자 일자: 2017.01.06. ~ 2017.01.11.- 역할 분담 SW 엔지니어: 김 예은, 임동영 HW 엔지니어: 김지훈 디자이너: 이재민 레코더: 홍 다예 ------------------------ --------------------------------------------------