Turinys:
- 1 žingsnis: gaukite dalis
- 2 žingsnis: laidų prijungimas
- 3 žingsnis: iš anksto koduojami dalykai
- 4 žingsnis: kodas
- 5 žingsnis: atvejis
Video: Joking Tank: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Tai projektas, kurį aš padariau savo mokykloje, HKU, ir kad mums reikėjo ką nors padaryti su „Arduino Uno“. Norėjau padaryti tai, kas man patiktų, priverstų žmones juoktis. Taigi nusprendžiau sukurti pokštų dėžutę, kuri jums sukeltų pokštą, tačiau kokį pokštą jis suteikė, priklausys nuo to, ką tam tikru laiko momentu matavo pora jutiklių modulių. Kad tai būtų asmeniškiau, nusprendžiau padaryti jį tanku.
1 žingsnis: gaukite dalis
Dalys, kurių jums prireiktų atkurti šį projektą, būtų
- 1x kompiuteris, galintis paleisti „Arduino IDE“
- 1x „Arduino Uno“
- 1x USB jungties kabelis, skirtas „Arduino Uno“
- 1x sonaro jutiklis
- 1x garsiakalbis (pageidautina tinkamos kokybės (aš naudojau vieną, kurį ištraukiau iš „Bluetooth“garsiakalbio)).
- 1x LM386 stiprintuvo modulis (tai galima padaryti ir patiems, bet aš naudojau modulį).
- 1x LM393 mikrofonas
- 1x LDR
- 1x LED (tiks bet kokia spalva, bet aš naudojau mėlyną).
- 4x 1kΩ rezistorius
- 1x 2, 7 kΩ rezistorius
- 1x duonos lenta
- 1x „micro SD“kortelė (pageidautina maža (1 arba 2 gb)).
- 1x elektrinis gręžtuvas.
- 1x 16 mm gręžimo galvutė (geriausia metalui gręžti).
- 1x 9 mm gręžimo galvutė (taip pat pageidautina metalui gręžti).
- 1x 1 mm gręžimo galvutė (dar kartą pageidautina gręžti metalą).
- 1x modelio bakas (aš naudoju 1:35 mastelio leopardą 2, bet kiti atvejai taip pat turėtų būti tinkami).
- Superklijai / karšti klijai
- ir nemažai laidų, pageidautina skirtingų spalvų.
- kabelių jungtys (neprivaloma).
2 žingsnis: laidų prijungimas
Turime pradėti nuo laidų, vaizdas yra techninis brėžinys, kaip visa tai turėtų būti prijungta. Tai turėtų būti jūsų planas. Pastaba: visi „Arduino“prievadai yra pavadinti AP# kiekvienam prievadui. Taigi 4 -asis prievadas „Arduino“yra AP4, A0 prievadas yra APA0, o 6 ~ yra AP6 ~ ir tt Visi kiti prievadai pavadinami taip, kaip jie rodomi pačiuose moduliuose.
3 žingsnis: iš anksto koduojami dalykai
Dabar, prieš pradėdami naudoti kodą, mums reikia šiek tiek. Aš rekomenduoju jums sekti šį vadovą nuo 2 iki 4 veiksmo
www.electronoobs.com/eng_arduino_tut8.php
Tačiau mes nenaudosime jo kodo, nes naudosime savo. Atminkite, kad kai kurie garsiakalbiai naudoja skirtingus dažnius. Mano garsiakalbis naudojo 16 bitų 32 kHz garso failus. Taigi, jei jūsų kalba sukelia triukšmą, bet neatkuria failų, pabandykite žaisti savo dažniu.
4 žingsnis: kodas
Dabar mes įkeliame kodą į arduino. Nukopijuokite visa tai ir perkelkite į „Arduino IDE“ir įkelkite į „Arduino“.
// apima SD kortelių skaitytuvo biblioteką.#include "Wtv020sd16p.h" // apima biblioteką, reikalingą sonaro jutikliui. #include // Nustato „Arduino“kaiščius. int resetPin = 4; int clockPin = 5; int dataPin = 6; int užimtasPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Nustato SD kortelių bibliotekos kaiščius. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, užimtas PIN); // Nustato Sonaro jutiklių bibliotekos kaiščius. „NewPing“sonaras (11, 10); // Nustato kitus įėjimus ir nustato programos pralaidumą. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Pagrindinė programos dalis. void loop () {// Nustato tarpinius skaičius int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Atidėkite, kad projektas, kurio projektas nesibaigtų, nesinaudos garsiakalbiu. vėlavimas (30000); // Serijinis spausdinimas ir spausdinimo eilutės, kad galėtumėte lengvai pamatyti, kokias vertes priima jutiklio moduliai. Serial.print („Garso vertė:“); // Keli, jei teiginiai, kad programa leistų skirtingus garso failus, priklausomai nuo reikšmių, matuojami jutiklių moduliais. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print („Atstumas:“); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print („Šviesos vertė:“); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Kitas serijinis spausdinimas, kad galėtumėte pamatyti, koks tiksliai garso failas buvo paleistas. Serial.println ("1 --------"); // Dar vienas delsimas leisti garso failui paleisti visą jo ilgį. vėlavimas (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); vėlavimas (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); vėlavimas (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); vėlavimas (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); vėlavimas (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print („Šviesos vertė:“); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); vėlavimas (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); vėlavimas (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); vėlavimas (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); vėlavimas (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); vėlavimas (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print („Šviesos vertė:“); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); vėlavimas (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); vėlavimas (5000); }}}}
5 žingsnis: atvejis
Dabar ateina tikroji sudėtinga dalis.
Viską sumontuoti dėkle gali būti šiek tiek sudėtinga, tai priklauso nuo to, kaip viską sumontavote ant duonos lentos arba kaip lituosite daiktus. Bet jums reikės padaryti keletą skylių, kad jutikliai galėtų prilipti. Aš įdėjau mikrofoną (reikalingas 9 mm gręžtuvas) ir sonaro modulį (reikia 6 mm grąžto) gale, o LDR - bako priekyje, bet jūs galite juos efektyviai įdėti bet kur, jei turite vietos.
Būtinai iškirpkite skylę modelio korpuse, kad galėtumėte prijungti „arduino“prie jungties kabelio.
Aš rekomenduočiau įdėti garsiakalbį į bokštą. nes ten turėtų likti daug vietos.
Kairysis vaizdas aukščiau yra tai, kaip aš sumontavau „arduino“ir spaudinį, kurį lituodavau „Leopard 2“modelyje. Dešinysis vaizdas yra toks, kuriame yra sumontuota dauguma laidų.
Tai, ką galite padaryti, yra gręžti mažas skylutes modelio apačioje, kad „Arduino“būtų pritvirtintas kabeliais.
Bet jei neklystu, dabar turėtumėte tai padaryti.
Rekomenduojamas:
„Arduino“automobilių atbulinės eigos įspėjimo sistema - Žingsniai po žingsnio: 4 žingsniai
„Arduino“automobilių atbulinės eigos įspėjimo sistema | Žingsniai po žingsnio: Šiame projekte aš suprojektuosiu paprastą „Arduino“automobilio atbulinės eigos stovėjimo jutiklio grandinę, naudodamas „Arduino UNO“ir ultragarsinį jutiklį „HC-SR04“. Ši „Arduino“pagrįsta automobilio atbulinės eigos įspėjimo sistema gali būti naudojama autonominei navigacijai, robotų diapazonui ir kitiems diapazonams
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
„Fish Tank LED Bonanza“!: 8 žingsniai
„Fish Tank LED Bonanza“!: SKAITYTOJAS ATKREIPKITE DĖMESĮ! Ši maža žuvelė mirė, RIP. Jis buvo gerai maitinamas ir du kartus per savaitę keisdavo vandenį. Kadangi daugelis žmonių per komentarus paprašė, kad aš jį įspėčiau. Ryškūs šviesos diodai ir mažas bakas gali nužudyti jūsų žuvis. (Žiūrėkite paveikslėlį
„Fish Tank“CD grotuvas: 14 žingsnių
„Fish Tank“CD grotuvas: žuvų bakų kompaktinių diskų grotuvas. Sveiki atvykę į mano svetainę, kad gautumėte daugiau įdomių dalykų. Www.sunnyspeed.com
Raspberry Pi Cam Tank V1.0: 8 žingsniai (su nuotraukomis)
„Raspberry Pi Cam Tank V1.0“: nuo mažens mėgstu tankus. Sukurti savo žaislinį baką visada yra viena iš mano svajonių. Bet dėl žinių ir įgūdžių trūkumo. Svajonė yra tik svajonė. Po daugelio metų inžinerijos ir pramoninio dizaino studijų. Įgijau įgūdžių ir supratau