Satura rādītājs:

Tastatūras servo bloķēšana: 5 soļi
Tastatūras servo bloķēšana: 5 soļi

Video: Tastatūras servo bloķēšana: 5 soļi

Video: Tastatūras servo bloķēšana: 5 soļi
Video: Iesirea port din Arduino 2024, Jūnijs
Anonim
Tastatūras servo bloķēšana
Tastatūras servo bloķēšana
Tastatūras servo bloķēšana
Tastatūras servo bloķēšana
Tastatūras servo bloķēšana
Tastatūras servo bloķēšana

Sveiki visiem, ceru, ka jums bija laba diena. Ja nē, tad cerams, ka jūs varat vienkārši attīt ar nelielu atvērtību šai apmācībai un terapeitiskai mūzikai. Programmēšana var būt apgrūtinoša. Par laimi, šī apmācība nav apgrūtinoša, tāpēc jūs, iespējams, varat paveikt populāru lietu, ko sauc (varenā balsī): ULTIMATE SERVO KEYPAD LOCK! Tas tiešām ir tikai mans ievads, ceru, ka jums patika. Lai vai kā, sasildīsim pirkstus mašīnrakstīšanai. (Forša dziesma: can-can dziesma (klasiskā mūzika)).

Piegādes:

-Jūsu pirksti

-Tavas rokas arī, tas ir svarīgi

-USB kabelis Arduino

-Pieejams jebkura veida arduino (man ir Arduino Mega)

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

-Mikro vai standarta servo (es izmantoju mikro servo)

-* Pēc izvēles* Maizes dēlis - jebkura veida

-* Pēc izvēles* Barošanas avots (5V)

1. darbība: shematisks laiks

Shematisks laiks!
Shematisks laiks!
Shematisks laiks!
Shematisks laiks!

Tātad, ko darīt vispirms? Pievienojiet Arduino datoram. Tālāk pievienojiet tastatūru. *Piezīme - tapas no pēdējās tastatūras tapas ir jāpievieno kā pirmā digitālā tapa uz arduino. Un pēc tam pārejiet no labās uz kreiso*. Tastatūrai arduino ir piespraudes 2-9. Servo ir tapas 10 kā digitālie signāli. Piesaistiet arduino, tastatūras un servo pamatus un arī 5V. * Ņemiet vērā arī to, ka servo vislabāk var izmantot ar ārēju barošanas avotu vai adapteri ar 5 V (sienas spraudnis), taču tas joprojām nav obligāts.* Jums nav fiziski jāpiesaista pamatne un 5 V, es domāju lai vienkārši pievienotu vadu no Arduino pie servo. Šī shēma nepalīdz iesācējiem, tāpēc ļaujiet man sīki paskaidrot. Būtībā pēdējā tapa ir 2 un pirmā ir 9, divas ir 8, trīs ir 7 utt. Pāriet no kreisās uz labo 2 2.

2. solis: kodēšanas laiks

Kodēšanas laiks!
Kodēšanas laiks!
Kodēšanas laiks!
Kodēšanas laiks!

Labi, tagad mēs ķeramies pie kodēšanas daļas! Šeit notiek īstā maģija! Tātad, ir testa programma, lai vispirms pārbaudītu tastatūru un servo. Šeit:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @versija 1.0 || @autors Aleksandrs Brevigs || @contact [email protected] || || @apraksts || | Parāda tastatūras lieluma un taustiņu vērtību maiņu. || # */ # iekļaut

const baits ROWS = 4; // četras rindas

const baits COLS = 4; // četras kolonnas // definē simboli uz tastatūras pogām char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; baits rowPins [ROWS] = {9, 8, 7, 6}; // pieslēgties tastatūras rindu pinouts baitiem colPins [COLS] = {5, 4, 3, 2}; // izveidot savienojumu ar tastatūras kolonnu pinouts

// inicializēt klases NewKeypad eksemplāru

Tastatūra customKeypad = Tastatūra (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);

void setup () {

Sērijas sākums (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}

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

Servo myservo; // izveidot servo objektu, lai kontrolētu servo

// Lielākajā daļā dēļu var izveidot divpadsmit servo objektus

int pos = 0; // mainīgais, lai saglabātu servo pozīciju

void setup () {

myservo.attach (9); // piestiprina 9. tapas servo servo objektam}

void loop () {

for (pos = 0; pos = 0; pos -= 1) {// iet no 180 grādiem līdz 0 grādiem myservo.write (pos); // sakiet servo, lai tas mainītos 'pos' kavējumā (15); // gaida 15 ms, lai servo sasniegtu pozīciju}}

Šeit ir projekta kods (es būšu godīgs pret jums, es neko daudz nedarīju, es vienkārši pievienoju servo daļu, saku paldies cilvēkiem, kuri izveidoja visu kodu!):

#iekļaut paroli.h

#ieskaitot tastatūru

/*

|| Vienkārša paroles ievadīšana, izmantojot matricas tastatūru || 5.4.2012 Atjauninājumi Nathan Sobieck: [email protected] || *

/* ir paroles apstiprināšanai

//# ir paroles atiestatīšanas mēģinājums

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

#iekļaut

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

Parole parole = Parole ("1234");

Servo myservo; // izveidot servo objektu, lai kontrolētu servo

#define servoPin 10

const baits ROWS = 4; // Četras rindas

const baits COLS = 4; // kolonnas // Definējiet taustiņu karšu taustiņus [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

baits rowPins [ROWS] = {9, 8, 7, 6}; // Savienojiet tastatūru ROW0, ROW1, ROW2 un ROW3 ar šīm Arduino tapām.

baits colPins [COLS] = {5, 4, 3, 2,}; // Pievienojiet tastatūru COL0, COL1 un COL2 šīm Arduino tapām.

// Izveidojiet tastatūru

Tastatūras tastatūra = tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // piestiprina servo 9. tapā pie servo objekta

Sērijas sākums (9600);

keypad.addEventListener (keypadEvent); // pievienojiet notikumu klausītāju šai tastatūrai

myservo.write (0);

}

void loop () {

keypad.getKey ();

}

// rūpēties par dažiem īpašiem notikumiem

void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); pārtraukums; noklusējums: password.append (eKey); }}}

void checkPassword () {

ja (parole.evaluate () == true) {Serial.println ("Panākumi"); // Pievienojiet kodu, lai palaistu, ja tas darbojas

myservo.write (180);

kavēšanās (3000);

myservo.write (0);

parole.reset ();

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

Serial.println ("Nepareizs");

myservo.write (0);

// pievienojiet kodu, lai palaistu, ja tas nedarbojās

}

}

3. darbība: ko tas viss nozīmē?

Ko tas viss nozīmē?
Ko tas viss nozīmē?

Augšup esošais kods (pirmais) dos signālu servo "slaucīt" vai vienkārši pāriet no 0 līdz 180 grādiem. Vai vienkārši pabeidziet pusi rotācijas apļa no kreisās uz labo vai no labās uz kreiso. Ja vēlaties iegūt sīkāku informāciju par kodu, es varu jums pateikt. Vienkārši lūdzu pajautājiet. Nav nodarīts kaitējums, tikai vienkāršs mazs jautājums. Nāc, tu to vari! Jebkurā gadījumā vidējais kods pārbauda katru tastatūras pogu. Un pēdējais kods vienkārši “atbloķējas” ar servo, kad ierakstāt paroli “1234”, jūs uzminējāt, tastatūrā.

4. darbība. Problēmu novēršana

Traucējummeklēšana
Traucējummeklēšana

J: Mana tastatūra nedarbojas.

A: Atcerieties, ka pirmā tapa ir 9, tāpēc ejiet uz leju no turienes. Noteikti pievienojiet arduino datora USB portam un ieprogrammējiet Arduino.

J: Servo nedarbojas.

A: Atcerieties, ka servo tapa ir 10. tapa un ka jums ir nepieciešams kopīgs pamats, ja veidojat savienojumu tieši no Arduino, atcerieties, ka oranžā tapa (uz mikro servo) ir 10. tapa, sarkanā tapa ir 5 V un brūna tapa ir GND tapa.

J: Arduino nedarbojas:

A: Vai jūs to pat savienojāt? Tas izklausās pēc personīgas problēmas

5. solis: ja jums ir kādi jautājumi, jautājiet komentāru sadaļā un neaizmirstiet abonēt

Čau, paldies, ka apskatījāt manu pamācību. Ir bijis jautri.

Ieteicams: