ዝርዝር ሁኔታ:
ቪዲዮ: Servo Positoning በቁልፍ ሰሌዳ: 3 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
በዚህ መመሪያ ውስጥ በአርዱዲኖ ኡኖ በሚሠራ ቁልፍ ሰሌዳ ማይክሮ-ሰርቫን የሚቆጣጠር ፕሮጀክት እንፈጥራለን።
ያገለገሉ ቁሳቁሶች;
አርዱዲኖ ኡኖ
የዳቦ ሰሌዳ
4x4 የቁልፍ ሰሌዳ
ማይክሮ-ሰርቮ
ደረጃ 1 - የቁልፍ ሰሌዳውን ያሽጉ
መጀመሪያ ማድረግ ያለብዎት በሃርድ ቦርዱ ላይ የኃይል ባቡሩን እና የመሬቱን ባቡር ከእርስዎ አርዱዲኖ ማገናኘት ነው
- 5V ፒን ከኃይል ባቡር (ቀይ) ጋር ያገናኙ
- የከርሰ ምድር ፒን (GND) ከመሬት ማረፊያ ባቡር (ሰማያዊ) ጋር ያገናኙ
አሁን የዳቦ ሰሌዳው ኃይል ስላለው እና መሬት ላይ የተመሠረተ በመሆኑ የእኛን ክፍሎች ማገናኘት መጀመር እንችላለን።
የቁልፍ ሰሌዳውን ማገናኘት ቀላል ነው ፣ ግን በቁልፍ ሰሌዳው እና በአርዱዲኖ ላይ ያሉትን ፒኖች ልብ ማለት ያስፈልግዎታል። ትኩረታችንን ወደ ኮዳችን ስናዞር ጠቃሚ ይሆናል።
ሽቦዎችዎን ሲጠቀሙ በግራ በኩል መጀመርዎን ያስታውሱ!
- የመጀመሪያው ፒን ወደ 13 ይሄዳል
- ሁለተኛው ፒን ወደ 12 ይሄዳል
- ሦስተኛው ፒን ወደ 11 ይሄዳል
- አራተኛው ፒን ወደ 10 ይሄዳል
- አምስተኛ ፒን ወደ 9
- ስድስተኛው ፒን እስከ 8
- ሰባተኛው ፒን እስከ 7
- ስምንተኛ ፒን እስከ 6
የቁልፍ ሰሌዳውን ሲገጣጠሙ ፣ ዲጂታል ፒኤም ፒን ፒን ክፍት ሆኖ እንዲቆይ ያስታውሱ። እኛ ለማይክሮ ሰርቪው ያስፈልገናል
ወደ ኮዱ ከመድረሳችን በፊት የቁልፍ ሰሌዳ ቤተ -መጽሐፍት መጫኑን ያረጋግጡ። በስዕልዎ ውስጥ ሊገኝ ይችላል ፣ ከዚያ የስዕል ንድፍ ትር ፣ ቤተ -መጽሐፍትን ያካትቱ። ያለ እሱ የቁልፍ ሰሌዳውን መጠቀም አይችሉም።
አሁን ወደ ኮዱ እንመለስ እና የቁልፍ ሰሌዳው መስራቱን እና የተገኙትን እሴቶች መስጠቱን ያረጋግጡ
ፈጣን ማስታወሻዎች - የቁልፍ ሰሌዳውን ለመፈተሽ መግለጫው ካለዎት ያረጋግጡ ፣ አለበለዚያ አይሰራም። እንዲሁም ስለ መዘግየቶች ይጠንቀቁ ፣ እነሱ ከቁልፍ ሰሌዳው በሚመዘገቡት አዝራሮች ይረበሻሉ
#ያካትቱ
const ባይት ረድፎች = 4; የቁልፍ ሰሌዳው ሞልቶ ስለሆነ // አራት ረድፎች
const ባይት አምዶች = 4; // አራት ዓምዶች ፣ ከላይ ካለው ጋር ተመሳሳይ
የቻር አዝራሮች [ረድፎች] [አምዶች] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '} ፣ {'*'፣' 0 '፣'#'፣' D '}};
ባይት ረድፍ ፒ [ረድፎች] = {13, 12, 11, 10}; የቁልፍ ሰሌዳው // የረድፍ ፒኖች
ባይት አምዶች P [አምዶች] = {9, 8, 7, 6}; የቁልፍ ሰሌዳው // የአምድ ፒኖች
የቁልፍ ሰሌዳ ፓድ = የቁልፍ ሰሌዳ (makeKeymap (አዝራሮች) ፣ ረድፍ ፒ ፣ አምዶች ፒ ፣ ረድፎች ፣ ዓምዶች); // የቁልፍ ሰሌዳ ይፍጠሩ
ባዶነት ማዋቀር () {
Serial.begin (9600); }
ባዶነት loop () {
ቻር አዝራር ተጭኗል = pad.getKey (); // (አዝራር ተጭኖ) // በቁልፍ ሰሌዳው ላይ ምን ቁልፍ እንደተጫነ ካሳዩ ቻርዱን ከቁልፍ ሰሌዳው ያግኙ {Serial.println (buttonPressed) ፤ }}
ደረጃ 2: ማይክሮ ሰርቮን ያክሉ
አሁን የ servo ሞተርን እንጨምር። ማይክሮ አገልጋዩ ሶስት ሽቦዎች ብቻ ስላሉት ይህ አሁን ባለው ፕሮጀክት ላይ ለማከል ቀላል ነው።
- ቡናማ ሽቦ በዳቦ ሰሌዳው ላይ ወደ መሬት ባቡር ይሄዳል
- ቀይ ወደ የኃይል ባቡር ይሄዳል
- ብርቱካን በአርዱዲኖ ላይ ወደ ፒን 3 ይሄዳል። ያስታውሱ ማይክሮ አገልጋዩ በአርዱዲኖ ላይ የ PWM ፒን ሊኖረው ይገባል። ይህ የሆነው TIMER2 ን በመጠቀም በ servo ምክንያት ነው
አሁን እኛ ማይክሮ ሰርቪሱን በትክክል እንደገፋን እና እሱ መንቀሳቀሱን ብቻ ያረጋግጡ
#አካትት #Servo.h ን አካት
const ባይት ረድፎች = 4; የቁልፍ ሰሌዳው ሞልቶ ስለሆነ // አራት ረድፎች
const ባይት አምዶች = 4; // አራት ዓምዶች ፣ ከላይ ካለው ጋር ተመሳሳይ
የቻር አዝራሮች [ረድፎች] [አምዶች] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '} ፣ {'*'፣' 0 '፣'#'፣' D '}};
ባይት ረድፍ ፒ [ረድፎች] = {13, 12, 11, 10}; የቁልፍ ሰሌዳው // የረድፍ ፒኖች
ባይት አምዶች P [አምዶች] = {9, 8, 7, 6}; የቁልፍ ሰሌዳው // የአምድ ፒኖች
የቁልፍ ሰሌዳ ፓድ = የቁልፍ ሰሌዳ (makeKeymap (አዝራሮች) ፣ ረድፍ ፒ ፣ አምዶች ፒ ፣ ረድፎች ፣ ዓምዶች); // የቁልፍ ሰሌዳ ይፍጠሩ
Servo currentServo; // አንድ servo ን ለመቆጣጠር servo ን ነገር ይፍጠሩ
// በአብዛኛዎቹ ሰሌዳዎች ላይ አስራ ሁለት የ servo ዕቃዎች ሊፈጠሩ ይችላሉ
int pos = 0; // የ servo ቦታን ለማከማቸት ተለዋዋጭ
ባዶነት ማዋቀር () {
Serial.begin (9600); currentServo.attach (3); // አገልጋዩን በፒን 9 ላይ ወደ servo ነገር ያያይዘዋል
}
ባዶነት loop () {
ቻር አዝራር ተጭኗል = pad.getKey (); // (አዝራር ተጭኖ) // በቁልፍ ሰሌዳው ላይ ምን ቁልፍ እንደተጫነ ካሳዩ ቻርዱን ከቁልፍ ሰሌዳው ያግኙ {Serial.println (buttonPressed) ፤ }
currentServo.write (95);
}
ደረጃ 3 በ Servo ላይ የቁልፍ ሰሌዳውን ለመጠቀም ኮዱን ይቀይሩ
በቁልፍ ሰሌዳው ላይ አንድ የተወሰነ ቁልፍ ስንጫን ፣ ሰርቪው ወደ አንድ የተወሰነ ቦታ እንዲሄድ የእኛን ኮድ እንደምናስተካክል ይወቁ። አንድ አስፈላጊ ነገር በመጀመሪያ። ለ 0 የ servo አቀማመጥ እንግዳ ነበር። ቀጣይነት ያለው የማዞሪያ ሰርቪስ ስለነበረኝ ፣ ወደ 0 ሲጠጋ ፣ ሰርቪው ማሽከርከር ጀመረ። በኮድ ውስጥ ያስቀመጥኩት ቁጥር ያ ያለ እኔ መጓዝ የምችለውን ያህል ዝቅተኛ ነበር። ለማንኛውም የእኔ የመጨረሻ ኮድ ይኸውልዎት
#አካትት #አካትት
const ባይት ረድፎች = 4; የቁልፍ ሰሌዳው ሞልቶ ስለሆነ // አራት ረድፎች
const ባይት አምዶች = 4; // አራት ዓምዶች ፣ ከላይ ካለው ጋር ተመሳሳይ
የቻር አዝራሮች [ረድፎች] [አምዶች] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '} ፣ {'*'፣' 0 '፣'#'፣' D '}};
ባይት ረድፍ ፒ [ረድፎች] = {13, 12, 11, 10}; የቁልፍ ሰሌዳው // የረድፍ ፒኖች
ባይት አምዶች P [አምዶች] = {9, 8, 7, 6}; የቁልፍ ሰሌዳው // የአምድ ፒኖች
የቁልፍ ሰሌዳ ፓድ = የቁልፍ ሰሌዳ (makeKeymap (አዝራሮች) ፣ ረድፍ ፒ ፣ አምዶች ፒ ፣ ረድፎች ፣ ዓምዶች); // የቁልፍ ሰሌዳ ይፍጠሩ
Servo myServo; //
ባዶነት ማዋቀር () {
Serial.begin (9600); myServo.attach (5); // አገልጋዩን በፒን 9 ላይ ወደ servo ነገር ያያይዛል}
ባዶነት loop () {
ቻር ቁልፍ = pad.getKey (); // (ቁልፍ == '0') {myServo.write (11) ከሆነ ቻርቱን ከቁልፍ ሰሌዳው ያግኙ። Serial.println ("0"); መዘግየት (15); } ከሆነ (ቁልፍ == '1') {myServo.write (12) ፤ Serial.println ("1"); መዘግየት (15); } ከሆነ (ቁልፍ == '2') {myServo.write (24) ፤ Serial.println ("2"); መዘግየት (15); } ከሆነ (ቁልፍ == '3') {myServo.write (36); Serial.println ("3"); መዘግየት (15); }
ከሆነ (ቁልፍ == '4')
{myServo.write (48) ፤ Serial.println ("4"); መዘግየት (15); }
ከሆነ (ቁልፍ == '5')
{myServo.write (60) ፤ Serial.println ("5"); መዘግየት (15); }
ከሆነ (ቁልፍ == '6')
{myServo.write (72) ፤ Serial.println ("6"); መዘግየት (15); }
ከሆነ (ቁልፍ == '7')
{myServo.write (84); Serial.println ("7"); መዘግየት (15); }
ከሆነ (ቁልፍ == '8 ')
{myServo.write (96) ፤ Serial.println ("8"); መዘግየት (15); }
ከሆነ (ቁልፍ == '9 ')
{myServo.write (108) ፤ Serial.println ("9"); መዘግየት (15); }
ከሆነ (ቁልፍ == '*')
{myServo.write (120) ፤ Serial.println ("*"); መዘግየት (15); }
ከሆነ (ቁልፍ == '#')
{myServo.write (132); Serial.println ("#"); መዘግየት (15); }
ከሆነ (ቁልፍ == 'ሀ')
{myServo.write (146) ፤ Serial.println ("A"); መዘግየት (15); }
ከሆነ (ቁልፍ == 'ለ')
{myServo.write (158) ፤ Serial.println ("ለ"); መዘግየት (15); }
ከሆነ (ቁልፍ == 'ሐ')
{myServo.write (170) ፤ Serial.println ("C"); መዘግየት (15); }
ከሆነ (ቁልፍ == 'D')
{myServo.write (180) ፤ Serial.println ("D"); መዘግየት (15); }}
የሚመከር:
በቁልፍ ሰሌዳ ቁጥጥር የሚደረግበት ሞዴል የባቡር መስመር አቀማመጥ V2.5 - PS/2 በይነገጽ: 12 ደረጃዎች
በቁልፍ ሰሌዳ ቁጥጥር የሚደረግበት የሞዴል ባቡር አቀማመጥ V2.5 | PS/2 በይነገጽ - የአርዱዲኖ ማይክሮ መቆጣጠሪያዎችን በመጠቀም ፣ የሞዴል ባቡር አቀማመጦችን ለመቆጣጠር ብዙ መንገዶች አሉ። የቁልፍ ሰሌዳ ብዙ ተግባሮችን ለማከል ብዙ ቁልፎችን ማግኘቱ ትልቅ ጥቅም አለው። በሎኮሞቲቭ እና በቀላል አቀማመጥ እንዴት እንደምንጀምር እንይ
DoReMiQuencer - በፕሮግራም ሊሠራ የሚችል MIDI Sequencer በቁልፍ ሰሌዳ 7 ደረጃዎች
DoReMiQuencer - በፕሮግራም ሊሠራ የሚችል MIDI Sequencer በቁልፍ ሰሌዳ - ይህ መሣሪያ የተፈጠረው በ VCVRack ፣ በ VCV በተፈጠረ ምናባዊ ሞዱል ማቀነባበሪያ በ VCVR ለመጠቀም ነው ፣ ግን እንደ አጠቃላይ ዓላማ MIDI ተቆጣጣሪ ሆኖ ሊያገለግል ይችላል። የሚዲአይ ማስታወሻዎች ለካርታው ተቀርፀዋል
በቁልፍ ሰሌዳ ቁጥጥር የሚደረግበት የሞዴል ባቡር V2.0 - PS/2 በይነገጽ 13 ደረጃዎች (ከስዕሎች ጋር)
በቁልፍ ሰሌዳ ቁጥጥር የሚደረግበት የሞዴል ባቡር V2.0 | PS/2 በይነገጽ - ከቀደመው የእኔ አስተማሪ በአንዱ ፣ የቁልፍ ሰሌዳ በመጠቀም የሞዴል ባቡር አቀማመጥን እንዴት እንደሚቆጣጠሩ አሳየሁዎት። በጣም ጥሩ ነበር ፣ ግን ኮምፒተር እንዲሠራ የሚጠይቅ ጉድለት ነበረው። በዚህ መመሪያ ውስጥ የቁልፍ አሞሌን በመጠቀም የሞዴል ባቡርን እንዴት እንደሚቆጣጠር እንመልከት
DS1302 RTC ሞዱል በቁልፍ ሰሌዳ + አርዱinoኖ + ኤልሲዲ: 3 ደረጃዎች
DS1302 RTC ሞዱል በቁልፍ ሰሌዳ + አርዱinoኖ + ኤልሲዲ ያዋቅሩ - ጤና ይስጥልኝ ፣ እኔ ይህንን ትንሽ ፕሮጀክት ብቻ ሠርቻለሁ ፣ እንደወደዱት ተስፋ አደርጋለሁ ፣ ምክንያቱም ርዕሱ DS1302 ን ለማዘጋጀት የቁልፍ ሰሌዳ እንዴት እንደሚጠቀሙ ስለሚናገር ፣ እርስዎ ከሚችሏቸው መሰረታዊ ፕሮጄክቶች አንዱ ነው። ሌሎች ሞጁሎችን ወይም ተግባሮችን ማከል ከፈለጉ በራስዎ ፕሮጀክት ላይ ያክሉት … v ነው
ባስ ፣ ትሪብል እና ጥራዝ የዩኤስቢ መቆጣጠሪያ በቁልፍ ሰሌዳ LEDs 6 ደረጃዎች (ከስዕሎች ጋር)
ባስ ፣ ትሪብል እና ጥራዝ ዩኤስቢ መቆጣጠሪያ በቁልፍ ሰሌዳ ኤልዲዎች - እኔ በዋናው ዴስክቶፕ ኮምፒተሬ ውስጥ የፈጠራ SoundBlaster Audigy አለኝ እና የኦዲዮ ወይም የቪዲዮ ሚዲያ ሲያዳምጡ የባስ እና ትሬብል ቅንብሮችን (እንዲሁም ድምጹን) በፍጥነት ለማስተካከል መንገድ ያስፈልገኝ ነበር። . እኔ በ ውስጥ ከተሰጡት ሁለት ምንጮች ኮዱን አስተካክያለሁ