Съдържание:

Серво заключване на клавиатурата: 5 стъпки
Серво заключване на клавиатурата: 5 стъпки

Видео: Серво заключване на клавиатурата: 5 стъпки

Видео: Серво заключване на клавиатурата: 5 стъпки
Видео: Хитри комбинации! С три бутона можеш да стигнеш навсякъде 2024, Ноември
Anonim
Серво заключване на клавиатурата
Серво заключване на клавиатурата
Серво заключване на клавиатурата
Серво заключване на клавиатурата
Серво заключване на клавиатурата
Серво заключване на клавиатурата

Здравейте на всички, надявам се, че сте имали хубав ден. Ако не се надяваме, можете просто да се върнете назад с малко отворено мислене към този урок и малко терапевтична музика. Програмирането може да бъде неприятно. За щастие, този урок не е караница, така че може би ще успеете да постигнете популярно нещо, наречено (с мощен глас): КРАЙНАТА ЗАКЛЮЧВАНЕ НА КЛАВИАТУРА СЕРВО !!! Това наистина е само моето въведение, надявам се да ви е харесало. Както и да е, нека загреем пръстите си за писане. (Готина песен: can-can песен (класическа музика)).

Консумативи:

-Пръстите ти

-И твоите ръце, това е важно

-USB кабел за Arduino

-Всеки наличен тип arduino (имам Arduino Mega)

-Матрична клавиатура (клавиатура - ebay, клавиатура - amazon)

-Микро или стандартно серво (използвам микро серво)

-* По избор* Платка - всякакъв тип

-* Допълнително* Захранване (5V)

Стъпка 1: Схематично време

Схематично време!
Схематично време!
Схематично време!
Схематично време!

И така, какво да направя първо? Свържете Arduino към компютъра. След това свържете клавиатурата. *Забележка - трябва да свържете щифтовете от последния щифт на клавиатурата като първия цифров щифт на arduino. И след това отидете отдясно наляво*. Клавиатурата има щифтове 2-9 на arduino. Сервото има пин 10 като цифрови сигнали. Обвържете основите на arduino, клавиатурата и сервото и 5V също. * Също така имайте предвид - че сервото е най -добре да се използва с външен източник на захранване или адаптер с 5V (стенен приставка), но все още е по избор.* Не е нужно да свързвате основите и 5V физически, това което имам предвид просто да прикачите проводник от Arduino към серво. Тази схема не помага на начинаещите, така че позволете ми да обясня накратко подробно. По принцип последният щифт е 2, а първият е 9, два е 8, три е 7 и т.н. Отидете отляво надясно 2 2.

Стъпка 2: Време за кодиране

Време за кодиране!
Време за кодиране!
Време за кодиране!
Време за кодиране!

Добре, сега пристъпваме към кодиращата част! Тук се случва истинската магия! И така, има програма за тестване, която първо тества клавиатурата и серво. Тук:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @версия 1.0 || @author Александър Бревиг || @контакт [email protected] || || @описание || | Демонстрира промяна на размера на клавиатурата и ключовите стойности. || # */ #включва

const байт ROWS = 4; // четири реда

const байт COLS = 4; // четири колони // определят символите на бутоните на клавиатурите char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; байт rowPins [ROWS] = {9, 8, 7, 6}; // свързване към изводите на реда на байта на клавиатурата colPins [COLS] = {5, 4, 3, 2}; // свързване към изводите на колони на клавиатурата

// инициализираме екземпляр от клас NewKeypad

Клавиатура customKeypad = Клавиатура (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);

void setup () {

Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}

//www.elegoo.com//2016.12.08 #включва

Servo myservo; // създаване на серво обект за управление на серво

// дванадесет серво обекта могат да бъдат създадени на повечето дъски

int pos = 0; // променлива за съхраняване на позицията на серво

void setup () {

myservo.attach (9); // прикрепя серво на щифт 9 към серво обекта}

void loop () {

for (pos = 0; pos = 0; pos -= 1) {// отива от 180 градуса до 0 градуса myservo.write (pos); // кажете на серво да отиде на позиция в променлива 'pos' delay (15); // изчаква 15ms, докато сервоприемникът достигне позицията}}

Ето кода на проекта (ще бъда честен с вас, не направих много, просто добавих серво частта, кажете благодарение на хората, които са направили целия код!):

#include Password.h

#включете клавиатурата

/*

|| Просто въвеждане на парола с помощта на матрична клавиатура || 4/5/2012 Актуализации Nathan Sobieck: [email protected] || *

/* е за потвърждаване на паролата

//# е за нулиране на опит за парола

/////////////////////////////////////////////////////////////////

#включва

//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip

Парола за парола = Парола ("1234");

Servo myservo; // създаване на серво обект за управление на серво

#define servoPin 10

const байт ROWS = 4; // Четири реда

const байт COLS = 4; // колони // Дефинирайте клавишните символи на Keymap [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

байт rowPins [ROWS] = {9, 8, 7, 6}; // Свържете клавиатурата ROW0, ROW1, ROW2 и ROW3 към тези щифтове Arduino.

байт colPins [COLS] = {5, 4, 3, 2,}; // Свържете клавиатурата COL0, COL1 и COL2 към тези щифтове Arduino.

// Създайте клавиатурата

Клавиатура на клавиатурата = Клавиатура (makeKeymap (клавиши), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // прикрепя серво на щифт 9 към серво обекта

Serial.begin (9600);

keypad.addEventListener (keypadEvent); // добавя слушател на събития за тази клавиатура

myservo.write (0);

}

void loop () {

keypad.getKey ();

}

// се грижи за някои специални събития

void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); прекъсване; по подразбиране: password.append (eKey); }}}

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Успех"); // Добавяне на код за изпълнение, ако работи

myservo.write (180);

забавяне (3000);

myservo.write (0);

password.reset ();

} иначе ако (password.evaluate () == false) {

Serial.println ("Грешно");

myservo.write (0);

// добавяне на код за изпълнение, ако не работи

}

}

Стъпка 3: Какво означава всичко това?

Какво означава всичко това?
Какво означава всичко това?

Кодът горе (първият) ще даде сигнал на Servo да "почисти" или просто да премине от 0 до 180 градуса. Или просто завършване на половин кръг на въртене отляво надясно или дясно наляво. Ако искате повече подробности за кода, мога да ви кажа. Просто попитайте. Никаква вреда, само един прост малък въпрос. Хайде, можете да го направите! Както и да е, кодът в средата тества всеки бутон на клавиатурата. И последният от кода просто се "отключва" със серво, когато въведете ключа за достъп "1234" в, познахте, клавиатурата.

Стъпка 4: Отстраняване на неизправности

Отстраняване на неизправности
Отстраняване на неизправности

В: Клавиатурата ми не работи.

О: Не забравяйте, че първият щифт е 9, така че слезте оттам. Също така не забравяйте да свържете arduino към USB порта на компютъра и да програмирате Arduino.

В: Сервото не работи.

О: Не забравяйте, че серво щифтът е щифт 10 и че имате нужда от общо заземяване, ако се свързвате направо от Arduino, не забравяйте, че оранжевият щифт (на микро серво) е щифт 10, червеният щифт е 5V, а кафяв щифт е щифтът GND.

В: Arduino не работи:

A: Свързахте ли го дори? Това звучи като личен проблем

Стъпка 5: Ако имате въпроси, не се колебайте да попитате в секцията за коментари и не забравяйте да се абонирате

Чао, благодаря, че разгледахте моя урок. Беше забавно.

Препоръчано: