Turinys:

Klaviatūros servo užraktas: 5 žingsniai
Klaviatūros servo užraktas: 5 žingsniai

Video: Klaviatūros servo užraktas: 5 žingsniai

Video: Klaviatūros servo užraktas: 5 žingsniai
Video: КАК НАСТРОИТЬ L4D2 2024, Lapkritis
Anonim
Klaviatūros servo užraktas
Klaviatūros servo užraktas
Klaviatūros servo užraktas
Klaviatūros servo užraktas
Klaviatūros servo užraktas
Klaviatūros servo užraktas

Sveiki visi, tikiuosi, kad jums buvo gera diena. Jei ne, tikėkitės, kad galėsite šiek tiek atsigręžti į šią pamoką ir terapinę muziką. Programavimas gali būti vargas. Laimei, ši pamoka nėra vargas, todėl galbūt galėsite atlikti populiarų dalyką, vadinamą (galingu balsu): ULTIMATE SERVO KEYPAD FOCK !!! Tai tik mano įžanga, tikiuosi, kad jums patiko. Bet kokiu atveju, sušildykime pirštus spausdinti. (Šauni daina: daina „can-can“(klasikinė muzika)).

Priedai:

-Tavo pirštai

-Tavo rankos taip pat yra svarbios

-USB kabelis „Arduino“

-Galimas bet kokio tipo arduino (turiu „Arduino Mega“)

-Matrix klaviatūra (klaviatūra - ebay, klaviatūra - amazon)

-Mikro arba standartinis servo (aš naudoju mikro servo)

-* Neprivaloma* Duonos lenta - bet kokio tipo

-* Neprivaloma* Maitinimo šaltinis (5V)

1 žingsnis: Scheminis laikas

Schematinis laikas!
Schematinis laikas!
Schematinis laikas!
Schematinis laikas!

Taigi, ką pirmiausia daryti? Prijunkite „Arduino“prie kompiuterio. Toliau prijunkite klaviatūrą. *Pastaba - kaiščius nuo paskutinio klaviatūros kaiščio turite prijungti kaip pirmąjį skaitmeninį kaištį „arduino“. Ir po to eikite iš dešinės į kairę*. Klaviatūra turi 2-9 kaiščius ant arduino. Servo turi 10 kaištį kaip skaitmeninius signalus. Susiekite arduino, klaviatūros ir servo pagrindus ir 5V. * Taip pat atkreipkite dėmesį, kad servo sistemą geriausia naudoti su išoriniu maitinimo šaltiniu arba adapteriu su 5 V (sieninis kištukas), tačiau jis vis tiek neprivalomas.* Nereikia fiziškai susieti pagrindo ir 5 V įtampos. tiesiog prijungti laidą iš „Arduino“prie servo. Ši schema nepadeda pradedantiesiems, todėl leiskite trumpai paaiškinti. Iš esmės paskutinis kaištis yra 2, o pirmasis - 9, du - 8, trys - 7 ir pan. Eikite iš kairės į dešinę 22.

2 žingsnis: kodavimo laikas

Kodavimo laikas!
Kodavimo laikas!
Kodavimo laikas!
Kodavimo laikas!

Gerai, dabar mes pereiname prie kodavimo dalies! Štai čia ir įvyksta tikroji magija! Taigi, yra bandymo programa, skirta pirmiausia išbandyti klaviatūrą ir servo. Čia:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @versija 1.0 || @autorius Aleksandras Brevigas || @contact [email protected] || || @description || | Parodo klaviatūros dydžio ir pagrindinių reikšmių keitimą. || # */ # įtraukimas

const baitas ROWS = 4; // keturios eilutės

const baitas COLS = 4; // keturi stulpeliai // apibrėžti klaviatūros mygtukų simbolius char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; baitų rowPins [ROWS] = {9, 8, 7, 6}; // prisijungti prie klaviatūros eilučių baitų colPins [COLS] = {5, 4, 3, 2}; // prisijungti prie klaviatūros stulpelių kontaktų

// inicijuoti „NewKeypad“klasės egzempliorių

Klaviatūra customKeypad = Klaviatūra (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 #include

Servo myservo; // sukurti servo objektą valdyti servo

// Daugumoje lentų galima sukurti dvylika servo objektų

int pos = 0; // kintamasis servo padėčiai išsaugoti

void setup () {

myservo.attach (9); // prie servo objekto pritvirtina 9 kaiščio servo}

void loop () {

for (pos = 0; pos = 0; pos -= 1) {// eina nuo 180 laipsnių iki 0 laipsnių myservo.write (pos); // liepti servo eiti į padėtį kintamajame 'pos' delay (15); // laukia 15 ms, kol servo sistema pasieks padėtį}}

Čia yra projekto kodas (aš būsiu atviras su jumis, aš nedaug padariau, aš tiesiog pridėjau servo dalį, dėkoju žmonėms, sukūrusiems visą kodą!):

#įtraukti slaptažodį.h

#įtraukti klaviatūrą

/*

|| Paprastas slaptažodžio įvedimas naudojant matricinę klaviatūrą || 2012-04-05 Atnaujinimai Nathan Sobieck: [email protected] || *

/* yra patvirtinti slaptažodį

//# yra iš naujo nustatyti slaptažodį

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

#įtraukti

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

Slaptažodžio slaptažodis = Slaptažodis ("1234");

Servo myservo; // sukurti servo objektą valdyti servo

#define servoPin 10

const baitas ROWS = 4; // Keturios eilės

const baitas COLS = 4; // stulpeliai // Apibrėžkite „Keymap“simbolių klavišus [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

baitų rowPins [ROWS] = {9, 8, 7, 6}; // Prijunkite klaviatūrą ROW0, ROW1, ROW2 ir ROW3 prie šių „Arduino“kaiščių.

baitų colPins [COLS] = {5, 4, 3, 2,}; // Prijunkite klaviatūrą COL0, COL1 ir COL2 prie šių „Arduino“kaiščių.

// Sukurkite klaviatūrą

Klaviatūros klaviatūra = klaviatūra (makeKeymap (klavišai), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // prie servo objekto pritvirtina 9 kaiščio servo

Serial.begin (9600);

keypad.addEventListener (keypadEvent); // pridėti šios klaviatūros įvykių klausytoją

myservo.write (0);

}

void loop () {

keypad.getKey ();

}

// pasirūpinkite kai kuriais ypatingais įvykiais

void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); pertrauka; numatytasis: password.append (eKey); }}}

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Sėkmė"); // Pridėkite kodą paleisti, jei jis veikia

myservo.write (180);

vėlavimas (3000);

myservo.write (0);

password.reset ();

} else if (password.evaluate () == false) {

Serial.println („Neteisinga“);

myservo.write (0);

// pridėti kodą paleisti, jei jis neveikė

}

}

3 žingsnis: ką visa tai reiškia?

Ką visa tai reiškia?
Ką visa tai reiškia?

Viršuje esantis kodas (pirmasis) duos signalą „Servo“„nušluoti“arba tiesiog pereiti nuo 0 iki 180 laipsnių. Arba tiesiog atlikite pusę sukimosi rato iš kairės į dešinę arba iš dešinės į kairę. Jei norite daugiau informacijos apie kodą, galiu jums pasakyti. Tik prašau paklausti. Jokios žalos nepadaryta, tik paprastas klausimas. Nagi, tu tai gali! Bet kokiu atveju, viduryje esantis kodas išbando kiekvieną klaviatūros mygtuką. Ir paskutinis kodas tiesiog „atrakina“su servo sistema, kai įvedate slaptažodį „1234“į klaviatūrą, kaip jūs atspėjote.

4 žingsnis: trikčių šalinimas

Problemų sprendimas
Problemų sprendimas

Klausimas: Mano klaviatūra neveikia.

A: Atminkite, kad pirmasis kaištis yra 9, todėl eikite žemyn. Taip pat būtinai prijunkite arduino prie kompiuterio USB prievado ir užprogramuokite „Arduino“.

Kl.: „Servo“neveikia.

A: Atminkite, kad servo kaištis yra 10 kaištis ir kad jums reikia bendro pagrindo, jei jungiatės tiesiai iš „Arduino“, atminkite, kad oranžinis kaištis (ant mikro servo) yra 10 kaištis, raudonas - 5 V, o rudas kaištis yra GND kaištis.

Klausimas: „Arduino“neveikia:

A: Ar jūs net prijungėte? Tai skamba kaip asmeninė problema

5 žingsnis: jei turite klausimų, nedvejodami užduokite komentarų skiltyje ir nepamirškite užsiprenumeruoti

Sveiki, ačiū, kad peržiūrėjote mano vadovėlį. Buvo smagu.

Rekomenduojamas: