Съдържание:
- Стъпка 1: Свържете клавиатурата
- Стъпка 2: Добавете Micro Servo
- Стъпка 3: Променете кода, за да използвате клавиатурата на Servo
Видео: Серво позициониране с клавиатура: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
В тази инструкция ще създаваме проект, който ще контролира Micro-Servo с клавиатура, работеща с Arduino Uno.
Използвани материали:
Arduino Uno
Платка
4x4 клавиатура
Микро-серво
Стъпка 1: Свържете клавиатурата
Първата мисъл, която трябва да направите, е да свържете захранващата шина и заземителната шина на вашата дъска от вашия Arduino
- Свържете 5V щифта към захранващата шина (червен)
- Свържете заземяващ щифт (GND) към заземителната шина (синя)
Сега, когато макетът има захранване и е заземен, можем да започнем да свързваме нашите компоненти.
Окабеляването на клавиатурата е лесно, но трябва да обърнете внимание на щифтовете на клавиатурата и arduino. Той ще бъде полезен, когато насочим вниманието си към нашия код.
Не забравяйте да започнете отляво, когато използвате кабелите си!
- Първият пин отива на 13
- Вторият пин отива на 12
- Третият пин отива на 11
- Четвърти пин отива на 10
- Пети щифт към 9
- Шести пин до 8
- Седмия щифт до 7
- Осми щифт до 6
Когато свързвате клавиатурата, не забравяйте да държите отворен дигитален pwm щифт. Ще ни е необходим за микро-серво
Преди да стигнем до кода, уверете се, че сте инсталирали библиотеката на клавиатурата. Тя може да бъде намерена във вашата скица, след това в раздел скица, включете библиотека. Няма да можете да използвате клавиатурата без нея.
Сега нека се обърнем към кода и се уверете, че клавиатурата работи и дава присъстващите стойности
Бързи бележки: Уверете се, че имате оператора if, за да проверите клавиатурата, в противен случай няма да работи. Внимавайте и със забавянията, те ще се забъркат с бутоните, регистрирани от клавиатурата
#включва
const байт редове = 4; // четири реда, тъй като клавиатурата е пълна
const байт колони = 4; // четири колони, същите като по -горе
бутони за символи [редове] [колони] = {
{'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 (бутони), редP, колониP, редове, колони); // създаване на клавиатура
void setup () {
Serial.begin (9600); }
void loop () {
char buttonPressed = pad.getKey (); // получаваме символа от клавиатурата if (buttonPressed) // показва кой бутон е натиснат на клавиатурата {Serial.println (buttonPressed); }}
Стъпка 2: Добавете Micro Servo
Сега нека добавим серво мотора. Този е наистина лесен за добавяне към нашия настоящ проект, тъй като микро сървърът има само три проводника.
- Кафявият проводник отива към заземителната шина на дъската
- Червеното отива към Power rail
- Orange отива до Pin 3 на Arduino. Не забравяйте, че микро сървърът трябва да има PWM щифт на Arduino. Това се дължи на серво, използващо TIMER2
Сега нека просто се уверим, че сме свързали микро сервото правилно и че се движи
#include #include "Servo.h"
const байт редове = 4; // четири реда, тъй като клавиатурата е пълна
const байт колони = 4; // четири колони, същите като по -горе
бутони за символи [редове] [колони] = {
{'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 (бутони), редP, колониP, редове, колони); // създаване на клавиатура
Серво ток // създаване на серво обект за управление на серво
// дванадесет серво обекта могат да бъдат създадени на повечето дъски
int pos = 0; // променлива за съхраняване на позицията на серво
void setup () {
Serial.begin (9600); currentServo.attach (3); // прикрепя серво на щифт 9 към серво обекта
}
void loop () {
char buttonPressed = pad.getKey (); // получаваме символа от клавиатурата if (buttonPressed) // показва кой бутон е натиснат на клавиатурата {Serial.println (buttonPressed); }
currentServo.write (95);
}
Стъпка 3: Променете кода, за да използвате клавиатурата на Servo
Знайте, че ще променим кода си, така че когато натискаме определен бутон на клавиатурата, сервото се премества в определена позиция. Първо нещо важно. Серво позицията за 0 беше странна. Тъй като имах серво с непрекъснато въртене, когато се доближи до 0, сервото просто започна да се върти. Номерът, който сложих в кода, беше възможно най -нисък, без това да се случи. Както и да е, ето последния ми код:
#включи #включи
const байт редове = 4; // четири реда, тъй като клавиатурата е пълна
const байт колони = 4; // четири колони, същите като по -горе
бутони за символи [редове] [колони] = {
{'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 (бутони), редP, колониP, редове, колони); // създаване на клавиатура
Серво myServo; //
void setup () {
Serial.begin (9600); myServo.attach (5); // прикрепя серво на щифт 9 към серво обекта}
void loop () {
char ключ = pad.getKey (); // получаваме символа от клавиатурата if (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); }
ако (ключ == 'A')
{myServo.write (146); Serial.println ("A"); забавяне (15); }
ако (ключ == 'B')
{myServo.write (158); Serial.println ("B"); забавяне (15); }
ако (ключ == 'C')
{myServo.write (170); Serial.println ("C"); забавяне (15); }
ако (ключ == 'D')
{myServo.write (180); Serial.println ("D"); забавяне (15); }}
Препоръчано:
Ултразвукова система за позициониране: 4 стъпки (със снимки)
Система за позициониране на базата на ултразвук: Всички версии на ултразвукови радари, които открих за arduino устройства (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) са много хубави радари, но всички те са „слепи“. Искам да кажа, радарът открива нещо, но това, което аз
Използване на Arduino Uno за XYZ позициониране на 6 DOF роботизирана ръка: 4 стъпки
Използване на Arduino Uno за XYZ позициониране на 6 DOF роботизирана ръка: Този проект е за внедряване на кратка и сравнително лесна скица на Arduino за осигуряване на обратно кинематично позициониране на XYZ. Бях построил 6 серво роботизирана ръка, но когато се стигна до намиране на софтуер, който да я изпълнява, нямаше много неща освен cust
Микро серво клавиатура Arduino: 3 стъпки
Arduino Micro Servo Keypad: За този проект създадох микро серво, което се върти към трицифрена стойност, въведена от клавиатурата. Библиотеките, които трябва да стартират инсталацията, са " Servo.h " и " Клавиатура.h ". И двете могат да бъдат инсталирани в програмата arduino.exe. Материалът
Бърза и мръсна клавиатура Das (празна клавиатура): 3 стъпки
Бърза и мръсна клавиатура Das (празна клавиатура): Клавиатурата Das е името на най -популярната клавиатура без надписи върху клавишите (празна клавиатура). Клавиатурата Das се продава на дребно за 89,95 долара. Тази инструкция ще ви насочи, макар че сами да направите такава с всяка стара клавиатура, която имате около
Почистване на алуминиева клавиатура Apple или всяка друга клавиатура с мек допир: 5 стъпки
Почистване на алуминиева клавиатура на Apple …. или всяка друга клавиатура с мек допир: Колкото и вие или аз да се опитаме да запазим нашите алуминиеви ябълкови клавиатури, те стават мръсни след около година. Тази инструкция е да ви помогне да я почистите. Бъдете внимателни, защото не нося отговорност, ако клавиатурата ви се счупи, докато правите това