Sisällysluettelo:

Näppäimistön servolukko: 5 vaihetta
Näppäimistön servolukko: 5 vaihetta

Video: Näppäimistön servolukko: 5 vaihetta

Video: Näppäimistön servolukko: 5 vaihetta
Video: ТОП 5 бюджетных МЕХАНИЧЕСКИХ игровых клавиатур 2024, Heinäkuu
Anonim
Näppäimistön servolukko
Näppäimistön servolukko
Näppäimistön servolukko
Näppäimistön servolukko
Näppäimistön servolukko
Näppäimistön servolukko

Hei kaikki, toivottavasti teillä oli hyvä päivä. Jos ei, toivottavasti voit vain kelata hieman avoimesti tähän opetusohjelmaan ja terapeuttiseen musiikkiin. Ohjelmointi voi olla vaikeaa. Onneksi tämä opetusohjelma ei ole vaivaa, joten ehkä saatat tehdä suosittua asiaa nimeltä (mahtavalla äänellä): ULTIMATE SERVO KEYPAD LOCK !!! Tämä on vain esittelyni, toivottavasti pidit siitä. Joka tapauksessa lämmitetään sormemme kirjoittamista varten. (Viileä kappale: can-can-kappale (klassinen musiikki)).

Tarvikkeet:

-Sormesi

-Myös sinun kätesi, se on tärkeää

-USB -kaapeli Arduinolle

-Kaikentyyppinen arduino saatavilla (minulla on Arduino Mega)

-Matrix -näppäimistö (näppäimistö - ebay, näppäimistö - amazon)

-Mikro- tai vakio -servo (käytän mikropalvelua)

-* Valinnainen* Leipälauta - mikä tahansa

-* Valinnainen* Virtalähde (5V)

Vaihe 1: Kaavamainen aika

Kaavamainen aika!
Kaavamainen aika!
Kaavamainen aika!
Kaavamainen aika!

Joten mitä tehdä ensin? Kytke Arduino tietokoneeseen. Liitä näppäimistö seuraavaksi. *Huomaa - sinun on liitettävä näppäimistön viimeisen nastan nastat arduinon ensimmäiseksi digitaaliseksi tapiksi. Ja siirry sen jälkeen oikealta vasemmalle*. Näppäimistössä on nastat 2-9 arduinossa. Servossa on nasta 10 digitaalisina signaaleina. Sido arduinon, näppäimistön ja servon sekä 5V: n perusteet. * Huomaa myös, että servoa käytetään parhaiten ulkoisen virtalähteen tai 5 V: n sovittimen kanssa (seinäpistoke), mutta se on silti valinnainen.* Sinun ei tarvitse sitoa maadoitusta ja 5 V fyysisesti, tarkoitan vain kiinnittää lanka Arduinosta servoon. Tämä kaavio ei auta aloittelijoita, joten anna minun selittää lyhyesti. Pohjimmiltaan viimeinen nasta on 2 ja ensimmäinen 9, kaksi 8, kolme 7 ja niin edelleen. Siirry vasemmalta oikealle 22.

Vaihe 2: Koodausaika

Koodausaika!
Koodausaika!
Koodausaika!
Koodausaika!

Ok, nyt siirrymme koodausosaan! Tässä tapahtuu todellinen taikuus! Joten on olemassa testiohjelma, jolla testataan ensin näppäimistö ja servo. Tässä:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @versio 1.0 || @kirjailija Alexander Brevig || @contact [email protected] || || @description || | Osoittaa näppäimistön koon ja näppäinarvojen muuttamisen. || # */ #sisältää

const tavu RIVIT = 4; // neljä riviä

const tavu COLS = 4; // neljä saraketta // määrittävät symbolit näppäimistön painikkeissa char hexaKeys [RIVIT] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; tavu rowPins [ROWS] = {9, 8, 7, 6}; // muodosta yhteys näppäimistön rivipistoihin tavu colPins [COLS] = {5, 4, 3, 2}; // muodostaa yhteys näppäimistön sarakkeiden pinouteihin

// alustetaan NewKeypad -luokan ilmentymä

Näppäimistö customKeypad = Näppäimistö (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);

void setup () {

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

//www.elegoo.com//2016.12.08 #include

Servo myservo; // luoda servo -objekti servoa ohjaamaan

// Useimmille levyille voidaan luoda kaksitoista servo -objektia

int pos = 0; // muuttuja servoaseman tallentamiseen

void setup () {

myservo.attach (9); // kiinnittää nastan 9 servon servo -objektiin}

void loop () {

for (pos = 0; pos = 0; pos -= 1) {// siirtyy 180 asteesta 0 asteeseen myservo.write (pos); // käske servoa siirtymään asentoon muuttujan "pos" viiveessä (15); // odottaa 15 ms, kunnes servo saavuttaa asennon}}

Tässä on projektikoodi (aion olla rehellinen kanssasi, en tehnyt paljon, lisäsin vain servo -osan, kiitä ihmisiä, jotka tekivät kaiken koodin!):

#Sisällytä salasana. h

#sisältää näppäimistön

/*

|| Yksinkertainen salasanan syöttö Matrix -näppäimistöllä || 5.4.2012 Päivitykset Nathan Sobieck: [email protected] || *

/* on salasanan vahvistaminen

//# on nollata salasanayritys

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

#sisältää

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

Salasanan salasana = Salasana ("1234");

Servo myservo; // luoda servo -objekti servoa ohjaamaan

#define servoPin 10

const tavu RIVIT = 4; // Neljä riviä

const tavu COLS = 4; // sarakkeet // Määritä näppäimistökartan char -näppäimet [RIVIT] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

tavu rowPins [ROWS] = {9, 8, 7, 6}; // Liitä näppäimistö ROW0, ROW1, ROW2 ja ROW3 näihin Arduino -nastoihin.

tavu colPins [COLS] = {5, 4, 3, 2,}; // Liitä näppäimistö COL0, COL1 ja COL2 näihin Arduino -nastoihin.

// Luo näppäimistö

Näppäimistön näppäimistö = Näppäimistö (makeKeymap (näppäimet), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // kiinnittää nastan 9 servon servo -objektiin

Sarja.alku (9600);

keypad.addEventListener (keypadEvent); // lisää tapahtuman kuuntelija tälle näppäimistölle

myservo.write (0);

}

void loop () {

keypad.getKey ();

}

// huolehtia erityistapahtumista

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

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Menestys"); // Lisää koodi suoritettavaksi, jos se toimii

myservo.write (180);

viive (3000);

myservo.write (0);

salasanan nollaus();

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

Serial.println ("Väärä");

myservo.write (0);

// lisää koodi suoritettavaksi, jos se ei toimi

}

}

Vaihe 3: Mitä tämä kaikki tarkoittaa?

Mitä tämä kaikki tarkoittaa?
Mitä tämä kaikki tarkoittaa?

Yllä oleva koodi (ensimmäinen) antaa Servolle signaalin "lakaista" tai vain siirtyä 0-180 astetta. Tai suorita vain puoli kierrosta vasemmalta oikealle tai oikealta vasemmalle. Jos haluat lisätietoja koodista, voin kertoa sinulle. Kysy vain. Ei haittaa, vain pieni kysymys. Tule, voit tehdä sen! Joka tapauksessa keskellä oleva koodi testaa jokaisen näppäimistön painikkeen. Ja viimeinen koodi vain "avautuu" servolla, kun kirjoitat salasanan "1234" näppäimistöön, arvasit sen.

Vaihe 4: Vianetsintä

Ongelmien karttoittaminen
Ongelmien karttoittaminen

K: Näppäimistöni ei toimi.

V: Muista, että ensimmäinen tappi on 9, joten mene sieltä alas. Muista myös kytkeä arduino tietokoneen USB -porttiin ja ohjelmoida Arduino.

K: Servo ei toimi.

V: Muista, että servotappi on nasta 10 ja että tarvitset yhteisen maan, jos muodostat yhteyden suoraan Arduinosta, muista, että oranssi nasta (mikropalvelussa) on nasta 10, punainen nasta on 5 V ja ruskea nasta on GND -nasta.

K: Arduino ei toimi:

V: Liititkö sen edes? Se kuulostaa henkilökohtaiselta ongelmalta

Vaihe 5: Jos sinulla on kysyttävää, kysy rohkeasti kommenttiosiossa ja muista tilata

Heippa, kiitos opetusohjelmani katsomisesta. Se on ollut hauskaa.

Suositeltava: