Përmbajtje:

Bllokimi i shërbimit të tastierës: 5 hapa
Bllokimi i shërbimit të tastierës: 5 hapa

Video: Bllokimi i shërbimit të tastierës: 5 hapa

Video: Bllokimi i shërbimit të tastierës: 5 hapa
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Korrik
Anonim
Bllokimi i shërbimit të tastierës
Bllokimi i shërbimit të tastierës
Bllokimi i shërbimit të tastierës
Bllokimi i shërbimit të tastierës
Bllokimi i shërbimit të tastierës
Bllokimi i shërbimit të tastierës

Pershendetje te gjitheve, shpresoj te keni kaluar nje dite te mire. Nëse jo, me shpresë se ju thjesht mund të ktheheni mbrapa me një mendje të hapur ndaj këtij mësimi dhe disa muzikë terapeutike. Programimi mund të jetë një sherr. Fatmirësisht, ky mësim nuk është një sherr, kështu që ju ndoshta jeni në gjendje të arrini një gjë popullore të quajtur (me zë të fuqishëm): Bllokimi i tastierës së shërbimit përfundimtar !!! Kjo është me të vërtetë vetëm prezantimi im, shpresoj se ju pëlqeu. Gjithsesi, le të ngrohemi gishtat për të shtypur. (Një këngë e lezetshme: këngë e mundshme (muzikë klasike)).

Furnizimet:

-Gishtat e tu

-Edhe duart tuaja, kjo është e rëndësishme

-Kabllo USB për Arduino

-Çdo lloj arduino në dispozicion (kam Arduino Mega)

- Tastiera Matrix (tastiera - ebay, tastiera - amazon)

-Servo mikro ose standarde (unë jam duke përdorur një mikro servo)

-* Opsionale* Breadboard - çdo lloj

-* Opsionale* Furnizimi me energji (5V)

Hapi 1: Koha Skematike

Koha skematike!
Koha skematike!
Koha skematike!
Koha skematike!

Pra, çfarë bëni së pari? Lidheni Arduino me kompjuterin. Lidhni tastierën tjetër. *Shënim - duhet të lidhni kunjat nga kunja e fundit në tastierë si kunja e parë dixhitale në arduino. Dhe shkoni nga e djathta në të majtë pas kësaj*. Tastiera ka kunjat 2-9 në arduino. Servo ka pin 10 si sinjale dixhitale. Lidhni bazat e arduino, tastierës dhe servo dhe 5V gjithashtu. * Gjithashtu vini re - se servo përdoret më së miri me një burim të jashtëm të energjisë ose një përshtatës me 5V (mur plug -in), por është akoma opsional.* Ju nuk keni pse të lidhni bazat dhe 5V fizikisht, ajo që dua të them është vetëm për të bashkuar një tel nga Arduino në servo. Kjo skemë nuk i ndihmon fillestarët, kështu që më lejoni të shpjegoj në detaje të shkurtra. Në thelb, kunja e fundit është 2 dhe e para është 9, dy është 8, tre është 7, dhe kështu me radhë. Shkoni nga e majta në të djathtë 2 2.

Hapi 2: Koha e kodimit

Koha e kodimit!
Koha e kodimit!
Koha e kodimit!
Koha e kodimit!

Ok, tani po kalojmë në pjesën e kodimit! Këtu ndodh magjia e vërtetë! Pra, ekziston një program testimi për të testuar së pari tastierën dhe servo. Ketu:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @versioni 1.0 || @autor Alexander Brevig || @kontaktoni [email protected] || || @përshkrimi || | Demonstron ndryshimin e madhësisë së tastierës dhe vlerave kryesore. || # */ # përfshi

const byte RRESHA = 4; // katër rreshta

const byte COLS = 4; // katër kolona // përcaktojnë simbolet në butonat e tastierave char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; byte rowPins [ROWS] = {9, 8, 7, 6}; // lidheni me pinout -et e rreshtit të bajtit të tastierës colPins [COLS] = {5, 4, 3, 2}; // lidheni me pinoutet e kolonave të tastierës

// inicializoni një shembull të klasës NewKeypad

Keypad customKeypad = Tastiera (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);

void setup () {

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

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

Servo myservo; // krijoni një servo objekt për të kontrolluar një servo

// Dymbëdhjetë servo objekte mund të krijohen në shumicën e dërrasave

int pos = 0; // ndryshore për të ruajtur pozicionin servo

void setup () {

myservo.tash (9); // i bashkon servo -në pin 9 tek servo objekti}

lak void () {

për (pos = 0; pos = 0; pos -= 1) {// shkon nga 180 gradë në 0 gradë myservo.shkruaj (pos); // thuaji servo -s të shkojë në pozicionin në ndryshoren 'pos' vonesë (15); // pret 15ms që servo të arrijë pozicionin}}

Këtu është kodi i projektit (do të jem i sinqertë me ju, nuk bëra shumë, thjesht shtova pjesën servo, falënderoj njerëzve që kanë bërë të gjithë kodin!):

#përfshi Fjalëkalimin.h

#përfshini tastierën

/*

|| Hyrja e thjeshtë e Fjalëkalimit duke Përdorur Tastieren Matrix || 4/5/2012 Përditësimet Nathan Sobieck: [email protected] || *

/* është për të vërtetuar fjalëkalimin

//# është rivendosja e përpjekjes së fjalëkalimit

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

#përfshi

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

Fjalëkalimi i fjalëkalimit = Fjalëkalimi ("1234");

Servo myservo; // krijoni një servo objekt për të kontrolluar një servo

#përcaktoni servoPin 10

const byte RRESHA = 4; // Katër rreshta

const byte COLS = 4; // kolonat // Përcaktoni çelësat e ngarkimit të Hartës Key [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

byte rowPins [ROWS] = {9, 8, 7, 6}; // Lidhni tastierën ROW0, ROW1, ROW2 dhe ROW3 me këto kunja Arduino.

byte colPins [COLS] = {5, 4, 3, 2,}; // Lidhni tastierën COL0, COL1 dhe COL2 me këto kunja Arduino.

// Krijoni tastierën

Tastiera e tastierës = Tastiera (makeKeymap (çelësat), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // i bashkon servo -në pin 9 me objektin servo

Serial.filloj (9600);

tastiera.addEventListener (tastieraEvent); // shtoni një dëgjues të ngjarjeve për këtë tastierë

myservo.shkruaj (0);

}

lak void () {

tastiera.getKey ();

}

// kujdesuni për disa ngjarje të veçanta

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

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Suksesi"); // Shtoni kodin për tu ekzekutuar nëse funksionon

myservo.shkruaj (180);

vonesë (3000);

myservo.shkruaj (0);

password.reset ();

} tjetër nëse (password.evaluate () == false) {

Serial.println ("E gabuar");

myservo.shkruaj (0);

// shtoni kodin për tu ekzekutuar nëse nuk funksionon

}

}

Hapi 3: Çfarë do të thotë e gjithë kjo?

Çfarë do të thotë e gjithë kjo?
Çfarë do të thotë e gjithë kjo?

Kodi i mësipërm (i pari) do t'i japë një sinjal Servo që të "fshijë" ose thjesht të shkojë nga 0 në 180 gradë. Ose thjesht duke përfunduar gjysmën e një rrethi rrotullimi nga e majta në të djathtë ose nga e djathta në të majtë. Nëse doni më shumë detaje mbi kodin mund t’ju them. Ju lutemi pyesni. Asnjë dëm nuk është bërë, vetëm një pyetje e thjeshtë e vogël. Hajde, mund ta bësh! Gjithsesi, kodi në mes teston çdo buton të tastierës. Dhe e fundit e kodit thjesht "zhbllokohet" me servo kur shtypni çelësin "1234" në, siç e kuptuat, në tastierën.

Hapi 4: Zgjidhja e problemeve

Zgjidhja e problemeve
Zgjidhja e problemeve

Pyetje: Tastiera ime nuk punon.

A: Mos harroni kunja e parë është 9, kështu që zbritni prej andej. Gjithashtu sigurohuni që të lidhni arduino me portën USB të kompjuterit dhe programoni Arduino.

Pyetje: Servo nuk punon.

Përgjigje: Mos harroni se kunja servo është kunja 10 dhe se keni nevojë për një bazë të përbashkët, nëse jeni duke u lidhur direkt me Arduino, mbani mend se kunja portokalli (në mikro servo) është kunja 10, kunja e kuqe është 5V dhe kunja ngjyrë kafe është kunja GND.

Pyetje: Arduino nuk punon:

A: A e lidhët atë? Kjo tingëllon si një problem personal

Hapi 5: Nëse keni ndonjë pyetje, mos ngurroni të pyesni në pjesën e komenteve dhe mos harroni të regjistroheni

Mirupafshim, faleminderit që shikuat mësimin tim. Ka qenë argëtuese.

Recommended: