Sisukord:

Naljapaak: 5 sammu
Naljapaak: 5 sammu

Video: Naljapaak: 5 sammu

Video: Naljapaak: 5 sammu
Video: Сериал - "Сваты" (1-й сезон 1-я серия) фильм комедия для всей семьи 2024, November
Anonim
Naljapaak
Naljapaak

See on projekt, mida tegin oma koolis HKU, mis nõudis, et saaksime Arduino Unoga midagi teha. Tahtsin teha midagi, mis teeks mu lemmiktegevust, paneks inimesi naerma. Nii otsustasite teha naljakasti, mis teile nalja viskaks, kuid mis nalja see teile andis, sõltub sellest, mida paar andurimoodulit sel kindlal ajahetkel mõõtsid. Isikupärasemaks muutmiseks otsustasin sellest teha paagi.

Samm: osade hankimine

Osad, mida oleks vaja selle projekti taastamiseks, oleksid

  • 1x arvuti, mis suudab käivitada Arduino IDE
  • 1x Arduino Uno
  • 1x USB -pistiku kaabel Arduino Uno jaoks
  • 1x sonari andur
  • 1x kõlar (eelistatavalt korraliku kvaliteediga (kasutasin ühte, mille tõmbasin bluetooth kõlarist välja)).
  • 1x LM386 võimendusmoodul (seda on võimalik ise teha, kuid ma kasutasin moodulit).
  • 1x LM393 mikrofon
  • 1x LDR
  • 1x LED (sobib mis tahes värv, kuid ma kasutasin sinist).
  • 4x 1kΩ takisti
  • 1x 2, 7kΩ takisti
  • 1x leivalaud
  • 1x micro SD -kaart (soovitavalt väike (1 või 2 GB)).
  • 1x jõutrell.
  • 1x 16 mm puurpea (eelistatavalt metalli puurimiseks).
  • 1x 9 mm puurpea (samuti eelistatavalt valmistatud metalli puurimiseks).
  • 1x 1 mm puurpea (jällegi eelistatavalt metalli puurimiseks).
  • 1x mudeli tank (kasutasin mõõtkavas 1:35 leopardi 2, kuid ka muudel juhtudel peaks kõik korras olema).
  • Superliim / kuumliim
  • ja üsna palju juhtmeid soovitavalt erinevat värvi.
  • kaablisidemed (valikuline).

2. samm: juhtmestik

Juhtmestik
Juhtmestik

Peame alustama juhtmestikuga, pilt on tehniline joonis selle kohta, kuidas see kõik peaks olema ühendatud. See peaks olema teie plaan. Märkus. Kõik Arduino pordid on iga pordi jaoks nimega AP#. Nii et 4. port Arduino on AP4, port A0 on APA0 ja port 6 ~ on AP6 ~ jne. Kõik teised pordid on nimetatud nii, nagu need moodulitel endil ilmuvad.

3. samm: eelkooditud asjad

Nüüd, enne kui saame koodi kasutama hakata, vajame mõningaid asju. Soovitan teil nüüd järgida seda mehe õpetust 2. -4

www.electronoobs.com/eng_arduino_tut8.php

Kuid me ei kavatse tema koodi kasutada, kuna hakkame kasutama oma. Pange tähele, et mõned kõlarid kasutavad erinevaid sagedusi. Minu kõlar kasutas 16-bitiseid 32 kHz helifaile. Nii et kui teie kõne teeb mingit müra, kuid ei esita teie faile, proovige mängida oma sagedusega.

4. samm: kood

Nüüd laadime koodi üles arduinosse. Kopeerige see kõik ja jätke see Arduino IDE -sse ning laadige see üles oma Arduinosse.

// sisaldab SD -kaardilugeja kogu.#include "Wtv020sd16p.h" // sisaldab sonari anduri jaoks vajalikku raamatukogu. #include // Määrab Arduino tihvtid. int resetPin = 4; int clockPin = 5; int dataPin = 6; int hõivatudPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Määrab SD -kaardi teegi tihvtid. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, aizņemPin); // Määrab Sonari andurite kogu nööpnõelad. NewPingi sonar (11, 10); // Seadistab muud sisendid ja määrab programmi bitikiiruse. tühine seadistus () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Seriaalne algus (9600); } // Programmi põhiosa. void loop () {// Määrab täisarvud int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Edasilükkamine, et projekt, mida projekt lõplikult kõlarit ei kasutaks. viivitus (30000); // Seeriaprindid ja printimisliinid, et saaksite hõlpsalt näha, milliseid väärtusi andurimoodulid võtavad. Serial.print ("Heli väärtus:"); // Mitu lauset, nii et programm esitab erinevaid helifaile sõltuvalt väärtustest, mõõdetakse andurimoodulite abil. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Kaugus:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Valgusväärtus:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Teine jadaprint, et saaksite näha, millist täpset helifaili esitati. Serial.println ("1 --------"); // Veel üks viivitus helifaili täispikkuses esitamiseks. viivitus (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); viivitus (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); viivitus (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); viivitus (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); viivitus (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Valgusväärtus:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); viivitus (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); viivitus (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); viivitus (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); viivitus (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); viivitus (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); viivitus (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); viivitus (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); viivitus (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); viivitus (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); viivitus (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Valgusväärtus:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); viivitus (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); viivitus (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); viivitus (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); viivitus (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); viivitus (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); viivitus (5000); }}}}

5. samm: juhtum

Juhul
Juhul
Juhul
Juhul

Nüüd tuleb tegelik keeruline osa.

Kõigi selle korpuse paigaldamine võib olla natuke keeruline, see sõltub sellest, kuidas te kõik oma leivaplaadile paigaldasite või kuidas asju kokku jootsite. Kuid andurite kinnitamiseks peate tegema paar auku. Panin mikrofoni (vaja 9 mm puurit) ja sonarimooduli (vaja 6 mm puurit) taha ja LDR paagi ette, kuid kui teil on ruumi, saate need igal juhul tõhusalt paigutada.

Lõika kindlasti mudeli korpusesse auk, et saaksite oma arduino ühenduskaabliga ühendada.

Soovitan kõlari torni panna. kuna seal peaks olema palju ruumi.

Ülaltoodud vasakpoolne pilt on see, kuidas ma paigaldasin arduino ja trüki, mille ma jootsin Leopard 2 mudeli sisse. Parempoolne pilt on üks, kus enamik juhtmeid on paigaldatud.

Mida saate teha, on puurida mudeli põhja väikesed augud, et Arduino kaablisidemetega kinnitada.

Aga kui ma ei eksi, peaksite nüüd lõpetama.

Soovitan: