Taula de continguts:
Vídeo: Joker Tank: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquest és un projecte que vaig fer a la meva escola HKU, que requeria que féssim alguna cosa amb un Arduino Uno. Volia fer alguna cosa que fes el que preferia, que fes riure a la gent. Així que vaig decidir fer una caixa d’acudits que us brindés una broma, però quina broma us donaria dependria del que mesuressin un parell de mòduls de sensor en aquell moment determinat. Per fer-lo més personal, vaig decidir fer-ne un tanc.
Pas 1: Obtenir les peces
Les parts necessàries per recrear aquest projecte serien
- 1x ordinador capaç d'executar Arduino IDE
- 1x Arduino Uno
- 1x cable USB per Arduino Uno
- 1x sensor de sonar
- 1 x Altaveu (preferible de qualitat decent (, he utilitzat un que he tret d'un altaveu bluetooth)).
- 1x mòdul amplificador LM386 (és possible fer-ho vosaltres mateixos, però he utilitzat un mòdul).
- 1x micròfon LM393
- 1x LDR
- 1x LED (qualsevol color farà, però he utilitzat el blau).
- 4x resistència de 1kΩ
- Resistència 1x 2, 7kΩ
- 1x tauler de pa
- 1 targeta micro SD (preferiblement petita (1 o 2 gb)).
- 1x trepant elèctric.
- 1x capçal de 16 mm (preferiblement per perforar metall).
- 1x cap de broca de 9 mm (també fabricat preferentment per perforar metall).
- 1x cap de broca d'1mm (de nou preferiblement per perforar metall).
- 1x Model de tanc (he utilitzat un lleopard 2 a escala 1:35, però altres casos també haurien d’estar bé).
- Superglue / hotglue
- i bastants cables preferiblement de diferents colors.
- brides de cable (opcional).
Pas 2: cablejat
Hem de començar amb el cablejat, la imatge és un dibuix tècnic de com s’ha de connectar tot plegat. Això us ha de servir com a pla principal. Nota: Tots els ports Arduino s’anomenen AP # per a cada port. Arduino és AP4, el port A0 és APA0 i el port 6 ~ és AP6 ~, etc. Tots els altres ports es denominen tal com apareixen als mòduls.
Pas 3: Pre Codi de coses
Abans de començar a utilitzar el codi, necessitem alguns stuf. Us recomano que seguiu aquest tutorial per a mans del pas 2 al 4
www.electronoobs.com/eng_arduino_tut8.php
Tanmateix, no utilitzarem el seu codi, ja que farem servir el nostre. Tingueu en compte que alguns altaveus utilitzen diferents freqüències. El meu altaveu utilitza fitxers d'àudio de 16 bits de 32 kHz. Per tant, si el que parleu fa algun tipus de soroll però no reprodueix els fitxers, proveu de jugar amb la vostra freqüència.
Pas 4: Codi
Ara carregarem el codi a l’arduino. Copieu-ho tot i passeu-lo a l’IDE Arduino i pengeu-lo al vostre Arduino.
// inclou la biblioteca per al lector de targetes SD. # include "Wtv020sd16p.h" // inclou la biblioteca necessària per al sensor de sonar. #include // Estableix els pins de l'Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Estableix els pins de la biblioteca de la targeta SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Estableix els pins de la biblioteca de sensors Sonar. NewPing sonar (11, 10); // Configura les altres entrades i estableix la velocitat de bits del programa. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Part principal del programa. void loop () {// Estableix els intergers int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Retardar perquè el projecte el projecte no continuï utilitzant l’altaveu infinitament. retard (30000); // Impressió en sèrie i línies d'impressió perquè pugueu veure fàcilment quins valors prenen els mòduls del sensor. Serial.print ("Valor del so:"); // Múltiples sentències if perquè el programa reprodueixi diferents fitxers d'àudio en funció dels valors que mesuren els mòduls del sensor. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Distància"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Valor de llum:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Una altra impressió en sèrie perquè pugueu veure quin fitxer d’àudio es va reproduir exactament. Serial.println ("1 --------"); // Un altre retard perquè la reproducció del fitxer d'àudio sigui completa. retard (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); retard (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); retard (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); retard (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); retard (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Valor de llum:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); retard (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); retard (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); retard (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); retard (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); retard (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); retard (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); retard (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); retard (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); retard (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); retard (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Valor de llum:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); retard (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); retard (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); retard (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); retard (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); retard (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); retard (5000); }}}}
Pas 5: el cas
Ara arriba la part complicada real.
Arreglar-ho tot a la caixa pot ser una mica complicat, això depèn de com ho hàgiu ajustat tot a la taula de treball o de com es venguin les coses juntes. Però haureu de fer un parell de forats perquè els sensors s’enganxin. Vaig posar el micròfon (es necessita un trepant de 9 mm) i el mòdul de sonar (es necessita un trepant de 6 mm) a la part posterior i el LDR a la part davantera del tanc, però els podeu posar efectivament si teniu espai.
Assegureu-vos de tallar un forat al cos del model per poder connectar el vostre arduino amb el cable del connector.
Recomanaria posar l’altaveu a la torreta. ja que hi hauria d’haver molt d’espai.
A la imatge de l’esquerra que es mostra a continuació s’explica com he ajustat l’arduino i la impressió que heu soldat dins del model Leopard 2. La imatge de la dreta és una amb la majoria del cablejat instal·lat.
El que podeu fer és perforar petits forats a la part inferior del model per assegurar l’Arduino amb brides de cable.
Però si no m’equivoco, ara hauríeu d’acabar.
Recomanat:
Com construir el robot SMARS - Arduino Smart Robot Tank Bluetooth: 16 passos (amb imatges)
Com construir el robot SMARS: Arduino Smart Robot Tank Bluetooth: aquest article compta amb el patrocini orgullós de PCBWAY.PCBWAY fabrica PCB de prototipatge d’alta qualitat per a persones de tot el món. Proveu-ho per vosaltres mateixos i obteniu 10 PCB per només 5 dòlars a PCBWAY amb una qualitat molt bona, gràcies PCBWAY. La protecció del motor per a Arduino Uno
Fish Tank LED Bonanza !: 8 passos
Fish Tank LED Bonanza !: LECTOR PER FAVOR! Aquest peixet va morir, RIP. Estava ben alimentat i li canviaven l’aigua dues vegades per setmana. Ja que molta gent ha preguntat a través dels comentaris que li faig després de l’advertència: els LED brillants i un petit tanc poden matar els vostres peixos. (Veure imatge bel
RC Tank amb una càmera FPV en moviment: 9 passos (amb imatges)
Dipòsit RC amb càmera FPV en moviment: Hola. En aquest instructiu us mostro com construir dipòsit de control remot amb càmera FPV. Al principi només construïa tanc RC sense càmera FPV, però quan el conduïa a casa no he vist on és. Així que vaig pensar que afegiré a
ESP32-CAM FPV Arduino Wifi Control Tank with WebApp Controller_p1_introduction: 3 Passos
ESP32-CAM FPV Arduino Wifi Control Tank with WebApp Controller_p1_introduction: Hola, sóc Tony Phạm. Actualment, sóc professor vietnamita de STEAM i també aficionat. Ho sento per endavant pel meu anglès. Abans vaig escriure una instrucció per fer un dipòsit controlat Bluetooth Arduino, però està en vietnamita. Enllaç de referència: P1. ARDUINO B
Laser Cut Nerf Ball Shooting Lego EV3 Tank: 4 passos
Laser Cut Nerf Ball Shooting Lego EV3 Tank: Per al projecte final del meu curs 1A en Enginyeria Mecatrònica a la Universitat de Waterloo, vam crear un tanc de tall làser amb el kit Lego EV3 (això era necessari) que disparava boles Nerf. en cap cas un informe de disseny complet. Si tu