ዝርዝር ሁኔታ:
ቪዲዮ: የአርዱዲኖ እንቆቅልሽ ሳጥን 7 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ለዚህ ፕሮጀክት ከሙዚቃ ጋር የሚሠራ የእንቆቅልሽ ሳጥን እንሠራለን። የእሱ መሠረታዊ ነገር አንድ ቁልፍን ሲጫኑ ዜማ ይለቀቃል እና አርዱዲኖ የትኛው ትክክለኛ እና የተሳሳተ መልስ እንደሆነ እንዲያውቅ የትኞቹ አዝራሮች እንደተጫኑ ያሰላል።
አቅርቦቶች
1 x Arduino uno
1 x 1k Ohm resistor
5 x 220 Ohm resistors
1 xPiezo Buzzer
5 x pushbutton 6x6 ሚሜ
1 x አዘጋጅ Jumper ሽቦዎች
1 x perf/ስትሪፕ ቦርድ
1 x solderset
1 x ማንጠልጠያ
1 x መቆንጠጫ
1 x ትንሽ የደረት መሳቢያ/እንጨት
1x ትኩስ ሙጫ ጠመንጃ + ሙጫ በትሮች
1 x 9v ባትሪ + መያዣ
ትንሽ worbla
ቀለም መቀባት
ደረጃ 1
ከእርስዎ ጋር ለመጀመር በዳቦ ሰሌዳዎ ውስጥ የእርስዎን ፒኖች መጫን አለብዎት። አሁን አናሎግ 2 ን ከቦርዱ ጥግ ጋር ካለው ሽቦ ጋር ያገናኙ። በመስመር ላይ ሁለት ተቃዋሚዎችን ከእሱ ጋር እናገናኘዋለን። የመጀመሪያው 10k Ohm resistor ነው። ወደዚህ ተቃዋሚ ሌላኛው ጫፍ ሽቦውን ከአናሎግ መሬት ጋር እናገናኛለን። ሁለተኛው ተከላካይ ከመጀመሪያው አዝራር ጋር የምናገናኘው 220 Ohm resistor ነው። የአዝራሩን ሁለተኛ ክፍት ጎን ከሁለተኛው ቁልፍ ጋር ለማገናኘት ተመሳሳይ ዋጋ ያለው ሌላ ተቃዋሚ ይጠቀሙ። እንደዚህ ያሉትን አዝራሮች እስከ መጨረሻው ድረስ ማገናኘትዎን ይቀጥሉ። በመጨረሻው ላይ ሽቦን ይይዙ እና ከአዝራሩ ተጓዳኝ ከተዘጋው ጎን ጋር ያገናኙት እና በመስመሩ ከሚቀጥለው ጋር ያገናኙት። አሁን ከተቃዋሚዎች ጋር ያደረጉትን ሂደት እርስዎ በተለመደው ሽቦዎች ብቻ ያውቃሉ። በእርስዎ አርዱinoኖ ላይ የመጀመሪያውን ቁልፍ ከአናሎግ 3 ፣ 3 ቪ ወደብ ጋር ያገናኙ። በአጠቃላይ ከዚህ በታች እንደሚታየው አንድ ዓይነት የመስቀለኛ መንገድ አባት ያገኛሉ።
ደረጃ 2
በመቀጠልም በዳቦ ሰሌዳው ላይ ጫጫታ ይሰኩ እና አንዱን ጎን ወደ ዲጂታል መሬት እና ሌላውን ወደ 12 ወደብ ያቆዩ። ሁሉም ነገር በትክክል እየሰራ መሆኑን ለመፈተሽ የሚከተለውን ኮድ ቀድሞውኑ ወደ አርዱinoኖዎ መስቀሉ ብልህ ነው። እሱ ከሆነ ክፍሎቹን አንድ ላይ ማጠፍ መጀመር ይችላሉ። ይህንን ከዳቦ ሰሌዳ አውጥተው በቀጥታ ሽቦዎችን እና ግንኙነቶችን በመገጣጠም ያድርጉ። በአዝራሮቹ መካከል የበለጠ ርዝመት ያስፈልግዎታል ብለው የሚያስቡ ከሆነ በተከላካዮቹ መካከል የተወሰነ ተጨማሪ ሽቦ ማከል ይችላሉ። በዚህ ጊዜ የዳቦ ሰሌዳ አስፈላጊ አይደለም።
ደረጃ 3
ሁሉም ነገር ከተሸጠ በኋላ ሳጥኑን ራሱ ለመሥራት ጊዜው አሁን ነው። እኔ ለእኔ ርካሽ መሠረት የሆነ መሳቢያ መሳቢያዎችን እጠቀም ነበር። እኔ በቀላሉ በግማሽ ርዝመት በግማሽ ቆረጥኩ እና የኋላውን እና የጎደለውን ጎን አስወገድኩ። አሁን ሁለት ሐ ቅርፅ ያላቸው ቁርጥራጮች ሊኖሩት ይገባል። እንደ ክዳን ለመጠቀም የአንዱን አንድ ጎን ይቁረጡ። አሁን እንደ ክዳን አልባ ሣጥን አንድ ላይ እንዲገጣጠሙ እና አንድ ላይ እንዲጣበቁ ከቀሪዎቹ ቁርጥራጮች አንዱን ያሽከርክሩ። ሙጫው በትክክል ከተቀመጠ በኋላ ፣ በሳጥኑ በእያንዳንዱ ጎን ላይ ለትንሽ ቁልፎቹ ትንሽ ቀዳዳ እና በክዳኑ ውስጥ ላለው ለ buzzer ትልቅ ይቆፍሩ።
ደረጃ 4
አሁን ሳጥኑን ለመሳል መድረስ ይችላሉ። እኔ በ BOTW ላይ የተመሠረተ የአበባ ንድፍ አወጣሁ ግን የሚፈልጉትን ማንኛውንም ንድፍ በትክክል መምረጥ ይችላሉ። ይህ ከተደረገ በኋላ ቀዳዳዎቹን ወደ ቀዳዳዎቹ ውስጥ ማስገባት እና በአዝራሩ ጀርባ እና በዙሪያው ባለው እንጨት ላይ ሙጫ ሙጫ ማድረግ ይችላሉ። ተመሳሳዩ መርህ ለጩኸት ይሠራል ፣ ግን የእኔ ጉድጓድ ውስጥ አላስፈላጊ ያደርገዋል። ቀጥሎም አንዳንድ ትናንሽ ቁልፎችን ለመሥራት አንዳንድ ትልች እና ሙቀት ወስደው ይቆርጡታል። በአዝራሮቹ ላይ በጥንቃቄ ይለጥ butቸው ነገር ግን ብዙ ሙጫዎችን ላለመጠቀም እርግጠኛ ይሁኑ ምክንያቱም በድንገት ቁልፎቹ ሊጣበቁ ይችላሉ። ከሳጥኑ ጋር የበለጠ እንዲዋሃዱ አሁን እነሱን መቀባት ይችላሉ።
ደረጃ 5
በመጨረሻ ሁለቱንም በማገናኘት በሳጥኑ እና ክዳን ላይ ማጣበቂያ እና ማጠፊያዎች ፣ ማጣበቂያ እና መከለያዎች።
ደረጃ 6
አሁን የእርስዎ ሳጥን ተጠናቅቋል ማድረግ ያለብዎት አርዱዲኖ እና ባትሪውን በውስጡ ያስገቡ እና ክዳኑን ይዝጉ።
ደረጃ 7 ኮድ
// ይህ ለዜልዳ ጭብጥ እንቆቅልሽ/የሙዚቃ ሣጥን ኮድ ነው።
// ይህ ኮድዎን በሌላ ትር ውስጥ ካሉ የማስታወሻዎች ዝርዝር ጋር ያገናኛል
#"pitches.h" ን ያካትቱ
// ይህ ተለዋዋጭ አርዱዲኖ እንደ አንድ ፕሬስ ብቻ የአዝራሩን ረዘም ያለ ግፊት ማየቱን ያረጋግጣል
int ተመሳሳይ = 0;
// ከዚህ ግብዓትዎን ያነባል
int k = 2;
// ይህ የእርስዎ የውጤት ፒን ነው
int ተናጋሪ = 12;
// ከዚህ በታች የመጨረሻዎቹ ዜማዎች ናቸው
int ዜልዳ = {NOTE_B4 ፣ NOTE_D5 ፣ NOTE_A4 ፣ NOTE_G4 ፣ NOTE_A4 ፣ NOTE_B4 ፣ NOTE_D5 ፣ NOTE_A4 ፣ NOTE_G4 ፣ NOTE_A4 ፣ NOTE_B4 ፣ NOTE_D5 ፣ NOTE_A5 ፣ NOTE_G5 ፣ NOTE_4
int ZeldaTime = {2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 4, 4, 2};
int Epona = {NOTE_D5 ፣ NOTE_B4 ፣ NOTE_A4 ፣ NOTE_D5 ፣ NOTE_B4 ፣ NOTE_A4 ፣ NOTE_D5 ፣ NOTE_B4 ፣ NOTE_A4 ፣ NOTE_B4 ፣ NOTE_A4};
int EponaTime = {4, 4, 1.5, 4, 4, 1.5, 4, 4, 2, 2, 1};
int ሳሪያ = {NOTE_F4 ፣ NOTE_A4 ፣ NOTE_B4 ፣ NOTE_F4 ፣ NOTE_A4 ፣ NOTE_B4 ፣ NOTE_F4 ፣ NOTE_A4 ፣ NOTE_B4 ፣ NOTE_E5 ፣ NOTE_D5 ፣ NOTE_B4 ፣ NOTE_C5 ፣ NOTE_B4 ፣ NOTE_4EE4 ፣ NOTE_4EE4
int SariaTime = {8 ፣ 8 ፣ 4 ፣ 8 ፣ 8 ፣ 4 ፣ 8 ፣ 8 ፣ 8 ፣ 8 ፣ 8 ፣ 4 ፣ 8 ፣ 8 ፣ 8 ፣ 8 ፣ 3 ፣ 8 ፣ 8 ፣ 8 ፣ 2 ፣ 1};
// የማስታወሻ መደበኛ ቆይታ
int BEATTIME = 300;
// እኛ በመፍትሔ ውስጥ ከሆንን የሚከታተለው ቆጣሪ
int teller = 0;
ባዶነት ማዋቀር () {
Serial.begin (9600);
pinMode (2 ፣ ግቤት);
pinMode (1 ፣ ግቤት);
}
ባዶነት loop () {
// ግቤቶችን ከፒንሶች ያነባል
k = analogRead (2);
int p = analogRead (1);
// ምንም አዝራር ካልተጫነ ምንም ድምጽ መኖር የለበትም
ከሆነ (ተናጋሪ == 0) {
noTone (12);
}
// የተነበበው መረጃ ከተገለጹት መለኪያዎች ጋር የሚዛመድ ከሆነ የተገለጸውን ትንሽ ኮድ ያሂዱ
ከሆነ (k> 320 && k <350) {
ሪችቶች ();
}
//""
ሌላ ከሆነ (k 290) {
አገናኞች ();
}
//""
ሌላ ከሆነ (k> 260 && k <280) {
ቦቨን ();
}
//""
ሌላ ከሆነ (k> 240 && k <260) {
አንደር ();
}
//""
ሌላ ከሆነ (k> 220 && k <240) {
ሀ ();
}
// ካልሆነ (ምንም ቁልፍ ካልተጫነ) ይህንን ኮድ ያሂዱ
ሌላ {
// ተመሳሳይ ዳግም ያስጀምሩ ስለዚህ በሚቀጥለው ጊዜ አንድ ቁልፍ ሲጫን ጥቅም ላይ ሊውል ይችላል
ተመሳሳይ = 0;
// ቆጣሪው እስከ አንድ የተወሰነ ቁጥር ድረስ የተገለጸውን የኮድ ኮድ ያሂዱ
ከሆነ (ተናጋሪ == 166) {
ዜልዳ ();
}
//""
ሌላ ከሆነ (ተናጋሪ == 386) {
ሳሪያ ();
}
//""
ሌላ ከሆነ (ተናጋሪ == 266) {
ኤፖና ();
}
//""
ሌላ ከሆነ (ተናጋሪ == 999) {
// ስህተቱን ለማመልከት ይህንን ድምጽ ያጫውቱ
ቶን (ድምጽ ማጉያ ፣ NOTE_C3 ፣ BEATTIME);
// ቆጣሪውን ወደ 0 ዳግም ያስጀምሩ
ተናጋሪ = 0;
}
}
// በግብዓት እና በውጤት መካከል መዘግየት
መዘግየት (100);
// በተከታታይ ማሳያ ውስጥ የግብዓትዎን እሴቶች ያትማል
Serial.println (k);
}
// ይህ የመጀመሪያው ዜማ ነው
ባዶነት ዜልዳ () {
// ይህ ዜማውን በሚጫወትበት ጊዜ እራሱን የሚያድስ ቆጣሪ ያዘጋጃል ስለዚህ እንዲያነበው እና ሲቆም እንዲያቆም
ለ (int i = 0; i <sizeof (Zelda); i ++) {
// ማስታወሻ ለምን ያህል ጊዜ መቆየት እንዳለበት ይናገራል
int ZTime = 1000 / ZeldaTime ;
// ድምጾቹን ያመነጫል
ቶን (ተናጋሪ ፣ ዜልዳ ፣ ZTime);
// ትክክለኛውን መዘግየት ይፈጥራል
int ለአፍታ አቁም = ZTime * 1.30;
መዘግየት (ለአፍታ አቁም);
// ቆጣሪን ዳግም ያስጀምራል
ተናጋሪ = 0;
// በተከታታይ ማሳያ ውስጥ የግብዓትዎን እሴቶች ያትማል
Serial.println (ተናጋሪ);
}
}
//""
ባዶ epona () {
ለ (int i = 0; i <sizeof (Epona); i ++) {
int ETime = 1000 / EponaTime ;
ቶን (ድምጽ ማጉያ ፣ ኤፖና ፣ ETime);
int pause = ETime * 1.30;
መዘግየት (ለአፍታ አቁም);
ተናጋሪ = 0;
Serial.println (ተናጋሪ);
}
}
//""
ባዶ ሳሪያ () {
ለ (int i = 0; i <sizeof (Saria); i ++) {
int STime = 1000 / SariaTime ;
ድምጽ (ተናጋሪ ፣ ሳሪያ ፣ STime);
int pause = STime * 1.30;
መዘግየት (ለአፍታ አቁም);
ተናጋሪ = 0;
Serial.println (ተናጋሪ);
}
}
ባዶነት rec
hts () {
// ይህ አስቀድሞ ካልተጫነ
ከሆነ (ተመሳሳይ == 0) {
// ቆጣሪው በአሁኑ ጊዜ ከእነዚህ እሴቶች ውስጥ አንዱ ካለው ይህንን ይጨምሩበት
ከሆነ (ተናጋሪ == 0 || ተናጋሪ == 132 || ተናጋሪ == 165 || ተናጋሪ == 232 || ተናጋሪ == 265 || ተናጋሪ == 331 || ተናጋሪ == 374) {
ተናጋሪ = ተናጋሪ + 1;
}
// አለበለዚያ የስህተት ጫጫታ እንዲሰማዎት ወደ 999 ያዋቅሩት
ሌላ {
ተናጋሪ = 999;
}
// አርዱዲኖ እንደ ብዙ ማተሚያዎች የተራዘመ ፕሬስን እንዳያነብ // አንድ አድርገው ያዘጋጁ
ተመሳሳይ = 1;
}
// ቃናውን ያጫውቱ
ሌላ {
ቶን (ድምጽ ማጉያ ፣ NOTE_A4 ፣ BEATTIME);
}
// በተከታታይ ማሳያ ውስጥ የግብዓትዎን እሴቶች ያትማል
Serial.println (ተናጋሪ); }
//""
ባዶ አገናኞች () {
ከሆነ (ተመሳሳይ == 0) {
ከሆነ (ተናጋሪ == 133 || ተናጋሪ == 254 || ተናጋሪ == 244 || ተናጋሪ == 332 || ተናጋሪ == 375 || ተናጋሪ == 221) {
ተናጋሪ = ተናጋሪ + 11;
}
ሌላ ከሆነ (ተናጋሪ == 0) {
ተናጋሪ = 111;
}
ሌላ {
ተናጋሪ = 999;
}
ተመሳሳይ = 1;
} ሌላ {
ድምጽ (ድምጽ ማጉያ ፣ NOTE_B4 ፣ BEATTIME);
} Serial.println (ተናጋሪ);
}
//""
ባዶ ባዶ () {
ከሆነ (ተመሳሳይ == 0) {ከሆነ (ተናጋሪ == 111 || ተናጋሪ == 144 || ተናጋሪ == 233) {
ተናጋሪ = ተናጋሪ + 21;
}
ሌላ ከሆነ (ተናጋሪ == 0) {
ተናጋሪ = 221;
}
ሌላ {
ተናጋሪ = 999;
}
ተመሳሳይ = 1;
}
ሌላ {
ድምጽ (ድምጽ ማጉያ ፣ NOTE_D5 ፣ BEATTIME);
Serial.println (ተናጋሪ);
}
}
//""
ባዶነት () {
ከሆነ (ተመሳሳይ == 0) {
ከሆነ (ተናጋሪ == 343) {
ተናጋሪ = ተናጋሪ + 31;
}
ሌላ ከሆነ (ተናጋሪ == 0) {
ተናጋሪ = 331;
} ሌላ {
ተናጋሪ = 999;
} ተመሳሳይ = 1;
} ሌላ {
ድምጽ (ድምጽ ማጉያ ፣ NOTE_F4 ፣ BEATTIME);
Serial.println (ተናጋሪ);
}
}
//""
ባዶ (a) {
ከሆነ (ተመሳሳይ == 0) {
ከሆነ (ተናጋሪ == 0) {
ተናጋሪ = 461;
}
ሌላ {
ተናጋሪ = 999;
}
ተመሳሳይ = 1;
}
ድምጽ (ድምጽ ማጉያ ፣ NOTE_D4 ፣ BEATTIME);
Serial.println (ተናጋሪ);
}
የሚመከር:
የቢቢሲ ማይክሮቢትን በመጠቀም የማስታወስ እንቆቅልሽ ጨዋታ 7 ደረጃዎች
የቢቢሲ ማይክሮቢትን በመጠቀም የማስታወሻ እንቆቅልሽ ጨዋታ - ቢቢሲ ማይክሮቢት ምን እንደ ሆነ ካላወቁ በመሠረቱ ግብዓቶች እና ግብዓቶች እንዲኖሩት ፕሮግራም ማድረግ የሚችሉት በእውነቱ ትንሽ መሣሪያ ነው። እንደ አርዱዲኖ ዓይነት ፣ ግን የበለጠ ሥጋ ያለው። ስለ ማይክሮ ቢት በጣም የምወደው በግቤት ውስጥ ሁለት የተገነባ መሆኑ ነው
የ WebApp እንቆቅልሽ LED አምፖል በ ESP32: 5 ደረጃዎች (ከስዕሎች ጋር)
የዌብ አፕ እንቆቅልሽ የ LED አምፖል ከ ESP32 ጋር - ለዓመታት ከ LED ሰቆች ጋር እየተጫወትኩ ነበር ፣ እና በቅርብ ጊዜ በግድግዳዎች ላይ እንደ ሽቅብ መሰል ትልቅ ለውጦችን ማድረግ ወደማልችልበት ወዳጄ ቦታ ተዛወርኩ ፣ ስለዚህ ይህንን መብራት አምጥቻለሁ ለኃይል የሚወጣ አንድ ነጠላ ሽቦ እና ሊጣበቅ ይችላል
ፓንዶራ - የሞባይል የመጭመቂያ ሳጥን ኤልኤምኤስ ሳጥን 5 ደረጃዎች (ከስዕሎች ጋር)
ፓንዶራ - የሞባይል የመጭመቂያ ሳጥን ኤልኤምኤስ ሳጥን - እንደገና ጥቅም ላይ በሚውሉ ክፍሎች የተሞላ ፣ በጣም ጮክ ብሎ እና ሁለገብ ነው።+ ጥሩ ይመስላል
ለቲዩብ ሬዲዮዎች የሲጋር ሳጥን ባትሪ ሳጥን ይገንቡ 4 ደረጃዎች
ለቲዩብ ሬዲዮዎች የሲጋር ሳጥን ባትሪ ሳጥን ይገንቡ - እኔ እንደ እኔ በሬዲዮ ሬዲዮዎች በመገንባት እና በመጫወት ላይ ከሆኑ ፣ እኔ እንደ እኔ እንደማደርገው ተመሳሳይ ችግር አጋጥሞዎት ይሆናል። አብዛኛዎቹ የድሮ ወረዳዎች ከአሁን በኋላ በማይገኙ ከፍተኛ ቮልቴጅ ቢ ባትሪዎች ላይ እንዲሠሩ ታስበው ነበር። ስለዚህ
የአርዱዲኖ ባትሪ ሳጥን 3 ደረጃዎች
የአርዱዲኖ ባትሪ ሳጥን ተሞክሮ ይህንን አስተምሮኛል 1. ተንቀሳቃሽ ፕሮጄክቶችን ከአርዱዲኖዎች ጋር መሥራት ባትሪዎችን ይፈልጋል ።2. ሮቦቶችን መስራት በቀላሉ ተደራሽ የሆነ የ OFF መቀየሪያ ይፈልጋል። (የአሲሞቭ 4 ኛ ሕግ ??) 3. 1 እና 2.4 ን ማዋሃድ ጥሩ ይሆናል። ዋጋ ቢያስከፍል አሁንም የበለጠ ይሆናል