ዝርዝር ሁኔታ:

የአርዱዲኖ ጫጫታ ማሽን 4 ደረጃዎች
የአርዱዲኖ ጫጫታ ማሽን 4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ ጫጫታ ማሽን 4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ ጫጫታ ማሽን 4 ደረጃዎች
ቪዲዮ: Arduino በከፊል ሲብራራ https://t.me/arduinoshopping 2024, ሀምሌ
Anonim
የአርዱዲኖ ጫጫታ ማሽን
የአርዱዲኖ ጫጫታ ማሽን
የአርዱዲኖ ጫጫታ ማሽን
የአርዱዲኖ ጫጫታ ማሽን
የአርዱዲኖ ጫጫታ ማሽን
የአርዱዲኖ ጫጫታ ማሽን

አሮጌውን ፒ.ሲ. በማፍረስ ላይ እያለ ትንሽ ተናጋሪ አገኘሁ። እንደገና ጥቅም ላይ ለማዋል እና የአርዲኖ ቶን () ተግባርን በመጠቀም ምን እንደሚመስል አሰብኩ። ድምፁን ለመቆጣጠር በአንድ 10Ω ፖታቲሞሜትር ጀመርኩ እና ትንሽ ጫጫታ ጀመርኩ። የቶን () ተግባር ቀለል ያለ የልብ ምት ንድፍ ይጠቀማል። በካሬ ሞገድ-ንድፍ ውስጥ በተለያየ ድግግሞሽ ላይ ድምፁን ያበራል እና ያጠፋል። እኔ ሁለት ሌሎች ፖታቲዮሜትሮች በዙሪያዬ ተኝተው ስለነበር እኔ አክዬቸው እና የቃናውን ቆይታ ለመቆጣጠር ተጠቀምኩባቸው። አንደኛው የቃናውን ርዝመት ለመቆጣጠር እና አንዱ በድምጾች መካከል ያለውን ፀጥ ያለ ቦታ ለመቆጣጠር። እሱ በመሠረቱ ሌላ ካሬ ሞገድ-ጥለት በመጠቀም ነው ግን በጣም በዝቅተኛ ድግግሞሽ። በዚህ ወረዳ ጥሩ ጥሩ ጫጫታ ማግኘት ይችላሉ። ከፓይዞ ቡዝ ጋር በጥሩ ሁኔታ ይሠራል ፣ ግን የተናጋሪው ባስ ምላሽ የለውም።

ደረጃ 1: የሚያስፈልጉዎት ክፍሎች

አርዱዲኖ ኡኖ

የዳቦ ሰሌዳ እና ዝላይ ሽቦዎች

1 ትንሽ ድምጽ ማጉያ ወይም ፒኢዞ ጫጫታ

1 የግፊት አዝራር

3 10Ω ፖታቲዮሜትሮች

1 22Ω ተከላካይ

1 10kΩ ተከላካይ

ደረጃ 2 ወረዳውን ይገንቡ

ወረዳውን ይገንቡ
ወረዳውን ይገንቡ

የዳቦ ሰሌዳውን ከእርስዎ Arduino 5V ፒን እና GND ጋር ያገናኙ። የushሽቡተን ማብሪያ / ማጥፊያ / ማብሪያ / ማብሪያ / ማብሪያ / ማብሪያ / ማብሪያ / ማብሪያ / ማጥፊያ በስተቀኝ ወይም በግራ በኩል 10kΩ resistor በመጠቀም ከ 5 ቮ እና ከመሬት ጋር ያገናኙት። በአርዱዲኖዎ ላይ 2 ን ለመሰካት ሽቦውን ከመቀየሪያ ወረዳው ጋር ያገናኙ።

በዳቦ ሰሌዳው በሌላ በኩል የ 220 Ω ተቃዋሚውን በመጠቀም የድምፅ ማጉያ/ፓይዞ ወረዳውን ወደ 5v እና መሬት ያዋቅሩ። ይህ ተከላካይ የአሁኑን ይቆጣጠራል ስለዚህ ድምጹን ይቆጣጠራል ፤ ለከፍተኛ ወይም ለዝቅተኛ መጠን እዚህ የተለያዩ ተቃዋሚዎችን መሞከር ይችላሉ።

ከጉልበቶቹ ጋር ለመገጣጠም በቂ ቦታ በመስጠት የዳቦ ሰሌዳዎ መሃል ላይ የእርስዎን potentiometers ያዘጋጁ። እያንዳንዱ ማሰሮ ከ 5 ቮ እና ከመሬት ጋር መገናኘት እና ከአናሎግ ፒኖች A0 ፣ A1 እና A2 ጋር በተገናኘ በእያንዳንዱ ላይ የመሃል ካስማዎች መገናኘት አለበት።

ደረጃ 3 - ኮዱ

ፖታቲሞሜትር ወይም ድስት ከአርዱዲኖ ጋር ሲገናኝ በ 0 እና 1023 መካከል ያለውን እሴት የሚመልስ ተለዋዋጭ resistor ነው። እነዚህን እሴቶች ከራሳችን ፍላጎት ጋር ለማጣጣም የካርታ () ተግባሩን እንጠቀማለን። የካርታው () ተግባር አምስት ነጋሪ እሴቶችን ይወስዳል እናም በእኛ ሁኔታ ምክንያታዊ የሚሰማ ድምጽ ለማውጣት ከ 220 እስከ 2200 መካከል ያለውን ክልል እንደገና ካርታ ማዘጋጀት አለብን።

ተግባሩ እንደዚህ ያለ ነገር ይመስላል

ካርታ (ድስት ፣ 0 ፣ 1023 ፣ 220 ፣ 2200);

ለከፍተኛ እና ለዝቅተኛ ድግግሞሽ ድምፆች ባለፉት ሁለት እሴቶች ዙሪያ መጫወት ይችላሉ ፣ ውሻዎን እንዳያበሳጩ ይጠንቀቁ።

ጫጫታ_ማሽን.ኖ

/* ከአናሎግ ግብዓቶች ጋር የተገናኙ ሶስት ፖታቲሜትር መለኪያዎችን በመጠቀም የጩኸት ማሽን
እና ፓይዞ ወይም ትንሽ ተናጋሪ። አንድ የግፊት ቁልፍ ጫጫታውን ፣ ፖታቲዮሜትሮቹን ያበራል
የአርዱዲኖ ቶን () ተግባርን በመጠቀም እና ሁለት መዘግየትን በመጠቀም ድምፁን ይቆጣጠሩ
የእያንዳንዱን ድምጽ ርዝመት እና በመካከላቸው ያለውን ርዝመት የሚቆጣጠሩ እሴቶች
እያንዳንዱ ቃና። ፖታቲዮሜትሮቹ የተለወጡ የአናሎግ እሴቶችን ይሰጣሉ
ከእርስዎ ጋር የሚስማማውን የካርታ () ተግባር ወደ ትላልቅ ወይም ትናንሽ ክልሎች በመጠቀም
የሙዚቃ ጣዕም።
ይህ ኮድ በይፋዊ ጎራ ውስጥ ነው።
ማት ቶማስ 2019-04-05
*/
constint buttonPin = 2; // ushሽቡተን ፒን 2
ጠንካራ ድምጽ ማጉያ = 9; // ድምጽ ማጉያ ወይም ፓይዞ በፒን 9
int buttonState = 0; // ለአዝራሩ ተለዋዋጮች
int potZero; // እና ፖታቲዮሜትሮች
int potOne;
int potTwo;
voidsetup () {
pinMode (9 ፣ ውፅዓት); // ድምጽ ማጉያ/ፓይዞ ውፅዓት ፒን
}
voidloop () {
buttonState = digitalRead (buttonPin); // የግፋ አዝራሩን ሁኔታ ያንብቡ
potZero = analogRead (A0); // የአናሎግ እሴቶችን ለማንበብ ተለዋዋጮች
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = ካርታ (potZero, 0, 1023, 0, 8800); // የአናሎግ ንባቦችን ወደ ውስጥ ያስገቡ
int high = ካርታ (potOne, 0, 1023, 0, 100); // አዲስ የቁጥር ክልሎች እና ይፍጠሩ
int low = ካርታ (potTwo, 0, 1023, 0, 100); // አዲስ ተለዋዋጮች
ከሆነ (buttonState == HIGH) {// የግፋ አዝራሩ ከተጫነ…
ቶን (ድምጽ ማጉያ ፣ htz); // ድምፁ በርቷል
መዘግየት (ከፍተኛ); // የቃና ርዝመት
noTone (ተናጋሪ); // ድምፁ ጠፍቷል
መዘግየት (ዝቅተኛ); // ጊዜ እስከሚቀጥለው ድምጽ ድረስ
} ሌላ {
noTone (ተናጋሪ); // አዝራሩ ከተለቀቀ ምንም ድምጽ የለም
}
}

በ GitHub በ hosted የተስተናገደ rawNoise_Machine.ino ን ይመልከቱ

ደረጃ 4: መጨረሻው

ስለዚህ ያ ብቻ ነው። በኮዱ ውስጥ ካሉ እሴቶች ጋር ይጫወቱ ፣ ብዙ ማሰሮዎችን /አዝራሮችን ይጨምሩ እና ሌላ ምን መቆጣጠር እንደሚችሉ ይመልከቱ። ማንኛውም ስህተት ከሠራሁ ያሳውቁኝ እና በሙዚቃው እንደሚደሰቱ ተስፋ አደርጋለሁ።

የሚመከር: