Мазмұны:

Пернетақтаның көмегімен сервистік позитондау: 3 қадам
Пернетақтаның көмегімен сервистік позитондау: 3 қадам

Бейне: Пернетақтаның көмегімен сервистік позитондау: 3 қадам

Бейне: Пернетақтаның көмегімен сервистік позитондау: 3 қадам
Бейне: Компьютер құпиялары әрбір қазақ білу керек | Ыстық клавишалар 2024, Шілде
Anonim
Пернетақтаның көмегімен сервистік позитондау
Пернетақтаның көмегімен сервистік позитондау

Бұл нұсқаулықта біз Arduino Uno пернетақтасы бар микросервіні басқаратын жоба жасаймыз.

Қолданылатын материалдар:

Ардуино Уно

Нан тақтасы

4x4 пернетақта

Микросерво

1 -қадам: пернетақтаны сыммен қосыңыз

Пернетақтаны қосыңыз
Пернетақтаны қосыңыз
Пернетақтаны қосыңыз
Пернетақтаны қосыңыз

Сізге бірінші кезекте Arduino нан тақтасындағы электр рельсі мен жерге тұйықтау рельсін қосу керек

  1. 5В істікшені қуат жолына қосыңыз (қызыл)
  2. Жерге тұйықтауышты (GND) жерге тұйықтау рельсіне қосыңыз (көк)

Енді тақтаның қуаты бар және жерге қосылғандықтан, біз компоненттерді қосуды бастай аламыз.

Пернетақтаны қосу оңай, бірақ сіз пернетақта мен arduino түйреуіштеріне назар аударуыңыз керек. Бұл біздің кодқа назар аударғанда пайдалы болады.

Сымдарды қолданған кезде сол жақтан бастауды ұмытпаңыз!

  • Бірінші түйін 13 -ке жетеді
  • Екінші түйін 12 -ге жетеді
  • Үшінші түйін 11 -ге жетеді
  • Төртінші түйреуіш 10 -ға жетеді
  • Бесінші түйреуіш 9 -ға дейін
  • Алтыншы түйреуіш 8
  • Жетінші түйреуіш 7 -ге дейін
  • Сегізінші түйреуіш 6

Пернетақтаны қосқанда, сандық pwm түйреуішін ашық ұстауды ұмытпаңыз. Бізге микросерво үшін қажет болады

Біз кодты алмас бұрын, пернетақта кітапханасын орнатқаныңызға көз жеткізіңіз. Оны нобайдан табуға болады, содан кейін эскиздер қойындысына кітапхана кіреді. Сіз онсыз пернетақтаны пайдалана алмайсыз.

Енді кодқа жүгініп, пернетақта жұмыс істейтініне және қатысылған мәндерді беретініне көз жеткізейік

Жылдам ескертулер: пернетақтаны тексеру үшін if операторы бар екеніне көз жеткізіңіз, әйтпесе ол жұмыс істемейді. Сондай -ақ, кідірістерге абай болыңыз, олар пернетақтадан тіркелген түймелерді бұзады

#қосу

const байт жолдары = 4; // пернетақта толғандықтан төрт қатар

const байт бағандары = 4; // төрт баған, жоғарыдағыдай

char түймелері [жолдар] [бағандар] = {

{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};

байт жолыP [жолдар] = {13, 12, 11, 10}; // пернетақтаның жол түйреуіштері

байт бағандарыP [бағандар] = {9, 8, 7, 6}; // пернетақтаның бағаналық түйреуіштері

Пернетақта тақтасы = Пернетақта (makeKeymap (түймелер), rowP, бағандарP, жолдар, бағандар); // пернетақтаны құру

жарамсыз орнату () {

Serial.begin (9600); }

void loop () {

char buttonPressed = pad.getKey (); // таңбаны пернетақтадан алыңыз, егер (buttonPressed) // пернетақтада қандай түйменің басылғанын көрсетіңіз {Serial.println (buttonPressed); }}

2 -қадам: Micro Servo қосыңыз

Micro Servo қосыңыз
Micro Servo қосыңыз
Micro Servo қосыңыз
Micro Servo қосыңыз

Енді сервоприводты қосамыз. Мұны біздің қазіргі жобаға қосу өте оңай, себебі микро серверде тек үш сым бар.

  • Қоңыр сым нан тақтасындағы жерге тұйықтау рельсіне түседі
  • Қызыл қуат рельсіне түседі
  • Апельсин Arduino -дағы 3 -ші пинге барады. Есіңізде болсын, микро серверде Arduino -да PWM түйреуіші болуы керек. Бұл TIMER2 пайдаланатын сервоға байланысты

Енді микросерваны дұрыс қосқанымызға және оның қозғалатынына көз жеткізейік

#қосу #қосу «Servo.h»

const байт жолдары = 4; // пернетақта толғандықтан төрт қатар

const байт бағандары = 4; // төрт баған, жоғарыдағыдай

char түймелері [жолдар] [бағандар] = {

{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};

байт жолыP [жолдар] = {13, 12, 11, 10}; // пернетақтаның жол түйреуіштері

байт бағандарыP [бағандар] = {9, 8, 7, 6}; // пернетақтаның бағаналық түйреуіштері

Пернетақта тақтасы = Пернетақта (makeKeymap (түймелер), rowP, бағандарP, жолдар, бағандар); // пернетақтаны құру

Servo ағымдағыServo; // серводы басқару үшін серво объектісін жасау

// көптеген тақталарда он екі серво объектісін жасауға болады

int pos = 0; // servo орнын сақтауға арналған айнымалы

жарамсыз орнату () {

Serial.begin (9600); currentServo.attach (3); // сервоприводқа түйреуішті 9 түйреуішке бекітеді

}

void loop () {

char buttonPressed = pad.getKey (); // таңбаны пернетақтадан алыңыз, егер (buttonPressed) // пернетақтада қандай түйменің басылғанын көрсетіңіз {Serial.println (buttonPressed); }

currentServo.write (95);

}

3 -қадам: Сервистегі пернетақтаны пайдалану үшін кодты өзгертіңіз

Біз кодты өзгертетінімізді біліңіз, біз пернетақтадағы белгілі бір түймені басқанда, серво белгілі бір орынға жылжиды. Бірінші кезекте маңызды нәрсе. 0 үшін серво позициясы біртүрлі болды. Менде үздіксіз айналмалы серво болғандықтан, ол 0 -ге жақындағанда, серво енді айнала бастады. Мен енгізген код, мен болмағандай аз болды. Қалай болғанда да, менің соңғы кодым:

#қосу #қосу

const байт жолдары = 4; // пернетақта толғандықтан төрт қатар

const байт бағандары = 4; // төрт баған, жоғарыдағыдай

char түймелері [жолдар] [бағандар] = {

{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};

байт жолыP [жолдар] = {13, 12, 11, 10}; // пернетақтаның жол түйреуіштері

байт бағандарыP [бағандар] = {9, 8, 7, 6}; // пернетақтаның бағаналық түйреуіштері

Пернетақта тақтасы = Пернетақта (makeKeymap (түймелер), rowP, бағандарP, жолдар, бағандар); // пернетақтаны құру

Сервис myServo; //

жарамсыз орнату () {

Serial.begin (9600); myServo.attach (5); // сервоприводқа түйреуішті түйреуіш 9 -да бекітеді}

void loop () {

char пернесі = pad.getKey (); // таңбаны пернетақтадан алыңыз, егер (key == '0') {myServo.write (11); Serial.println («0»); кешіктіру (15); } if (key == '1') {myServo.write (12); Serial.println («1»); кешіктіру (15); } if (key == '2') {myServo.write (24); Serial.println («2»); кешіктіру (15); } if (key == '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); }

егер (кілт == 'B')

{myServo.write (158); Serial.println («B»); кешіктіру (15); }

егер (кілт == 'С')

{myServo.write (170); Serial.println («C»); кешіктіру (15); }

егер (кілт == 'D')

{myServo.write (180); Serial.println («D»); кешіктіру (15); }}

Ұсынылған: