INHOUDSOPGAWE:

Grappige tenk: 5 stappe
Grappige tenk: 5 stappe

Video: Grappige tenk: 5 stappe

Video: Grappige tenk: 5 stappe
Video: TOP 500 FUNNIEST FAILS IN GTA 5 2024, Junie
Anonim
Grappige tenk
Grappige tenk

Dit is 'n projek wat ek by my HKU -skool gedoen het, wat ons nodig gehad het om iets met 'n Arduino Uno te maak. Ek wou iets maak wat my gunsteling ding sou doen en mense laat lag. Ek het dus besluit om 'n grapkas te maak wat 'n grap vir u sou maak, maar watter grap dit u gegee het, sal afhang van wat 'n paar sensormodules op daardie tydstip gemeet het. Om dit meer persoonlik te maak, het ek besluit om dit 'n tenk te maak.

Stap 1: Kry die onderdele

Die dele wat u benodig om hierdie projek te herskep, sou wees

  • 1x rekenaar wat Arduino IDE kan gebruik
  • 1x Arduino Uno
  • 1x usb -aansluitkabel vir Arduino Uno
  • 1x sonarsensor
  • 1x luidspreker (verkieslik een van goeie kwaliteit (ek gebruik een wat ek uit 'n bluetooth -luidspreker gehaal het)).
  • 1x LM386 versterker module (dit is moontlik om dit self te maak, maar ek het 'n module gebruik).
  • 1x LM393 mikrofoon
  • 1x LDR
  • 1x LED (enige kleur sal doen, maar ek het blou gebruik).
  • 4x 1kΩ weerstand
  • 1x 2, 7kΩ weerstand
  • 1x broodbord
  • 1x mikro -SD -kaart (verkieslik klein (1 of 2 gb)).
  • 1x kragboor.
  • 1x 16 mm boorkop (verkieslik gemaak vir die boor van metaal).
  • 1x 9 mm boorkop (ook verkieslik gemaak vir die boor van metaal).
  • 1x 1 mm boorkop (weer verkieslik gemaak vir die boor van metaal).
  • 1x model tenk (ek het 'n luiperd 2 van 1:35 gebruik, maar ander gevalle moet ook goed wees).
  • Supergom / warmgom
  • en heelwat drade verkieslik in verskillende kleure.
  • kabelbinders (opsioneel).

Stap 2: Bedrading

Bedrading
Bedrading

Ons moet begin met die bedrading, die prentjie is 'n tegniese tekening van hoe dit alles aangesluit moet word. Dit moet as u bloudruk dien. Arduino is AP4, poort A0 is APA0 en poort 6 ~ is AP6 ~, ens Alle ander hawens word genoem soos dit op die modules self verskyn.

Stap 3: Kodeer dinge vooraf

Nou, voordat ons kan begin met die gebruik van kode, benodig ons 'n paar stuf. Ek beveel aan dat u nou hierdie handleiding volg van stap 2 tot 4

www.electronoobs.com/eng_arduino_tut8.php

Ons gaan egter nie sy kode gebruik nie, want ons gaan ons eie gebruik. Let daarop dat sommige luidsprekers verskillende frekwensies gebruik. My luidspreker het 16-bis 32kHz klanklêers gebruik. As u praat dus 'n soort geraas maak, maar u lêers nie speel nie, probeer dan om met u frekwensie te speel.

Stap 4: Kode

Nou gaan ons die kode na die arduino laai. Kopieer dit alles en plak dit in die Arduino IDE en laai dit op na u Arduino.

// bevat die biblioteek vir die SD -kaartleser.#sluit in "Wtv020sd16p.h" // sluit die biblioteek in wat nodig is vir die sonarsensor. #include // Stel die penne vir die Arduino in. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Stel die penne vir die SD -kaartbiblioteek in. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Stel die penne vir die Sonar sensor biblioteek in. NewPing sonar (11, 10); // Stel die ander insette op en stel die bitrate van die program in. ongeldige opstelling () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Hoofdeel van die program. void lus () {// Stel die intergers int lightDetectedVal = analogRead (lightDetectedPin) in; int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Vertraag sodat die projek die projek nie eindeloos die luidspreker sal gebruik nie. vertraging (30000); // Reeksafdruk- en druklyne sodat u maklik kan sien watter waardes deur die sensormodules geneem word. Serial.print ("Klankwaarde:"); // Verskeie if -stellings sodat die program verskillende klanklêers speel, afhangende van die waardes, word gemeet deur die sensormodules. as (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Afstand:"); as (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Ligte waarde:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Nog 'n seriële druk sodat u kan sien presies watter klanklêer gespeel is. Serial.println ("1 --------"); // Nog 'n vertraging om die klanklêer te laat speel, is op volle lengte. vertraging (5000); } anders as (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); vertraging (5000); } anders as (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); vertraging (5000); } anders as (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); vertraging (5000); } anders as (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); vertraging (5000); } anders as (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Ligte waarde:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); vertraging (5000); } anders as (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); vertraging (8000); } anders as (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); vertraging (5000); } anders as (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); vertraging (8000); } anders as (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); vertraging (6000); } anders as (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); vertraging (5000); } anders as (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); vertraging (5000); } anders as (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); vertraging (5000); } anders as (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); vertraging (5000); } anders as (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); vertraging (5000); } anders as (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Ligte waarde:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); vertraging (5000); } anders as (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); vertraging (5000); } anders as (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); vertraging (5000); } anders as (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); vertraging (5000); } anders as (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); vertraging (5000); } anders as (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); vertraging (5000); }}}}

Stap 5: Die saak

Die geval
Die geval
Die geval
Die geval

Nou kom die werklike ingewikkelde deel.

Dit kan 'n bietjie ingewikkeld wees om dit alles in te pas, dit hang af van hoe u alles op u broodbord aangebring het of hoe u dinge aanmekaar gesoldeer het. Maar jy sal 'n paar gate moet maak sodat die sensors vas kan steek. Ek sit die mikrofoon (benodig 9 mm boor) en sonar module (6 mm boor nodig) agter en die LDR aan die voorkant van die tenk, maar u kan dit in elk geval effektief plaas as u die ruimte het.

Maak 'n gaatjie in die liggaam van die model om die arduino met die aansluitkabel te verbind.

Ek sal aanbeveel om die luidspreker in die toring te plaas. want daar behoort genoeg ruimte oor te bly.

Die foto hierbo is hoe ek die arduino en die afdruk wat ek in die Leopard 2 -model gesoldeer het, aangebring het. Die regte prentjie is een met die meeste bedrading.

Wat u kan doen, is om klein gaatjies in die onderkant van die model te boor om die Arduino met kabelbinders vas te maak.

Maar as ek my nie vergis nie, moet u nou klaar wees.

Aanbeveel: