Satura rādītājs:

Joking Tank: 5 soļi
Joking Tank: 5 soļi

Video: Joking Tank: 5 soļi

Video: Joking Tank: 5 soļi
Video: TANK RUSSIA OR TANK CHINA? #shorts 2024, Novembris
Anonim
Joko tanks
Joko tanks

Šis ir projekts, ko es veicu savā HKU skolā, un tas mums prasīja kaut ko izveidot ar Arduino Uno. Es gribēju izveidot kaut ko tādu, kas darītu manu iecienītāko lietu, liktu cilvēkiem smieties. Tāpēc es nolēmu izveidot joku kasti, kas jums radītu joku, bet kāds joks jums to radītu, būtu atkarīgs no tā, ko pāris sensoru moduļi mērīja konkrētajā laikā. Lai padarītu to personīgāku, es nolēmu to padarīt par tvertni.

1. darbība: detaļu iegūšana

Daļas, kas jums būtu vajadzīgas, lai atjaunotu šo projektu, būtu

  • 1x dators, kas spēj palaist Arduino IDE
  • 1x Arduino Uno
  • 1x USB savienotāja kabelis Arduino Uno
  • 1x sonāra sensors
  • 1x skaļrunis (vēlams pienācīgas kvalitātes skaļrunis (es izmantoju vienu, ko izvilku no Bluetooth skaļruņa)).
  • 1x LM386 pastiprinātāja modulis (to var izgatavot pats, bet es izmantoju moduli).
  • 1x LM393 mikrofons
  • 1x LDR
  • 1x LED (derēs jebkura krāsa, bet es izmantoju zilu).
  • 4x 1kΩ rezistors
  • 1x 2, 7kΩ rezistors
  • 1x maizes dēlis
  • 1x micro SD karte (vēlams maza (1 vai 2 gb)).
  • 1x spēka urbis.
  • 1x 16 mm urbšanas galva (vēlams metāla urbšanai).
  • 1x 9 mm urbšanas galva (vēlams arī metāla urbšanai).
  • 1x 1 mm urbjmašīna (atkal vēlams metāla urbšanai).
  • 1x modeļa tvertne (es izmantoju 1:35 mēroga leopardu 2, bet arī citiem gadījumiem vajadzētu būt kārtībā).
  • Superlīme / karstā līme
  • un diezgan daudz vadu, vēlams dažādās krāsās.
  • kabeļu saites (pēc izvēles).

2. solis: Elektroinstalācija

Elektroinstalācija
Elektroinstalācija

Mums jāsāk ar elektroinstalāciju, attēls ir tehnisks zīmējums, kā tam visam jābūt savienotam. Tam vajadzētu kalpot par jūsu plānu. Piezīme. Visas Arduino ostas ir nosauktas par AP# katrai ostai. Tātad 4. ports Arduino ir AP4, ports A0 ir APA0 un ports 6 ~ ir AP6 ~ utt. Visas pārējās ostas tiek nosauktas tā, kā tās parādās pašos moduļos.

3. solis: lietas pirms koda

Tagad, pirms mēs varam sākt lietot kodu, mums ir nepieciešams kaut kas. Es iesaku jums sekot šai pamācībai no 2. līdz 4. darbībai

www.electronoobs.com/eng_arduino_tut8.php

Tomēr mēs neizmantosim viņa kodu, jo mēs izmantosim savu. Lūdzu, ņemiet vērā, ka daži skaļruņi izmanto dažādas frekvences. Mans skaļrunis izmantoja 16 bitu 32 kHz audio failus. Tātad, ja jūsu runāšana rada troksni, bet neatskaņo failus, mēģiniet spēlēt ar savu frekvenci.

4. solis: kods

Tagad mēs augšupielādēsim kodu arduino. Kopējiet to visu un ievietojiet to Arduino IDE un augšupielādējiet savā Arduino.

// ietver bibliotēku SD karšu lasītājam.#include "Wtv020sd16p.h" // ietver bibliotēku, kas nepieciešama hidrolokatora sensoram. #include // Iestata Arduino tapas. int resetPin = 4; int clockPin = 5; int dataPin = 6; int aizņemtsPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Iestata tapas SD karšu bibliotēkai. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, aizņemtsPin); // Iestata tapas Sonāra sensoru bibliotēkai. NewPing hidrolokators (11, 10); // Iestata citas ievades un nosaka programmas bitu pārraides ātrumu. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Sērijas sākums (9600); } // Programmas galvenā daļa. void loop () {// Iestata intergerus int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonārs.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Atlikt, lai projekts, kuru projekts bezgalīgi turpinātu izmantot skaļruni. kavēšanās (30000); // Sērijas drukas un drukas līnijas, lai jūs varētu viegli redzēt, kādas vērtības iegūst sensoru moduļi. Serial.print ("Skaņas vērtība:"); // Vairāki paziņojumi, lai programma atskaņotu dažādus audio failus atkarībā no vērtībām, ko mēra ar sensoru moduļiem. ja (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Attālums:"); ja (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Gaismas vērtība:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Vēl viena sērijveida druka, lai jūs varētu redzēt, kāds tieši audio fails tika atskaņots. Serial.println ("1 --------"); // Vēl viena kavēšanās, lai audio fails tiktu atskaņots pilnā garumā. kavēšanās (5000); } cits if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); kavēšanās (5000); } cits if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); kavēšanās (5000); } cits if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); kavēšanās (5000); } cits if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); kavēšanās (5000); } cits if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Gaismas vērtība:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); kavēšanās (5000); } cits if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); kavēšanās (8000); } cits if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); kavēšanās (5000); } cits if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); kavēšanās (8000); } cits if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); kavēšanās (6000); } cits if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Gaismas vērtība:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); kavēšanās (5000); } cits if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); kavēšanās (5000); }}}}

5. solis: lieta

Lieta
Lieta
Lieta
Lieta

Tagad nāk faktiskā sarežģītā daļa.

To visu uzstādīt korpusā var būt nedaudz sarežģīti, tas ir atkarīgs no tā, kā visu esat uzstādījis uz maizes dēļa vai kā lodējat lietas kopā. Bet jums būs jāizveido pāris caurumi, lai sensori varētu pielipt. Es ievietoju mikrofonu (nepieciešams 9 mm urbis) un hidrolokatoru moduli (nepieciešams 6 mm urbis) aizmugurē un LDR tvertnes priekšpusē, bet jūs varat tos efektīvi ievietot jebkurā vietā, ja jums ir vieta.

Noteikti izgrieziet caurumu modeļa korpusā, lai varētu savienot savu arduino ar savienotāja kabeli.

Es ieteiktu ievietot skaļruni tornī. jo tur vajadzētu atstāt daudz vietas.

Augšējais kreisais attēls ir tas, kā es uzstādīju arduino un druku, ko es lodēju Leopard 2 modelī. Labais attēls ir viens ar lielāko daļu instalēto vadu.

Jūs varat urbt mazus caurumus modeļa apakšā, lai Arduino nostiprinātu ar kabeļu saitēm.

Bet, ja es nemaldos, jums tagad vajadzētu darīt.

Ieteicams: