Sommario:
- Passaggio 1: ottenere le parti
- Passaggio 2: cablaggio
- Passaggio 3: cose pre-codificate
- Passaggio 4: codice
- Passaggio 5: il caso
Video: Carro armato scherzoso: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo è un progetto che ho realizzato nella mia scuola, l'HKU, che richiedeva di realizzare qualcosa con un Arduino Uno. Volevo fare qualcosa che facesse la mia cosa preferita, che facesse ridere la gente. Quindi ho deciso di creare una scatola degli scherzi che ti facesse uno scherzo, ma lo scherzo che ti dava dipendeva da ciò che un paio di moduli sensore stavano misurando in quel determinato momento. Per renderlo più personale ho deciso di farne un carro armato.
Passaggio 1: ottenere le parti
Le parti che ti servirebbero per ricreare questo progetto sarebbero
- 1x computer in grado di eseguire Arduino IDE
- 1x Arduino Uno
- 1x cavo connettore USB per Arduino Uno
- 1x sensore sonar
- 1x altoparlante (preferibilmente di qualità decente (, ne ho usato uno che ho estratto da un altoparlante bluetooth)).
- 1x modulo amplificatore LM386 (è possibile farlo da soli ma ho usato un modulo).
- 1x microfono LM393
- 1x LDR
- 1x LED (qualsiasi colore andrà bene, ma ho usato il blu).
- 4x 1kΩ resistore
- 1x 2, 7kΩ resistore
- 1x tagliere
- 1x scheda micro SD (preferibilmente piccola (1 o 2 GB)).
- 1x trapano elettrico.
- 1x punta da 16 mm (preferibilmente realizzata per forare il metallo).
- 1x punta da 9 mm (preferibilmente realizzata anche per forare il metallo).
- 1x punta da 1 mm (di nuovo preferibilmente realizzata per la perforazione del metallo).
- 1x carro armato modello (ho usato un leopardo 2 in scala 1:35 ma anche altri casi dovrebbero andare bene).
- Supercolla / colla a caldo
- e parecchi fili preferibilmente in diversi colori.
- fascette per cavi (opzionale).
Passaggio 2: cablaggio
Dobbiamo iniziare con il cablaggio, l'immagine è un disegno tecnico di come dovrebbe essere cablato. Questo dovrebbe servire come progetto. Nota: tutte le porte Arduino sono denominate AP# per ciascuna porta. Quindi la quarta porta sul Arduino è AP4, la porta A0 è APA0 e la porta 6~ è AP6~, ecc. Tutte le altre porte sono denominate come appaiono sui moduli stessi.
Passaggio 3: cose pre-codificate
Ora, prima di poter iniziare a utilizzare il codice, abbiamo bisogno di alcune cose. Ti consiglio di seguire questo tutorial dell'uomo dal passaggio 2 al 4
www.electronobs.com/eng_arduino_tut8.php
Tuttavia, non utilizzeremo il suo codice poiché utilizzeremo il nostro. Si noti che alcuni altoparlanti utilizzano frequenze diverse. Il mio altoparlante utilizzava file audio a 16 bit a 32 kHz. Quindi, se il tuo discorso emette un qualche tipo di rumore ma non riproduce i tuoi file, prova a giocare con la tua frequenza.
Passaggio 4: codice
Ora caricheremo il codice su arduino. Copia tutto questo e incollalo nell'IDE di Arduino e caricalo sul tuo Arduino.
//include la libreria per il lettore di schede SD.#include "Wtv020sd16p.h" //include la libreria necessaria per il sensore sonar. #include //Imposta i pin per Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int occupatoPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; //Imposta i pin per la libreria della scheda SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, occupatoPin); //Imposta i pin per la libreria dei sensori Sonar. Sonar NewPing(11, 10); //Imposta gli altri ingressi e imposta il bitrate del programma. void setup() { wtv020sd16p.reset(); pinMode(lightDetectedPin, INPUT); pinMode(soundDetectedPin, INPUT); Serial.begin(9600); } //Parte principale del programma. void loop() { //Imposta gli interi int lightDetectedVal = analogRead(lightDetectedPin); int distanceVal = sonar.ping_cm(); int soundDetectedVal = digitalRead(soundDetectedPin); //Ritarda in modo che il progetto il progetto non continui a utilizzare l'altoparlante all'infinito. ritardo (30000); //Stampa seriale e linee di stampa in modo da poter vedere facilmente quali valori vengono presi dai moduli sensore. Serial.print("Valore sonoro: "); //Dichiarazioni if multiple in modo che il programma riproduca file audio diversi a seconda dei valori misurati dai moduli sensore. if (soundDetectedVal == 0) { Serial.println(soundDetectedVal); Serial.print("Distanza: "); if (distanceVal == 0) { Serial.println(distanceVal); Serial.print("Valore chiaro: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(1); //Un'altra stampa seriale in modo da poter vedere quale file audio esatto è stato riprodotto. Serial.println("1--------"); //Un altro ritardo per far riprodurre il file audio a tutta lunghezza. ritardo (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(2); Serial.println("2--------"); ritardo (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(3); Serial.println("3--------"); ritardo (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(4); Serial.println("4--------"); ritardo (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(5); Serial.println("5--------"); ritardo (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal 0 || distanceVal == NULL) { Serial.println(distanceVal); Serial.print("Valore chiaro: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(7); Serial.println("7--------"); ritardo (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(8); Serial.println("8--------"); ritardo (8000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(9); Serial.println("9--------"); ritardo (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(10); Serial.println("10-------"); ritardo (8000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(11); Serial.println("11-------"); ritardo (6000); } else if (lightDetectedVal >= 500 || lightDetectedVal <= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(13); Serial.println("13-------"); ritardo (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(14); Serial.println("14-------"); ritardo (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(15); Serial.println("15-------"); ritardo (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(16); Serial.println("16-------"); ritardo (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(17); Serial.println("17-------"); ritardo (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal >= 150) { Serial.println(distanceVal); Serial.print("Valore chiaro: "); if (lightDetectedVal >= 1000) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(19); Serial.println("19-------"); ritardo (5000); } else if (lightDetectedVal >= 900) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(20); Serial.println("20-------"); ritardo (5000); } else if (lightDetectedVal >= 800) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(21); Serial.println("21-------"); ritardo (5000); } else if (lightDetectedVal >= 700) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(22); Serial.println("22-------"); ritardo (5000); } else if (lightDetectedVal >= 600) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(23); Serial.println("23-------"); ritardo (5000); } else if (lightDetectedVal >= 500 || lightDetectedVal << 500) { Serial.println(lightDetectedVal); wtv020sd16p.playVoice(24); Serial.println("24-------"); ritardo (5000); } } } }
Passaggio 5: il caso
Ora arriva la vera parte complicata.
Montare tutto nella custodia potrebbe essere un po' complicato, questo dipende da come hai montato tutto sulla breadboard o da come hai saldato le cose insieme. Ma dovrai fare un paio di fori per far aderire i sensori. Ho messo il microfono (necessario trapano da 9 mm) e il modulo sonar (necessario trapano da 6 mm) nella parte posteriore e l'LDR nella parte anteriore del serbatoio, ma puoi metterli efficacemente ovunque se hai lo spazio.
Assicurati di praticare un foro nel corpo del modello per poter collegare il tuo arduino con il cavo del connettore.
Consiglierei di mettere l'altoparlante nella torretta. come dovrebbe esserci molto spazio lasciato lì.
L'immagine sopra a sinistra è come ho montato l'arduino e la stampa che ho saldato all'interno del modello Leopard 2. L'immagine a destra è quella con la maggior parte dei cavi montati.
Quello che puoi fare è praticare piccoli fori nella parte inferiore del modello per fissare l'Arduino con delle fascette.
Ma se non mi sbaglio, ora dovresti aver finito.
Consigliato:
Carro armato RC con telecamera FPV in movimento: 9 passaggi (con immagini)
Carro armato RC con una telecamera FPV in movimento: Ciao. In questo tutorial ti mostro come costruire un carro armato telecomandato con una telecamera FPV. All'inizio costruisco solo carro armato RC senza telecamera FPV ma quando lo stavo guidando in casa non ho visto dove si trova. Quindi ho pensato che aggiungerò a
Costruisci un robot maggiordomo / auto / carro armato ESP8266 telecomandato da $ 15 per Ios e Android: 4 passaggi
Costruisci un robot maggiordomo / auto / carro armato ESP8266 telecomandato da $ 15 per Ios e Android: odi andare in cucina per prendere uno spuntino? O per ottenere una nuova bevanda? Tutto questo può essere risolto con questo semplice maggiordomo telecomandato da $ 15. Prima di andare oltre, sto eseguendo un progetto Kickstarter in questo momento per una striscia led RGB controllata dalla voce
Come costruire un potente carro armato robotizzato Rc in metallo fai-da-te V2.0: 4 passaggi
Come costruire un potente carro armato robotizzato Rc in metallo fai-da-te V2.0: un altro progetto per costruire un robot cingolato, ma questa volta ho fatto bene i compiti. A differenza del robot precedente, l'intero corpo è realizzato in alluminio, quindi questo robot pesa circa 2 libbre in meno rispetto al robot precedente che pesa oltre 6 libbre. Un altro diavoletto
Come Costruire un Potente Carro Armato Robot Rc in Metallo: 6 Passaggi (Illustrato)
Come costruire un potente carro armato robotizzato in metallo Rc: buoni amici! Quindi, ho pensato a un tipo di progetto che sarebbe stato interessante e ho deciso di costruire un carro armato (space crawl) su un'insegna ovviamente costruita interamente in metallo. 100% La mia costruzione è di alta qualità e precisione, la maggior parte delle parti del ta
Carro armato Lego EV3 con taglio laser Nerf Ball Shooting: 4 passaggi
Carro armato Lego EV3 di tiro con la palla Nerf tagliata al laser: Per il progetto finale del mio semestre 1A in Ingegneria meccatronica presso l'Università di Waterloo, abbiamo creato un carro armato tagliato al laser con il kit Lego EV3 (era necessario) che sparava palle Nerf. in alcun modo una relazione di progettazione completa. Se tu