ዝርዝር ሁኔታ:

የስቱዲዮ ከበሮዎች 5 ደረጃዎች
የስቱዲዮ ከበሮዎች 5 ደረጃዎች

ቪዲዮ: የስቱዲዮ ከበሮዎች 5 ደረጃዎች

ቪዲዮ: የስቱዲዮ ከበሮዎች 5 ደረጃዎች
ቪዲዮ: የዶሮ ጭን ከድንች ጎድጓዳ ሳህን ጋር 2024, ሀምሌ
Anonim
የስቱዲዮ ከበሮዎች
የስቱዲዮ ከበሮዎች

ከበሮዎች ሰዓቶችን እና ሰዓቶችን በመለማመድ ያሳልፋሉ… ግን ሁሉም ሰው ቤት ውስጥ ከበሮ ሊኖረው አይችልም - ቦታ እና ጫጫታ ትልቅ ችግር ነው!

በዚህ ምክንያት ፣ ቤት ውስጥ መጫወት የሚችሉትን ተንቀሳቃሽ እና ዝምታ ከበሮ መፍጠር ፈልገን ነበር።

ይህ ከበሮ ለመጠቀም በጣም ቀላል ነው ፣ መከለያዎቹን መምታት ብቻ አለብዎት እና እንደ እውነተኛ ከበሮ ይመስላል! እርስዎ የሚመታዎትን የዊች ፓድ ማየት ከሚችሉት ማሳያ ጋርም ይመጣል። እና በዝምታ ሁኔታ ውስጥ ለመጠቀም ከፈለጉ የጆሮ ማዳመጫዎን ከላፕቶፕ ጋር ያገናኙት!

ደረጃ 1: የሚያስፈልግዎት

ቁሳዊ

  • አርዱዲኖ ኡኖ
  • የዳቦ ሰሌዳ
  • አንዳንድ ሽቦ
  • 5x ፓይዞዎች
  • 5x 1M Ohm resistors
  • 5 የጠርሙስ ክዳኖች
  • ኢቫ አረፋ
  • አረፋ ቦርድ

ፕሮግራሞች:

  • አርዱዲኖ አይዲኢ
  • በማስኬድ ላይ

*ከላይ ያሉትን ፕሮግራሞች በኮምፒተርዎ ላይ ለማውረድ ከዚህ በታች ያሉትን አገናኞች ይከተሉ

  • https://www.arduino.cc/en/main/software
  • https://www.arduino.cc/en/main/software

ደረጃ 2 የወረዳ መሰብሰቢያ

የወረዳ ሰብስብ
የወረዳ ሰብስብ
የወረዳ ሰብስብ
የወረዳ ሰብስብ

በመጀመሪያ ለፓይዞዎች (GND ወደ ቢጫ ክፍል እና የአናሎግ ፒን ሽቦ ወደ የፓይዞው ነጭ ክፍል) መሸጥ አለብን።

ሁሉንም ነገር ለማገናኘት የዳቦ ሰሌዳ እንጠቀማለን።

ከላይ በስዕሉ ላይ እንደሚታየው ተቃዋሚውን እና የፓይዞውን ሽቦዎች ያገናኙ። ከዚያ በአርዱዲኖ ላይ የ GND ሽቦ የዳቦ ሰሌዳውን ከ GND ጋር ያገናኙ። በመጨረሻም ከዚህ በታች እንደሚታየው እያንዳንዱን የፓይዞ ሽቦ በአርዱኖዎ ላይ ካለው የአናሎግ ፒን ጋር ያገናኙ።

ፒሶስ ከአናሎግ ፒን ጋር የተገናኘ

  • Caixa = A0;
  • ቻርልስ = A1;
  • ቶምቶም = A2;
  • ብልሽት = A3;
  • ቦምቦ = A4;

ደረጃ 3 - ፕሮግራሙን ያውጡ

ፕሮግራም ያድርጉት
ፕሮግራም ያድርጉት

የቅድመ ዝግጅት ፕሮግራም ከመጠቀም ይልቅ ለድራጊው የራሳችንን ማሳያ ለመፍጠር ወሰንን። ለዚህ ፕሮሰሲንግን ተጠቅመንበታል።

ፓይዞ ሲመታ ፣ ተጓዳኙ ከበሮ ድምፅ እንዲሰማ ፕሮግራም አድርገናል። በተጨማሪም ፣ ተጓዳኙ ከበሮ ንድፍ በማያ ገጹ ላይ ያበራል።

የማቀናበሪያ ድምጽን እና ተከታታይ ቤተ -ፍርግሞችን ማስኬድ ያስፈልግዎታል።

የከበሮ ድምጾችን ወደ የውሂብ አቃፊ ማከልዎን አይርሱ!

የአሩዲኖ ኮድ

// ፒኢዞስ ከማያያዣ ፒን ጋር ተገናኝተዋል

const int caixa = A0;

const int charles = A1;

const int tomtom = A2;

const int crash = A3;

const int bombo = A4;

const int threshold = 100; የተገኘው ድምጽ ማንኳኳት ወይም አለመሆኑን ለመወሰን // የመድረሻ እሴት

// ዋጋውን ያንብቡ እና ያከማቹ ከሴንሰር ፒንዎች ያንብቡ

int caixaReading = 0;

int charlesReading = 0;

int tomtomReading = 0;

int crashReading = 0;

int bomboReading = 0;

ባዶነት ማዋቀር () {

Serial.begin (9600); // ተከታታይ ወደቡን ይጠቀሙ

}

ባዶነት loop () {

// አነፍናፊውን ያንብቡ እና በተለዋዋጭ ዳሳሽ ውስጥ ያኑሩ

caixaReading = analogRead (caixa);

// የአነፍናፊው ንባብ ከመነሻው በላይ ከሆነ -

ከሆነ (caixaReading> = ደፍ) {

// ካይካውን ቢመቱ 0 ለሂደቱ ይላኩ

Serial.print ("0,");

Serial.println (caixaReading);

}

charlesReading = analogRead (ቻርልስ);

ከሆነ (charlesReading> = ደፍ) {

// ቻርሎቹን ቢመቱ 1 ለሂደቱ ይላኩ

Serial.print ("1,");

Serial.println (caixaReading);

}

tomtomReading = analogRead (tomtom);

ከሆነ (tomtomReading> = ደፍ) {

// ካይካውን ቢመቱ ፣ ለሂደቱ 2 ይላኩ

Serial.print ("2,");

Serial.println (tomtomReading);

}

crashReading = analogRead (ብልሽት);

ከሆነ (crashReading> = ደፍ) {

// ካይካውን ቢመቱ ፣ ለሂደቱ 3 ይላኩ

Serial.print ("3,");

Serial.println (crashReading);

}

bomboReading = analogRead (ቦምቦ);

ከሆነ (bomboReading> = 15) {

// ካይካውን ቢመቱ ፣ ለሂደቱ 4 ይላኩ

Serial.print ("4,");

Serial.println (bomboReading);

}

መዘግየት (10); / ተከታታይ ወደብ ቋት ከመጠን በላይ እንዳይጫን/ መዘግየት

}

የአሠራር ኮድ

// የድምፅ እና ተከታታይ ቤተ -መጻሕፍት ያስመጡ

የማስመጣት ማቀናበር። ድምጽ።*;

የማስመጣት ሂደት.

ተከታታይ myPort; // ከተከታታይ ክፍል አንድ ነገር ይፍጠሩ

ሕብረቁምፊ ቫል; // ከተከታታይ ወደብ የተቀበለው መረጃ

// የድራም ድምፆች

SoundFile caixa;

SoundFile charles;

SoundFile tomtom;

SoundFile ብልሽት;

SoundFile ቦምቦ;

// ድውዮች ስቱዲዮ ምስሎች

ምስል img0;

ምስል img1;

ምስል img2;

ምስል img3;

ምስል img4;

ምስል img5;

ምስል img6;

// ድውዮች ስቱዲዮ ተለዋዋጮች

ተንሳፋፊ n = 0;

ተንሳፋፊ n2 = 1;

ተንሳፋፊ n3 = 2;

ተንሳፋፊ n4 = 3;

ተንሳፋፊ n5 = 4;

ተንሳፋፊ y = 0;

ተንሳፋፊ y2 = 1;

ተንሳፋፊ y3 = 2;

ተንሳፋፊ y4 = 3;

ተንሳፋፊ y5 = 4;

ባዶነት ማዋቀር ()

{

// የሚጠቀሙት ማንኛውም ወደብ ነው ይክፈቱ

ሕብረቁምፊ ወደብ ስም = Serial.list () [0]; // ወደብዎ ለማዛመድ 0 ን ወደ 1 ወይም 2 ወዘተ ይለውጡ

myPort = አዲስ ተከታታይ (ይህ ፣ የወደብ ስም ፣ 9600);

// ድውዮች ስቱዲዮ ኮንሶላ

መጠን (720, 680);

ዳራ (15 ፣ 15 ፣ 15);

የጭረት ክብደት (2);

// የጭነት ድራም ስቱዲዮ ምስሎች

img0 = loadImage ("drumsstudio.png");

img1 = loadImage ("res.png");

img2 = loadImage ("caixa.png");

img3 = loadImage ("charles.png");

img4 = loadImage ("tomtom.png");

img5 = loadImage ("crash.png");

img6 = loadImage ("bombo.png");

// የጭነት ድምፆች

caixa = አዲስ SoundFile (ይህ ፣ “caixa.aiff”);

ቻርልስ = አዲስ SoundFile (ይህ ፣ “charles.aiff”);

tomtom = አዲስ SoundFile (ይህ ፣ “tomtom.aiff”);

ብልሽት = አዲስ SoundFile (ይህ ፣ “crash.aiff”);

ቦምቦ = አዲስ SoundFile (ይህ ፣ “bombo.aiff”);

}

ባዶ እጣ ()

{

// ቲቱሉ DRUMS STUDIO

ምስል (img0, 125, 0);

// ማዕበሎች መሳል

ከሆነ (y> 720) // ማዕበሉን እንደገና ያስጀምሩ

{

y = 0;

y2 = 1;

y3 = 2;

y4 = 3;

y5 = 4;

}

መሙላት (0 ፣ 10);

ቀጥ ያለ (0 ፣ 0 ፣ ስፋት ፣ ቁመት);

// ደጃሞስ የብላንኮ ፓራ ይሞላሉ

// dibujar la bola

መሙላት (255);

ስትሮክ (250 ፣ 255 ፣ 3);

ነጥብ (y ፣ (ቁመት -40) + ኃጢአት (n) * 30);

n = n + 0.05;

y = y + 1;

ስትሮክ (250 ፣ 255 ፣ 3);

ነጥብ (y2 ፣ (ቁመት -40) + ኮስ (n2) * 30);

n2 = n2 + 0.05;

y2 = y2 + 1;

ስትሮክ (250 ፣ 255 ፣ 3);

ነጥብ (y3 ፣ (ቁመት -40) + ኃጢአት (n3) * 30);

n3 = n3 + 0.05;

y3 = y3 + 1;

ስትሮክ (250 ፣ 255 ፣ 3);

ነጥብ (y4 ፣ (ቁመት -40) + cos (n4) * 30);

n4 = n4 + 0.05;

y4 = y4 + 1;

ስትሮክ (250 ፣ 255 ፣ 3);

ነጥብ (y5 ፣ (ቁመት -40) + ኃጢአት (n5) * 30);

n5 = n5 + 0.05;

y5 = y5 + 1;

// ዲቡዙ ባተሪያ ሲን ኒንጉና ፓርቴ ኢሉሚናዳ

ምስል (img1, 0, 80);

// ለእያንዳንዱ ግብዓት ውፅዓት ያድርጉ

ከሆነ (myPort.available ()> 0)

{// ውሂብ የሚገኝ ከሆነ ፣

val = myPort.readStringUntil ('\ n'); // ያንብቡ እና በቫል ውስጥ ያከማቹ

println (ቫል);

ሕብረቁምፊ ዝርዝር = መከፋፈል (ቫል ፣ '፣') ፤ // እያንዳንዱን የግቤት እሴት ለመውሰድ ዝርዝር ይክፈቱ

ከሆነ (ዝርዝር! = ባዶ)

{

ከሆነ (ዝርዝር [0].እኩል ("0")) {// ካይካውን ከመቱት

caixa.play (); // የካይካ ድምጽን ያጫውቱ

ምስል (img2 ፣ 0 ፣ 80) ፤ // ካይዛ በማያ ገጹ ላይ ያበራል

println ("caixa"); // በኮንሶሉ ውስጥ ያትሙት

} ሌላ ከሆነ (ዝርዝር [0].እኩል ("1")) {// ቻርሎቹን ቢመቱ

charles.play (); // የቻርለስ ድምጽ ያጫውቱ

ምስል (img3 ፣ 0 ፣ 80) ፤ // ቻርልስ በማያ ገጹ ላይ ተደምሯል

println ("ቻርልስ"); // በኮንሶሉ ውስጥ ያትሙት

} ሌላ ከሆነ (ዝርዝር [0].እኩል ("2")) {// ቶምቶን ከመቱት

tomtom.play (); // የቶምቶም ድምጽ ያጫውቱ

ምስል (img4 ፣ 0 ፣ 80) ፤ // ቶምቶም በማያ ገጹ ላይ አብራ

println ("ቶምቶም"); // በኮንሶሉ ውስጥ ያትሙት

} ሌላ ከሆነ (ዝርዝር [0]. እኩልታዎች ("3")) {// ብልሽቱን ከመቱ

crash.play (); // የብልሽት ድምጽ ያጫውቱ

ምስል (img5, 0, 80); // ብልሽት በማያ ገጹ ላይ አብራ

println ("ብልሽት"); // በኮንሶሉ ውስጥ ያትሙት

} ሌላ ከሆነ (ዝርዝር [0]. እኩል (“4”)) {// ቦምቦውን ከመቱት

bombo.play (); // የቦምቦ ድምጽ አጫውት

ምስል (img6, 0, 80); // ቦምቦ በማያ ገጹ ውስጥ ያበራል

println ("ቦምቦ"); // በኮንሶሉ ውስጥ ያትሙት

}

}

}

}

ደረጃ 4: ይገንቡት

ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት

ለሙከራው እውንነት እኛ አለን

ሂደቱን ለማቃለል የዕለት ተዕለት አባሎችን ተጠቅሟል ፣ ግን ሁል ጊዜ ተግባራዊነትን እና ጥሩ ማጠናቀቅን ይፈልጋል።

የመጀመሪያው እርምጃ በጠረጴዛው ላይ ወይም ወደ ልምምድ የምንሄድበትን ባትሪ ሲያደራጁ ነፃነት እንዲኖረን እነዚህን በቂ ርዝመት በመቁረጥ ኬብሎቹን ከፓይዞኤሌክትሪክ ጋር ማያያዝ ነበር።

ከተወሰነ ምርምር በኋላ ፣ እንጨቱ ወይም ፕላስቲክ ያሉ ቁሳቁሶች ተጥለው እንዲሄዱ የእያንዳንዱን ተፅእኖ ንዝረት በጥሩ ሁኔታ ወደ ፓይዞኤሌክትሪክ ማስተላለፉ አስፈላጊ መሆኑን አስተውለናል። በመጨረሻም ፣ ለታሸጉ ምግቦች የብረት ክዳኖችን ለመጠቀም መርጠናል ፣ ይህም ተግባራቸውን የሚያከብር እና ለዓላማቸው ተስማሚ ገጽታ ያለው።

ከበሮ መሰንጠቂያዎች ጋር በመሞከር እና እንደተጠበቀው ፣ ተፅእኖዎቹ በጣም ጫጫታ የነበራቸው እና ከጸጥታ ከበሮዎች መፍትሄ ርቀዋል። እሱን ለመፍታት ፣ ሽፋኑን በማዕከላዊው ዙሪያ ልኬቶች ላይ በመቁረጥ በላዩ ላይ በኢቫ አረፋ እንሸፍናለን። በሚጫወትበት ጊዜ እፎይታው እንዳይታይ ባለ ሁለት ጎን ቴፕ በበቂ ሁኔታ ተጣብቋል። በተጨማሪም ፣ የመከለያዎቹ ጠርዝ አሁንም እኛ በምቾት እንድንጫወት የሚከለክል የሚያበሳጭ ጫጫታ ሲፈጥር ፣ ፓድው እንዳይንሸራተት እና እያንዳንዱን ተፅእኖ በተቻለ መጠን እንዳይለሰልስ ለማድረግ ጥቂት ትናንሽ ጠብታዎች የሙቅ ቀለጠ ሙጫ በጠርዙ ላይ እናስቀምጣለን።

በሚነኩበት ጊዜ አራቱ ንጣፎች እንዳይበታተኑ ከትንሽ ነት ጋር ከውስጥ በተስተካከለ በጎን በኩል በተገጠመለት ክር አሞሌ ጥንድ ሆነን ተቀላቀልን። መጫወት ስንጀምር የነበረው ችግር የብረታ ብረት ቁሳቁስ በመሆኑ ንዝረቱን ከአንድ ፓድ ወደ ሌላው ያስተላልፋል ፣ ስለዚህ አንዱን ስንጫወት የእሱ ባልደረባ በተመሳሳይ ጊዜ ነፋ።

በመጨረሻ ዱላዎቹን አስወግደን የፓይዞ ገመዱን ራሱ እንደ ህብረት ለመጠቀም በቂ እና የበለጠ ተግባራዊ መሆኑን አየን።

ፔዳልን በተመለከተ ፣ እኛ ሳንድዊች መካከል ፒዞን የመያዝ የመጀመሪያ ሀሳብ ነበረን። በመሬት ላይ የፒዮዞ ቀጥተኛ ተፅእኖን ለማስወገድ። ይህንን ለማድረግ ፓይዞን በእንጨት ሳህን ላይ አጣበቅን እና ተመሳሳይ መጠን ያለው ሌላ የ PVC ሳህን አጣበቅን ፣ ይህም ፒኦዞውን እና ገመዱን ሁለቱንም ለማመቻቸት እና ለማስተናገድ ትንሽ ስንጥቅ አደረግን።

መጀመሪያ ለሁለቱም ሰሌዳዎች PVC ን እንጠቀም ነበር ፣ ግን ከብዙ ሙከራዎች በኋላ ይህ ቁሳቁስ በጣም ብዙ ተጽዕኖ እንደወሰደ እና ወደ ፓይዞ እንዳስተላለፈ ተገነዘብን።

እርስዎ በሚረግጡበት ጊዜ ፔዳል እንዳይፈታ እና እንዳይንቀሳቀስ ፣ ፔዳውን በእግራችን ለመያዝ እና እያንዳንዱን ምት ከበሮ ላይ ለማረጋገጥ በሳንድዊች መካከል አንድ የጎማ ባንድ ለማስቀመጥ ወሰንን።

በመጨረሻም ፣ የተሻለ አጨራረስ ለማሳካት ፕሮቶቦርዱን እና አርዱዲኖን የሚይዝ ትንሽ ሣጥን እራሳችን ሠራን። ይህ 5 ኬብሎች በአንድ በኩል ገብተው የዩኤስቢ ገመዱን በሌላ በኩል እንዲገናኝ የሚፈቅድበት ነው። ለቀላል አያያዝ እና በጠቅላላው የፕሮቶታይፕ ጥቁር እና ነጭ ውበት ለመቀጠል በጥቁር ላባ ካርቶን ውስጥ ተጭኗል።

የሚመከር: