- Komponentu saraksts
- Arduino tastatūras durvju slēdzenes shēmas shēma
- Digitālās tastatūras durvju bloķēšanas kods Arduino
- Arduino tastatūras durvju bloķētāja montāža un testēšana
Bieži vien mums ir jānodrošina istaba mūsu mājās vai birojā (iespējams, slepenas dexter laboratorijā), lai neviens nevarētu piekļūt telpai bez mūsu atļaujas un nodrošinātu aizsardzību pret mūsu svarīgo piederumu un aktīvu nozagšanu vai nozaudēšanu. Mūsdienās ir tik daudz drošības sistēmu veidu, taču aiz ainas autentifikācijas nolūkos tās visas tiek nodotas pirkstu nospiedumos, tīklenes skenerī, varavīksnenes skenerī, sejas ID, mēles skenerī, RFID lasītājā, parolē, piespraudē, šablonos utt. par zemu cenu ir jāizmanto parole vai PIN sistēma. Tāpēc šajā projektā esmu izveidojis Arduino tastatūras durvju slēdzeni, kuru var piestiprināt pie jebkurām jūsu esošajām durvīm, lai tās nostiprinātu ar digitālo paroli. Iepriekš mēs esam uzbūvējuši arī citas interesantas durvju slēdzenes, kuras ir uzskaitītas zemāk.
- Arduino RFID durvju slēdzene
- Arduino solenoīda durvju slēdzene
- Raspberry Pi digitālā koda atslēga
- 555 Taimera elektroniskā durvju slēdzene
Pirms veidot paroles durvju bloķēšanas projektu, vispirms mums jāsavāc nepieciešamās sastāvdaļas un pēc tam jāseko solim pa solim.
Komponentu saraksts
- Arduino Uno / Pro / Mini vai Custom plate, izmantojot Atmega 328p mikrokontrolleru
- 16 x 2 LCD (šķidro kristālu displejs)
- 4 x 3 vai 4 x 4 matricas tastatūra Arduino
- Servomotors
- 3D drukāts durvju skapis / pielāgots durvju skapis
- Papildu komponenti 1 ampēra 5 voltu mobilā lādētāja barošanai
- 4 "/ 6" plastmasas kastes, džemperu vadi, uzgriežņu skrūves, plastmasas korpuss utt.
Arduino tastatūras durvju slēdzenes shēmas shēma
Pilnīga shēma mūsu Arduino digitālās tastatūras durvju bloķēšanas projektam ir parādīta zemāk.
Pirmkārt, mēs sākam no šī projekta, kas ir Arduino UNO padome, smadzenēm. Arduino dēlis ir savienots ar LCD un servomotoru. Servomotoru izmanto durvju aizbīdņa stumšanai (bloķēšanai) vai vilkšanai (atbloķēšanai). Lai parādītu Arduino ziņojumu, ir nepieciešams 16 x 2 LCD, bet 16 x 2 nozīmē, ka tajā ir 16 kolonnu un 2 rindu skaits. Ja 16x2 LCD displeja moduļi jums ir pilnīgi jauni, varat pārbaudīt šo Arduino LCD saskarnes apmācību, lai uzzinātu vairāk par to.
Šeit es izmantoju 5v Towerpro SG90 servomotoru, lai izgatavotu mūsu pielāgoto durvju skapi. Tas ir pamata līmeņa servomotors un lieliski darbojas ar Arduino bez jebkādas piedziņas ķēdes vai ārējā moduļa. Arī šī servomotora izmaksas ir ļoti zemākas, tāpēc jūs varat viegli atļauties to iegādāties. Varat arī pārbaudīt šo Arduino servomotora vadības apmācību, lai uzzinātu vairāk par servomotoru un tā darbību. Savienojiet servomotoru ar Arduino Digital pin D9 un ar 5 voltu barošanas avotu. Šim servomotoram ir kopumā 3 ieejas līnijas (GND, + 5V un SIGNAL LINE).
Šajā projektā esmu izmantojis 4 x 4 matricas tastatūru (bet 4 x 4 tastatūras daļa nav pieejama fritzingā, lai izveidotu šo grafisko attēlojumu), bet neuztraucieties, jo 4 x 3 Matrix tastatūra darbojas arī ar manu kodējumu. Mums ir nepieciešama tastatūra paroles ievadīšanai un manuāli jānoslēdz mūsu pielāgotais durvju skapītis. Tas sastāv no 16 taustiņiem (izvēles slēdzis) 4 taustiņiem rindās (R1, R2, R3, R4) un 4 taustiņiem kolonnās (C1, C2, C3, C4), nospiežot taustiņu, tas izveido savienojumu starp attiecīgajām rindām un kolonnas. Zemāk esošajā tabulā parādīts, kā savienot Arduino ar tastatūru.
Tastatūra | Arduino |
1. tapa (1. rinda) | 1. digitālā tapa |
2. tapa (2. rinda) | Digitālā tapa 2 |
3. tapa (3. rinda) | Digitālā tapa 3 |
4. tapa (4. rinda) | Digitālā tapa 4 |
5. tapa (5. sleja) | 5. digitālā tapa |
6. tapa (6. sleja) | Digitālā tapa 6 |
7. tapa (7. sleja) | Digitālā tapa 7 |
Digitālās tastatūras durvju bloķēšanas kods Arduino
Pilnīgs Arduino durvju bloķēšanas kods ir atrodams šīs lapas apakšdaļā. Jūs varat tieši augšupielādēt kodu, taču ieteicams izlasīt tālāk minētos punktus, lai saprastu, kā kods darbojas. Tāpat ir svarīgi pārliecināties, vai esat pievienojis šo tastatūras bibliotēku savam Arduino IDE, lai veiksmīgi apkopotu kodu. Lai to izdarītu, vienkārši atveriet zemāk esošo saiti un lejupielādējiet ZIP failu. Pēc tam savā Arduino IDE dodieties uz Sketch -> Include Library -> Add.ZIP Library un pārlūkojiet tikko lejupielādēto failu.
- Arduino tastatūras bibliotēka
Pēc visu galvenes un bibliotēkas failu ievietošanas piešķiriet visu tapu LCD, definējiet paroles garumu un iestatiet servo sākotnējo stāvokli uz 0. Pēc tam paņemiet “char” datu tipu, lai deklarētu numuru, kas to var turēt, ieskaitot nulles raksturs.
// # iekļaut
Ar šo koda fragmentu (char Master = "123456";) - zem Char Master es deklarēju durvju slēdzenes paroli, pēc tam piešķiru rindu un kolonnu skaitu tastatūrā, kā arī deklarēju keyMaps un izveidoju savienojumu ar rindām un kolonnas. Saskaņā ar tukšuma iestatīšanu inicializējiet servo signāla tapu D9, servo statuss ir aizvērts un izdrukājiet projekta / ierīces / uzņēmuma nosaukumu ar 3 sekunžu kavēšanos ierīces darbības laikā.
void setup () {myservo.attach (9); Servo Aizvērt (); lcd.begin (16, 2); lcd.print ("Arduino durvis"); lcd.setCursor (0, 1); lcd.print ("- Meklējiet projektu -"); kavēšanās (3000); lcd.clear (); }
Saskaņā ar cilpas funkciju ir vienkāršs nosacījums, ja-cits. Atkarībā no statusa (tas tiek automātiski bloķēts) drukājiet “Durvis ir aizvērtas” ar 3 sekunžu kavēšanos un servo pagriežas aizvērtā pozīcijā, durvju dati tiek skaitīti kā 1, pretējā gadījumā durvju skapītis paliek atvērts un datu skaits 0, servo atvērts pagriežas pozīcijā 0 grādiem līdz 180 grādiem, un, lai to aizvērtu, no 180 līdz 0. Servo atvēršanas un servo aizvēršanas funkcijas ir parādītas zemāk.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// iet no 0 grādiem līdz 180 grādiem // 1 grāda pakāpēs myservo.write (pos); // pateikt servo iet uz pozīciju mainīgā “pos” kavēšanās (15); // gaida 15ms, līdz servo sasniegs pozīciju}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// iet no 180 grādiem līdz 0 grādiem myservo.write (pos); // pateikt servo iet uz pozīciju mainīgā “pos” kavēšanās (15); // gaida 15ms, līdz servo sasniedz pozīciju}}
Uzrakstiet servo pozīciju ar 15 sekunžu kavēšanos, lai sasniegtu servo pozīciju. Zem tukšās atvēršanas funkcijas izdrukājiet uz LCD “Enter Password”, pēc tam nosacījums norāda, ka ievadītajai parolei jābūt vienādai ar pielāgoto atslēgu, šajā ķermeņa daļā dati tiek uzskaitīti un glabā charu datu masīvā, palielinot un ievades paroli drukājot uz LCD, datu garums (atslēgas skaits) un ievades parole sakrīt ar Data Master (kur atrodas iepriekš definētās atslēgas). Pēc tam, kad darbības displejs ir notīrīts, servo piedziņa, izdrukājiet uz LCD “Durvis ir atvērtas” un datu skaitītājs tiek atiestatīts uz 0.
Ja ievades atslēga nesakrīt ar Data Master, LCD ekrānā skaidri drukājot “Nepareiza parole”, tiek parādīts paziņojums ar 1 sekundes kavēšanos un tas paliek bloķēšanas stāvoklī ar datu skaitītāja iestatījumu uz 1 un turpina šo procesu ciklā.
if (datu_skaitījums == Paroles_P garums - 1) // ja masīva indekss ir vienāds ar gaidāmo rakstzīmju skaitu, salīdziniet datus ar galveno {if (! strcmp (Dati, Galvenais)) // // vienāds ar (strcmp (Dati, Galvenais) == 0) {lcd.skaidrs (); ServoOpen (); lcd.print ("Durvis ir atvērtas"); durvis = 0; } cits {lcd.clear (); lcd.print ("Nepareiza parole"); kavēšanās (1000); durvis = 1; } izdzēst datus(); }
Arduino tastatūras durvju bloķētāja montāža un testēšana
Tagad visu ievietojiet 4 collu / 6 collu plastmasas kastē un darbiniet to ar mobilo lādētāju, visu kārtīgi sakārtojiet, izmantojot apvalku. Ideālā gadījumā es varētu izmantot 3D drukāšanu, lai saliktu savu slēdzeni, bet pēc savu failu noformēšanas es atklāju, ka 3D drukāšana ir ļoti dārga, tāpēc vispirms es tikai salaboju servo, pēc tam parasto slaidu skapi pieslēdzu savam servo, izmantojot metāla plāksni, un pārklāju lai gan tas darbojas labi, tas ir mazāk drošs.
Ja vēlaties lielāku drošību, tad jums ir jāizdrukā 3D durvju bloķēšanas modelis, kas iekšēji darbojas ar šo servo. Vajadzīgos STL failus var lejupielādēt no zemāk esošās saites un 3D izdrukāt, ja jums ir piekļuve 3D printerim.
Lejupielādējiet STL failus 3D drukāšanai
Dizaina faili ir parādīti arī zemāk esošajā attēlā.
Projekta sākumā, brīdī, kad to ieslēdzam pirmo reizi, mums jāpiešķir projekta nosaukums (jūs varat parādīt arī uzņēmuma nosaukumu), lai tas izskatās gudrs un ekskluzīvs kā komerciāla ierīce (kā jūs varat redzēt attēlu zemāk).
Ar 3 sekunžu kavēšanos ātri nofiksējiet durvis un tieši pārbaudiet durvju bloķēšanas stāvokļa displeju, kā parādīts zemāk redzamajā attēlā.
Kad jūs manuāli bloķējat durvis, nospiežot taustiņu “#”, vispirms tiek parādīts, ka durvis ir aizvērtas uz 1 sekundi, un pēc tam tiek parādītas Enter Password. No otras puses, kad durvis tiek atbloķētas, ievadot pareizo paroli, tas parāda, ka durvis ir atvērtas.
Ja durvis paliek atbloķēšanas stāvoklī, tās tiek parādītas - Durvis ir atvērtas, kamēr jūs manuāli bloķējat durvis atbilstoši kodējumam. Esmu devis kodu, un jūs varat pielāgot iestatījumus, pēc nepieciešamības mainot koda attēlošanas parametru. Varat arī pārbaudīt visu darbu ar videoklipu, kas ir saistīts ar šīs lapas apakšdaļu.