Orodha ya maudhui:
- Hatua ya 1: Funga keypad
- Hatua ya 2: Ongeza Micro Servo
- Hatua ya 3: Badilisha Nambari ili utumie keypad kwenye Servo
Video: Servo Positoning na Keypad: 3 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Katika hii tunaweza kufundisha tutafanya mradi ambao utadhibiti Micro-Servo na kitufe kinachoendesha na Arduino Uno.
Vifaa vilivyotumika:
Arduino Uno
Bodi ya mkate
Kitufe cha 4x4
Micro-Servo
Hatua ya 1: Funga keypad
Ya kwanza kabisa kufikiria unahitaji kufanya ni kuweka waya wa umeme na reli ya kutuliza kwenye ubao wako wa mkate kutoka Arduino yako
- Unganisha pini ya 5V kwenye reli ya umeme (nyekundu)
- Unganisha pini ya chini (GND) kwa reli ya kutuliza (bluu)
Sasa kwa kuwa ubao wa mkate una nguvu na umewekwa chini, tunaweza kuanza kuunganisha vifaa vyetu.
Wiring Keypad ni rahisi lakini unahitaji kuzingatia pini kwenye keypad na arduino. Itakuja kwa urahisi tutakapoleta umakini wetu kwa nambari yetu.
Kumbuka kuanza kushoto wakati unatumia waya zako!
- Pini ya kwanza huenda kwa 13
- Pini ya pili huenda kwa 12
- Pini ya tatu huenda kwa 11
- Pini ya nne huenda kwa 10
- Pini ya tano hadi 9
- Pini ya sita hadi 8
- Pini ya saba hadi 7
- Pini ya nane hadi 6
Wakati wa kuunganisha keypad, kumbuka kuweka pini ya dijiti ya pwm wazi. Tutahitaji kwa micro-servo
Kabla ya kufikia nambari, hakikisha kuwa umesakinisha Maktaba ya vitufe. Inaweza kupatikana kwenye mchoro wako, kisha kichupo cha sketch, pamoja na maktaba. Hutaweza kutumia keypad bila hiyo.
Sasa hebu tugeukie msimbo na uhakikishe kitufe kinafanya kazi na inatoa maadili yaliyohudhuria
Vidokezo vya Haraka: Hakikisha unayo taarifa ya kuangalia kibodi, vinginevyo haifanyi kazi. Pia kuwa mwangalifu wa ucheleweshaji, watasumbua na vifungo vimesajiliwa kutoka kwa kitufe
# pamoja
safu za const byte = 4; // safu nne tangu kitufe kimejaa
nguzo za const byte = 4; // nguzo nne, sawa na hapo juu
vifungo vya char [safu] [safu] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
safu ya baitiP [safu] = {13, 12, 11, 10}; pini // safu ya kitufe
nguzo za byteP [nguzo] = {9, 8, 7, 6}; Pini za safu ya // ya keypad
Kitufe cha keypad = Keypad (makeKeymap (vifungo), rowP, nguzoP, safu, nguzo); // tengeneza keypad
usanidi batili () {
Serial. Kuanza (9600); }
kitanzi batili () {
kitufe cha char Bonyeza = pedi.getKey (); // pata char kutoka kwa kitufe ikiwa (kifungo kimeshinikizwa) // onyesha kitufe gani kilichobanwa kwenye kitufe cha {Serial.println (buttonPressed); }}
Hatua ya 2: Ongeza Micro Servo
Sasa hebu ongeza gari la servo. Hii ni rahisi sana kuongeza kwenye mradi wetu wa sasa kwani seva ndogo ina waya tatu tu.
- Waya ya hudhurungi huenda kwa reli ya kutuliza kwenye ubao wa mkate
- Nyekundu huenda kwa reli ya Nguvu
- Chungwa huenda kwa Pini 3 kwenye Arduino. Kumbuka seva ndogo inapaswa kuwa na pini ya PWM kwenye Arduino. Hii ni kwa sababu ya servo inayotumia TIMER2
Sasa wacha tu uhakikishe kuwa tumeunganisha servo ndogo na kwamba inasonga
# pamoja na # pamoja na "Servo.h"
safu za const byte = 4; // safu nne tangu kitufe kimejaa
nguzo za const byte = 4; // nguzo nne, sawa na hapo juu
vifungo vya char [safu] [safu] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
safu ya baitiP [safu] = {13, 12, 11, 10}; pini // safu ya kitufe
nguzo za baiti P [nguzo] = {9, 8, 7, 6}; Pini za safu ya // ya keypad
Kitufe cha keypad = Keypad (makeKeymap (vifungo), rowP, nguzoP, safu, nguzo); // tengeneza keypad
Servo ya sasaServo; // tengeneza kitu cha servo kudhibiti servo
// vitu kumi na mbili vya servo vinaweza kuundwa kwenye bodi nyingi
int pos = 0; // kutofautisha kuhifadhi nafasi ya servo
usanidi batili () {
Serial. Kuanza (9600); ambatisha sasaServo (3); // inaunganisha servo kwenye pini 9 kwa kitu cha servo
}
kitanzi batili () {
kitufe cha char Bonyeza = pedi.getKey (); // pata char kutoka kwa kitufe ikiwa (kifungo kimeshinikizwa) // onyesha kitufe gani kilichobanwa kwenye kitufe cha {Serial.println (buttonPressed); }
andika sasaServo (95);
}
Hatua ya 3: Badilisha Nambari ili utumie keypad kwenye Servo
Jua tutabadilisha nambari yetu ili wakati tunabonyeza kitufe fulani kwenye kitufe, servo inahamia kwenye nafasi fulani. Jambo la umuhimu kwanza. Nafasi ya servo kwa 0 ilikuwa ya kushangaza. Kwa kuwa nilikuwa na servo inayoendelea ya kuzunguka, kila ilipofika karibu na 0, servo ilianza tu kuzunguka. Nambari niliyoweka kwenye nambari ilikuwa chini sana kama ningeweza kwenda bila hiyo kutokea. Kwa vyovyote vile, hushughulikia nambari yangu ya mwisho:
#jumuisha #jumuisha
safu za const byte = 4; // safu nne tangu kitufe kimejaa
nguzo za const byte = 4; // nguzo nne, sawa na hapo juu
vifungo vya char [safu] [safu] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {' * ',' 0 ',' # ',' D '}};
safu ya baitiP [safu] = {13, 12, 11, 10}; pini // safu ya kitufe
nguzo za byteP [nguzo] = {9, 8, 7, 6}; Pini za safu ya // ya keypad
Kitufe cha keypad = Keypad (makeKeymap (vifungo), rowP, nguzoP, safu, nguzo); // tengeneza keypad
Servo myServo; //
usanidi batili () {
Serial. Kuanza (9600); ambatisha myServo (5); // inaambatisha servo kwenye pini 9 kwa kitu cha servo}
kitanzi batili () {
kitufe cha char = pedi.getKey (); // pata char kutoka kwa keypad if (key == '0') {myServo.write (11); Serial.println ("0"); kuchelewesha (15); } ikiwa (ufunguo == '1') {myServo.write (12); Serial.println ("1"); kuchelewesha (15); } ikiwa (ufunguo == '2') {myServo.write (24); Serial.println ("2"); kuchelewesha (15); } ikiwa (ufunguo == '3') {myServo.write (36); Serial.println ("3"); kuchelewesha (15); }
ikiwa (ufunguo == '4')
{myServo.andika (48); Serial.println ("4"); kuchelewesha (15); }
ikiwa (ufunguo == '5')
{myServo.andika (60); Serial.println ("5"); kuchelewesha (15); }
ikiwa (ufunguo == '6')
{myServo.andika (72); Serial.println ("6"); kuchelewesha (15); }
ikiwa (ufunguo == '7')
{myServo.andika (84); Serial.println ("7"); kuchelewesha (15); }
ikiwa (ufunguo == '8')
{myServo.andika (96); Serial.println ("8"); kuchelewesha (15); }
ikiwa (ufunguo == '9')
{myServo.andika (108); Serial.println ("9"); kuchelewesha (15); }
ikiwa (ufunguo == '*')
{myServo.andika (120); Serial.println ("*"); kuchelewesha (15); }
ikiwa (ufunguo == '#')
{myServo.andika (132); Serial.println ("#"); kuchelewesha (15); }
ikiwa (ufunguo == 'A')
{myServo.andika (146); Serial.println ("A"); kuchelewesha (15); }
ikiwa (ufunguo == 'B')
andika {myServo (158); Serial.println ("B"); kuchelewesha (15); }
ikiwa (ufunguo == 'C')
{myServo.andika (170); Serial.println ("C"); kuchelewesha (15); }
ikiwa (ufunguo == 'D')
{myServo.andika (180); Serial.println ("D"); kuchelewesha (15); }}
Ilipendekeza:
Keypad ya Mitambo ya Arduino: Hatua 5 (na Picha)
Keypad ya Mitambo ya Arduino: Nilihitaji pedi ya pini kwa mradi mwingine, kwa hivyo niliamua kutengeneza keypad na sehemu ambazo nilikuwa nazo nyumbani
Kiunganishi cha keypad Na 8051 na Inaonyesha Nambari za keypad katika Sehemu ya 7: Hatua 4 (na Picha)
Kiunganishi cha keypad Na 8051 na Kuonyesha Nambari za keypad katika Sehemu ya 7: Katika mafunzo haya nitakuambia juu ya jinsi tunaweza kuunganisha keypad na 8051 na kuonyesha nambari za keypad katika onyesho la sehemu 7
Keypad ya Arduino Micro Servo: 3 Hatua
Arduino Micro Servo Keypad: Kwa mradi huu, nilitengeneza servo ndogo ambayo inazunguka kwa pembejeo ya thamani ya tarakimu tatu na keypad. Maktaba zinahitaji kuendesha usanidi ni " Servo.h " na " Keypad.h ". Zote zinaweza kuwekwa kwenye mpango wa arduino.exe. Nyenzo
Kitufe cha Kifungo cha Keypad Servo Positioner: 3 Hatua
Kitufe cha kifungo cha kitufe Programu hiyo itaendelea kuzunguka kila wakati kitufe kinapobanwa
Udhibiti wa keypad ya Servo Motor: Hatua 7
Udhibiti wa keypad ya Servo Motor: Kwanza ni kusanidi servo motor. Waya wa kati huenda kwa bandari ya 5V Kushoto huenda kwa bandari ya GND Unganisha mwisho (waya wa kudhibiti) hadi 9