Innehållsförteckning:
Video: Skämt Tank: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Detta är ett projekt som jag gjorde på min skola HKU, som krävde för att vi skulle göra något med en Arduino Uno. Jag ville göra något som skulle göra min favorit sak, få folk att skratta. Så bestämde mig för att göra en skämtlåda som skulle ge dig ett skämt, men vilket skämt det gav dig beror på vad ett par sensormoduler mätte vid den tidpunkten. För att göra det mer personligt bestämde jag mig för att göra det till en tank.
Steg 1: Skaffa delarna
De delar som du skulle behöva för att återskapa det här projektet skulle vara
- 1x dator som kan köra Arduino IDE
- 1x Arduino Uno
- 1x usb -anslutningskabel för Arduino Uno
- 1x ekolodsgivare
- 1x högtalare (helst en av anständig kvalitet (, jag använde en jag drog ur en bluetooth -högtalare)).
- 1x LM386 förstärkarmodul (det går att göra detta själv men jag använde en modul).
- 1x LM393 mikrofon
- 1x LDR
- 1x LED (vilken färg som helst, men jag använde blått).
- 4x 1kΩ motstånd
- 1x 2, 7kΩ motstånd
- 1x brödbräda
- 1x micro SD -kort (helst litet (1 eller 2 gb)).
- 1x borrmaskin.
- 1x 16 mm borrhuvud (helst tillverkat för borrning av metall).
- 1x 9 mm borrhuvud (även helst för borrning av metall).
- 1x 1 mm borrhuvud (återigen helst för borrning av metall).
- 1x modelltank (jag använde en leopard 2 i skala 1:35 men andra fall borde också vara bra).
- Superlim / hotlim
- och en del trådar helst i olika färger.
- kabelband (tillval).
Steg 2: Kabeldragning
Vi måste börja med kablarna, bilden är en teknisk ritning av hur allt ska kopplas upp. Detta ska fungera som din plan. Obs! Alla Arduino -portar har namnet AP# för varje port. Så fjärde porten på Arduino är AP4, port A0 är APA0 och port 6 ~ är AP6 ~, etc Alla andra portar heter som de visas på själva modulerna.
Steg 3: Förkod saker
Nu innan vi kan börja använda koden behöver vi lite stuf. Jag rekommenderar att du nu följer denna mans tutorial från steg 2 till 4
www.electronoobs.com/eng_arduino_tut8.php
Men vi kommer inte att använda hans kod eftersom vi kommer att använda vår egen Observera att vissa högtalare använder olika frekvenser. Min högtalare använde 16-bitars 32kHz ljudfiler. Så om ditt tal ger något ljud men inte spelar dina filer, försök spela med din frekvens.
Steg 4: Kod
Nu ska vi ladda upp koden till arduino. Kopiera allt detta och klistra in det i Arduino IDE och ladda upp det till din Arduino.
// inkluderar biblioteket för SD -kortläsaren.#inkluderar "Wtv020sd16p.h" // inkluderar biblioteket som behövs för ekolodsgivaren. #include // Ställer in stiften för Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Ställer in stiften för SD -kortbiblioteket. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Ställer in stiften för ekolodsgivarbiblioteket. NewPing -ekolod (11, 10); // Ställer in de andra ingångarna och ställer in programmets bithastighet. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Huvuddelen av programmet. void loop () {// Ställer in intergers int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Fördröj så att projektet inte alltid fortsätter att använda högtalaren. fördröjning (30000); // Seriell utskrift och utskrift av linjer så att du enkelt kan se vilka värden som tas av sensormodulerna. Serial.print ("Ljudvärde:"); // Flera if -satser så att programmet spelar olika ljudfiler beroende på värdena mäts av sensormodulerna. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Distance:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Ljusvärde:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Ytterligare en serieutskrift så att du kan se vilken exakt ljudfil som spelades upp. Serial.println ("1 --------"); // Ytterligare en fördröjning för att låta ljudfilen spela upp sin fulla längd. fördröjning (5000); } annars if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); fördröjning (5000); } annars if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); fördröjning (5000); } annars if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); fördröjning (5000); } annars if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); fördröjning (5000); } annars if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Ljusvärde:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); fördröjning (5000); } annars if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); fördröjning (8000); } annars if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); fördröjning (5000); } annars if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); fördröjning (8000); } annars if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); fördröjning (6000); } annars if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Ljusvärde:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); fördröjning (5000); } annars if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); fördröjning (5000); }}}}
Steg 5: Fallet
Nu kommer den komplicerade delen.
Att montera allt i fodralet kan vara lite knepigt, det beror på hur du monterade allt på din brödbräda eller hur du lödde ihop saker. Men du kommer att behöva göra ett par hål för att sensorerna ska hålla fast. Jag lägger mikrofonen (9 mm borr behövs) och ekolodsmodulen (6 mm borr behövs) på baksidan och LDR på tankens framsida, men du kan sätta dem effektivt om du har utrymme.
Se till att klippa ett hål i modellkroppen för att kunna ansluta din arduino med anslutningskabeln.
Jag skulle rekommendera att sätta högtalaren i tornet. eftersom det borde finnas gott om plats kvar där.
Bilden till vänster ovan är hur jag monterade arduinoen och det tryck jag lödde inuti modellen Leopard 2. Den högra bilden är en med de flesta kablarna monterade.
Det du kan göra är att borra små hål i modellens botten för att säkra Arduino med buntband.
Men om jag inte har fel ska du nu vara klar.
Rekommenderad:
WiFi Oil Tank Monitor: 6 steg (med bilder)
WiFi Oil Tank Monitor: Det finns flera sätt att kontrollera hur mycket bränsle som finns kvar i oljetanken. Det enklaste sättet är att använda en oljesticka, mycket exakt men inte särskilt kul en kall vinterdag. Vissa tankar är utrustade med ett siktrör, vilket återigen ger en direkt indikation på
Hur man bygger SMARS Robot - Arduino Smart Robot Tank Bluetooth: 16 steg (med bilder)
Hur man bygger SMARS Robot - Arduino Smart Robot Tank Bluetooth: Den här artikeln är stolt sponsrad av PCBWAY. PCBWAY gör prototyper av högkvalitativ PCB för människor över hela världen. Prova själv och få 10 PCB för bara $ 5 på PCBWAY med mycket bra kvalitet, tack PCBWAY. Motorskyddet för Arduino Uno
3D -tryckt RC -kontrollerad tank !!: 8 steg (med bilder)
3D -tryckt RC -kontrollerad tank !!: Har du någonsin velat ha ett fjärrstyrt fordon som kan köra offroad och du kan till och med se från en första personskamera, då är den här tanken fantastisk för dig. Spåren på tanken ger bra grepp när du kör på terräng som smuts och
Fish Tank LED Bonanza !: 8 steg
Fish Tank LED Bonanza !: LÄSARE OBS! Denna lilla fisk dog, RIP. Han matades väl och bytte vatten två gånger i veckan. Eftersom många människor har frågat via kommentarerna att jag gör han efter varning. Ljusa lysdioder och en liten tank kan döda din fisk. (Se bild bel
Oändligt skämt: 7 steg (med bilder)
Infinite Jest: En roterande maskin som styrs av en robothandske. Aldrig kul