Innehållsförteckning:

Skämt Tank: 5 steg
Skämt Tank: 5 steg

Video: Skämt Tank: 5 steg

Video: Skämt Tank: 5 steg
Video: Skämt med Alex & Angelika 2024, Juli
Anonim
Skämt Tank
Skämt Tank

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

Kabeldragning
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

Fallet
Fallet
Fallet
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: