ዝርዝር ሁኔታ:

Servo Positoning በቁልፍ ሰሌዳ: 3 ደረጃዎች
Servo Positoning በቁልፍ ሰሌዳ: 3 ደረጃዎች

ቪዲዮ: Servo Positoning በቁልፍ ሰሌዳ: 3 ደረጃዎች

ቪዲዮ: Servo Positoning በቁልፍ ሰሌዳ: 3 ደረጃዎች
ቪዲዮ: በተፈጥሮ እርግዝና መከላከያ መንገዶች የፔሬድ አቆጣጠርን በመጠቀም| Naturalways of controlling pregnancy|period calculating 2024, ህዳር
Anonim
Servo Positoning በቁልፍ ሰሌዳ
Servo Positoning በቁልፍ ሰሌዳ

በዚህ መመሪያ ውስጥ በአርዱዲኖ ኡኖ በሚሠራ ቁልፍ ሰሌዳ ማይክሮ-ሰርቫን የሚቆጣጠር ፕሮጀክት እንፈጥራለን።

ያገለገሉ ቁሳቁሶች;

አርዱዲኖ ኡኖ

የዳቦ ሰሌዳ

4x4 የቁልፍ ሰሌዳ

ማይክሮ-ሰርቮ

ደረጃ 1 - የቁልፍ ሰሌዳውን ያሽጉ

የቁልፍ ሰሌዳውን ሽቦ
የቁልፍ ሰሌዳውን ሽቦ
የቁልፍ ሰሌዳውን ሽቦ
የቁልፍ ሰሌዳውን ሽቦ

መጀመሪያ ማድረግ ያለብዎት በሃርድ ቦርዱ ላይ የኃይል ባቡሩን እና የመሬቱን ባቡር ከእርስዎ አርዱዲኖ ማገናኘት ነው

  1. 5V ፒን ከኃይል ባቡር (ቀይ) ጋር ያገናኙ
  2. የከርሰ ምድር ፒን (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); }}

የሚመከር: