Satura rādītājs:
- 1. darbība: detaļu iegūšana
- 2. solis: Elektroinstalācija
- 3. solis: lietas pirms koda
- 4. solis: kods
- 5. solis: lieta
Video: Joking Tank: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Š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
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
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:
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)
Fish Tank CD atskaņotājs: 14 soļi
Zivju tvertnes CD atskaņotājs: zivju tvertnes CD atskaņotājs. Laipni lūdzam manā vietnē, lai iegūtu vairāk jautrības. Www.sunnyspeed.com
DIY Wave Tank/Flume, izmantojot Arduino un V slotu: 11 soļi (ar attēliem)
DIY Wave Tank/Flume Izmantojot Arduino un V slotu: Viļņu tvertne ir laboratorijas iestatījums virsmas viļņu uzvedības novērošanai. Tipiska viļņu tvertne ir kaste, kas piepildīta ar šķidrumu, parasti ūdeni, atstājot atvērtu vai ar gaisu piepildītu vietu uz augšu. Tvertnes vienā galā izpildmehānisms rada viļņus; otra e
Pele Steampunk Tank - pārstrādāta un kabatas izmēra: 6 soļi
Steampunk Tank Mouse - Recycled & Pocket -Sized: Šis ir ātrs projekts, ko es veicu ar veco peli, dažiem metāllūžņiem un veco lodāmuru. Paredzēts, ka tas izskatās kā steampunk vai dīzeļpanka tvertne, un darbojas kā pele jebkuram datoram, kas aprīkots ar USB. Iedvesma tam bija
Raspberry Pi Cam Tank V1.0: 8 soļi (ar attēliem)
Raspberry Pi Cam Tank V1.0: Man patīk tanki kopš bērnības. Savas rotaļlietas uzbūve vienmēr ir viens no maniem sapņiem. Bet zināšanu un prasmju trūkuma dēļ. Sapnis ir tikai sapnis. Pēc vairāku gadu studijām inženierzinātnēs un rūpnieciskajā dizainā. Es apguvu prasmes un zināju