Orodha ya maudhui:

Tani ya utani: Hatua 5
Tani ya utani: Hatua 5

Video: Tani ya utani: Hatua 5

Video: Tani ya utani: Hatua 5
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Julai
Anonim
Tani ya utani
Tani ya utani

Huu ni mradi ambao nilifanya katika shule yangu HKU, ambayo ilihitaji kwetu kutengeneza kitu na Arduino Uno. Nilitaka kutengeneza kitu ambacho kingefanya kitu ninachopenda, kikafanya watu wacheke. Kwa hivyo uliamua kutengeneza sanduku la utani ambalo litakutupa utani, lakini ni utani gani uliokupa utategemea kile moduli kadhaa za sensa zilikuwa zikipima kwa wakati huo fulani kwa wakati. Ili kuifanya iwe ya kibinafsi zaidi niliamua kuifanya tanki.

Hatua ya 1: Kupata Sehemu

Sehemu ambazo utahitajika kuunda mradi huu itakuwa

  • Kompyuta 1x yenye uwezo wa kuendesha Arduino IDE
  • 1x Arduino Uno
  • Cable ya kiunganishi ya usb ya 1x ya Arduino Uno
  • Sensor ya 1x Sonar
  • Spika ya 1x (ikiwezekana moja ya ubora mzuri (, nilitumia moja kutoka kwa spika ya Bluetooth)).
  • Moduli ya Amplifier ya 1x LM386 (inawezekana kutengeneza hii mwenyewe lakini nilitumia moduli).
  • Kipaza sauti cha 1x LM393
  • 1x LDR
  • 1x LED (rangi yoyote itafanya lakini nilitumia bluu).
  • Kinga ya 4x 1kΩ
  • 1x 2, 7kΩ kupinga
  • Bodi ya mkate ya 1x
  • 1x kadi ndogo ya SD (ikiwezekana ndogo (1 au 2 gb)).
  • Mchoro wa nguvu wa 1x.
  • 1x 16mm kichwa cha kuchimba visima (ikiwezekana kwa chuma cha kuchimba).
  • 1x 9mm kichwa cha kuchimba visima (pia ikiwezekana kwa chuma cha kuchimba).
  • 1x 1mm kichwa cha kuchimba visima (tena ikiwezekana imetengenezwa kwa kuchimba chuma).
  • Tangi la Model la 1x (nilitumia chui 2:35 lakini kesi zingine zinapaswa kuwa sawa).
  • Superglue / hotglue
  • na waya zingine ikiwezekana kwa rangi tofauti.
  • uhusiano wa kebo (hiari).

Hatua ya 2: Wiring

Wiring
Wiring

Tunahitaji kuanza na wiring, picha hiyo ni mchoro wa kiufundi wa jinsi inapaswa kuunganishwa kwa waya. Hii inapaswa kuwa kama ramani yako. Kumbuka: Bandari zote za Arduino zinaitwa AP # kwa kila bandari. Kwa hivyo bandari ya 4 kwenye Arduino ni AP4, bandari A0 ni APA0 na bandari ya 6 ~ ni AP6 ~, nk Bandari zingine zote zimetajwa kama zinavyoonekana kwenye moduli zenyewe.

Hatua ya 3: Pre Code Mambo

Sasa kabla ya kuanza kutumia nambari tunahitaji stuf. Ninakupendekeza sasa fuata mafunzo haya ya manus kutoka hatua ya 2 hadi ya 4.

www.electronoobs.com/eng_arduino_tut8.php

Walakini hatutatumia nambari yake kama tutakavyotumia yetu mwenyewe Tafadhali kumbuka kuwa spika zingine hutumia masafa tofauti. Spika yangu alitumia faili za sauti 16-bit 32kHz. Kwa hivyo ikiwa kuzungumza kwako kunafanya aina fulani ya kelele lakini sio kucheza faili zako basi jaribu kucheza na masafa yako.

Hatua ya 4: Kanuni

Sasa tutapakia nambari hiyo kwa arduino. Nakili haya yote na uyapitishe kwenye IDE ya Arduino na uipakie kwa Arduino yako.

// inajumuisha maktaba ya msomaji wa kadi ya SD. # ni pamoja na "Wtv020sd16p.h" // inajumuisha maktaba inayohitajika kwa sensa ya sonar. # pamoja na // Inaweka pini za Arduino. int resetPin = 4; saa ya saaPini = 5; data dataPin = 6; int busyPin = 7; sauti ya ndaniDetectedPin = 12; int lightDetectedPin = A0; // Inaweka pini kwa maktaba ya kadi ya SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Inaweka pini kwa maktaba ya sensa ya Sonar. SonP mpya (11, 10); // Inaweka pembejeo zingine na inaweka bitrate ya programu. kuanzisha batili () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (sautiDetectedPin, INPUT); Serial. Kuanza (9600); } // Sehemu kuu ya programu. kitanzi batili () {// Inaweka viingilizi int lightDetectedVal = analogRead (lightDetectedPin); umbali umbaliVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (sautiDetectedPin); // Kuchelewa ili mradi mradi usiendelee kutumia spika. kuchelewesha (30000); // Mstari wa kuchapisha na kuchapisha laini ili uweze kuona kwa urahisi ni maadili gani yanayochukuliwa na moduli za sensorer. Serial.print ("Thamani ya Sauti:"); // Taarifa nyingi ikiwa mpango unacheza faili tofauti za sauti kulingana na maadili hupimwa na moduli za sensorer. ikiwa (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Umbali:"); ikiwa (umbaliVal == 0) {Serial.println (umbaliVal); Serial.print ("Thamani ya Mwanga:"); ikiwa (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (1); // Chapisho lingine la serial ili uweze kuona ni faili gani halisi ya sauti iliyochezwa. Serial.println ("1 --------"); // Ucheleweshaji mwingine kuruhusu faili ya sauti kucheza kamili. kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (2); Serial.println ("2 --------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (3); Serial.println ("3 --------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (4); Serial.println ("4 --------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (5); Serial.println ("5 --------"); kuchelewesha (5000); } kingine ikiwa (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Thamani ya Mwanga:"); ikiwa (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (7); Serial.println ("7 --------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (8); Serial.println ("8 --------"); kuchelewesha (8000); } mwingine ikiwa (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (9); Serial.println ("9 --------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (10); Serial.println ("10 -------"); kuchelewesha (8000); } mwingine ikiwa (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (11); Serial.println ("11 -------"); kuchelewa (6000); } mwingine ikiwa (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (13); Serial.println ("13 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (14); Serial.println ("14 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (15); Serial.println ("15 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (16); Serial.println ("16 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (17); Serial.println ("17 -------"); kuchelewesha (5000); } kingine ikiwa (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Thamani ya Mwanga:"); ikiwa (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (19); Serial.println ("19 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (20); Serial.println ("20 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (21); Serial.println ("21 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (22); Serial.println ("22 -------"); kuchelewesha (5000); } mwingine ikiwa (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (23); Serial.println ("23 -------"); kuchelewesha (5000); } kingine ikiwa (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.kucheza Sauti (24); Serial.println ("24 -------"); kuchelewesha (5000); }}}}

Hatua ya 5: Kesi

Kesi hiyo
Kesi hiyo
Kesi hiyo
Kesi hiyo

Sasa inakuja sehemu ngumu halisi.

Kufaa yote katika kesi inaweza kuwa ngumu sana hii inategemea jinsi ulivyoweka kila kitu kwenye ubao wako wa mkate au jinsi ulivyounganisha vitu pamoja. Lakini utahitaji kutengeneza mashimo kadhaa kwa sensorer kushikamana na miiba. Ninaweka kipaza sauti (9mm drill inahitajika) na moduli ya sonar (6mm drill inahitajika) nyuma na LDR mbele ya tank lakini unaweza kuiweka kwa ufanisi yoyote ikiwa una nafasi.

Hakikisha kukata shimo kwenye mwili wa mfano ili kuweza kuunganisha arduino yako na kebo ya kiunganishi.

Napenda kupendekeza kuweka spika kwenye turret. kwani kunapaswa kuwa na nafasi nyingi iliyoachwa hapo.

Picha ya kushoto hapo juu ni jinsi nilivyoweka arduino na chapa niliyoiuza ndani ya mfano wa Chui 2. Picha ya kulia ni moja na wiring nyingi zimefungwa.

Nini unaweza kufanya ni kuchimba mashimo madogo chini ya mfano ili kupata Arduino na vifungo vya kebo.

Lakini ikiwa sikosei, unapaswa kufanywa sasa.

Ilipendekeza: