INHOUDSOPGAWE:
- Stap 1: Kry die onderdele
- Stap 2: Bedrading
- Stap 3: Kodeer dinge vooraf
- Stap 4: Kode
- Stap 5: Die saak
Video: Grappige tenk: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
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
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
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:
Goedkoop akriel robot tenk onderstel vir Arduino SN7300 Sinoning: 6 stappe
Goedkoop akriel robot tenk onderstel vir Arduino SN7300 Sinoning: goedkoop akriel tenk onderstel vir Arduino SN7000 Sinoning koop van: SINONING ROBOT TANK
Motor met afstandsbediening tenk: 3 stappe
Afstandsbediening tenkwa: Dit is 'n gids oor hoe u 'n tenkwa met afstandbeheer kan maak. Die stel wat ek vandag sal gebruik om die motor te maak, is 'n eenvoudige tenk aangedrewe motorstel, met 'n ligsensor om 'n pad te volg. Jou motor het nie die ligsensor nodig nie, maar 'n tenk aangedrewe motor is nodig
3D gedrukte RC -beheerde tenk !!: 8 stappe (met foto's)
3D -gedrukte RC -beheerde tenk !!: wou u al ooit 'n afstandbeheerde voertuig hê wat van die pad af kan ry, en u kan selfs van 'n eerste -persoon -kamera sien, dan is hierdie tenk wonderlik vir u. Die spore op die tenk sorg vir goeie greep as u op terreine ry soos vuil en
Waterkoeler tenk: 7 stappe
Waterkoeler tenk: hierdie ondeurgrondelike gaan oor hoe om 'n waterkoeler met eenvoudige komponente tuis te maak
RC -tenk met 'n bewegende FPV -kamera: 9 stappe (met foto's)
RC -tenk met 'n bewegende FPV -kamera: Hallo, in hierdie instruksies wys ek u hoe u tenk vir 'n afstandsbediening met 'n FPV -kamera kan bou. Aan die begin bou ek slegs 'n RC -tenk sonder FPV -kamera, maar toe ek in die huis ry, het ek nie gesien waar dit is nie. So ek het vorendag gekom wat ek sal byvoeg by