Arduino nano elektrooniline lukk. RFID-luku tegemine Arduino abil

Selles õppetükis õpime tegema lihtsat süsteemi, mis avab luku elektroonilise võtme abil (Label).

Tulevikus saate funktsioone täpsustada ja laiendada. Näiteks lisage funktsioon "uute võtmete lisamine ja mälust eemaldamine". Põhijuhul vaatleme lihtsat näidet, kui unikaalne võtmeidentifikaator on programmi koodis eelnevalt määratud.

Selles õpetuses vajame:

Projekti elluviimiseks peame installima raamatukogud:

2) Nüüd on vaja ühendada Summer, mis annab signaali, kui võti töötas ja lukk avaneb, ja teise signaali kui lukk sulgub.

Ühendame helisignaali järgmises järjestuses:

Arduino Sumiseja
5V VCC
GND GND
pin 5 IO

3) Avamismehhanismina kasutatakse servot. Valida saab mis tahes servo, olenevalt vajalikest mõõtmetest ja jõududest, mida servo tekitab. Servol on 3 kontakti:

Selgemalt näete alloleval pildil, kuidas me kõik moodulid ühendasime:

Nüüd, kui kõik on ühendatud, võite jätkata programmeerimist.

Sketš:

#kaasa #kaasa #kaasa // "RFID" teek. #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); allkirjastamata pikk uidDec, uidDecTemp; // sildi numbri salvestamiseks kümnendvormingus Servo servo; void setup() ( Serial.begin(9600); Serial.println("Ootan kaarti..."); SPI.begin(); // SPI initsialiseerimine / Init SPI siini. mfrc522.PCD_Init(); // lähtestamine MFRC522 / Init MFRC522 card.servo.attach(6); servo.write(0); // sea servo suletud olekusse ) void loop() ( // Otsi uut silti if (! mfrc522.PICC_IsNewCardPresent()) ( return; ) // Sildi valimine if (! mfrc522.PICC_ReadCardSerial()) ( return; ) uidDec = 0; // Sildi seerianumbri väljastamine (bait i = 0; i< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем звуковой сигнал, Открытие servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay(3000); // пауза 3 сек и механизм запирается. tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие } servo.write(0); // устанавливаем серву в закрытое сосотояние }

Analüüsime visandit üksikasjalikumalt:

Kaardi UID (Labels) väljaselgitamiseks tuleb see sketš arduinosse kirjutada, eelpool kirjeldatud vooluring kokku panna ja avada konsool (Serial porti jälgimine). Kui viite sildi RFID-i, kuvatakse konsoolis number

Saadud UID tuleb sisestada järgmisele reale:

Kui (uidDec == 3763966293) // Võrrelge sildi Uid-d, kui see on võrdne määratud, siis avab servo klapi.

Iga kaardi puhul on see identifikaator kordumatu ja ei kordu. Seega, kui esitate kaardi, mille ID olete programmis määranud, avab süsteem juurdepääsu servo abil.

Video:

Arduino on parim süsteem igasuguste seadmete kopeerimiseks. Enamik ideid poleks ilma temata võimalikud olnud. Selline idee on olnud juba ammu: luua arduinole spetsiaalne kombinatsioonlukk. Selle avamiseks peate teatud klahvi all hoidma. Sel juhul ei tohiks lukk avaneda, isegi kui tead õiget nuppu. Selle avamiseks peate lihasmälu abil hoidma teatud intervalle. Kurjategija ei saa midagi sellist teha. Kuid see kõik on vaid teooria.

Selle kokkupanemiseks peate kasutama spetsiaalset ristkülikukujuliste impulsside seadet, samuti mitut loendurit ja hunnikut. Kuid valmis seade oleks suurte mõõtmetega ja seda oleks ebamugav kasutada. Sellised mõtted reeglina puhkust ei anna. Esimene samm unistuse elluviimisel oli programmi loomine Arduino jaoks. See toimib kombinatsioonlukuna. Selle avamiseks peate vajutama mitte ühte klahvi, vaid mitut klahvi ja tegema seda korraga. Valmis ahel näeb välja selline:

Pildikvaliteet pole just kõige parem, aga ühendus toimub maandusega, D3, D5, D7, D9 ja D11.

Kood on esitatud allpool:

Const intina = 3; const int inb = 5; const int inc = 9; const int ledPin = 13; int i = 1000; bait a = 0; bait b = 0; bait c = 0; bait d = 0; märgita pikk aeg = 0; //ära unusta midagi, mis võtab väärtuse millis() unsigned long temp = 0; //salvestada märgita pika baidi võtmes = ( 0, 0, 0, 0, 0, 0, 0, 0); //koodid tegelikult baitklahv = ( 1, 1, 1, 1, 0, 1, 0, 0); baitklahvc = ( 1, 0, 1, 0, 1, 1, 1, 0); bait k = 0; void setup() ( pinMode(ina, INPUT_PULLUP); //3 nuppudega ühendatud sisendit pinMode(inb, INPUT_PULLUP); pinMode(inc, INPUT_PULLUP); pinMode(ledPin, OUTPUT); //sisseehitatud LED viigul 13 pinMode (7, OUTPUT); pinMode(11, OUTPUT); digitalWrite (7, LOW); //asendada maandus digitalWrite(11, LOW); aeg = millis(); //vajalik ajastus ) void blinktwice() ( // LED-i topeltvilkumine digitalWrite (ledPin, HIGH); viivitus (100); digitalWrite (ledPin, LOW); viivitus (100); digitalWrite (ledPin, HIGH); viivitus (100); digitalWrite (ledPin, LOW); viivitus ( 200); ) void loop() ( if(k==0) ( vilgub kaks korda(); // küsib koodi sisestamist ) if (k == 8) ( digitalWrite(ledPin, HIGH); viivitus(3000); k = 0 ; ) a = digitalRead(ina); //loe nuppudelt signaalitasemeid - vajutatud/ei vajutatud b = digitalRead(inb); c = digitalRead(inc); viivitus(100); //next if - kaitse valepositiivsed, if((digitalRead(ina) == a)&&(digitalRead(inb) ==b)&&(digitalRead(inc)==c)) ( if (a == keya[k]) ( if (b) == klahv[k]) ( kui (c == klahv[k]) ( k++; ) ) ) ) if (k==1) ( if (d ==0) ( aeg = millis (); d++; ) ) temp = millis(); temp = temp - aeg; if (temp > 10000) ( k= 0; d=0; aeg = millides (); ) )

Selleks, et vältida tarbetuid küsimusi koodi kohta, tuleks mõnda punkti selgitada. Portide määramiseks kasutatakse häälestusfunktsiooni. Järgmine funktsioon on Input_Pullup, mis on vajalik kontakti pinge suurendamiseks 5 V võrra. Seda tehakse takisti abil. Tänu sellele ei teki erinevaid lühiseid. Suurema mugavuse huvides on soovitatav kasutada kaks korda vilkuma funktsiooni. Üldiselt tuleb erinevate programmide loomisel proovida muid funktsioone.

Pärast funktsioonide määramist loetakse signaali portidest. Kui nuppu vajutatakse, tähistatakse seda numbriga 1 ja kui mitte - 2. Järgmisena analüüsitakse kõiki väärtusi. Näiteks on selline kombinatsioon nagu 0,1,1. See tähendab, et esimest klahvi vajutatakse ja ülejäänud kahte mitte. Kui kõik väärtused on tõesed, on ka tingimus 8 tõene. Sellest annab märku esipaneelil valgustatud LED. Järgmisena peate sisestama konkreetse koodi, mida kasutatakse ukse avamiseks.

Koodi viimaseid elemente kasutatakse loenduri väärtuste lähtestamiseks. See funktsioon käivitatakse, kui viimasest klahvivajutusest on möödunud rohkem kui 10 sekundit. Ilma selle koodita oli võimalik kõik võimalikud variandid välja sorteerida, kuigi neid on päris palju. Pärast selle seadme loomist peate seda testima. Rohkem

Vaatasin eile uuesti filmi The Amazing Spider-Man ja ühes stseenis avab ja sulgeb Peter Parker kaugjuhtimisega sülearvuti ukse. Seda nähes sain kohe aru, et sellist elektroonilist lukku on välisuksele vaja.

Peale väikest askeldamist panin kokku toimiva nutika luku mudeli. Selles artiklis räägin teile, kuidas ma selle kogusin.

1. samm: materjalide loend





Arduino elektroonilise luku kokkupanemiseks vajate järgmisi materjale:

Elektroonika:

  • 5V seinaadapter

Komponendid:

  • 6 kruvi riivi jaoks
  • papp
  • juhtmed

Tööriistad:

  • jootekolb
  • liimipüstol
  • puurida
  • puurida
  • pilootaugu puur
  • kirjatarvete nuga
  • Arduino IDE-ga arvuti

2. samm: kuidas lukk töötab

Idee on selles, et ma saan ukse avada või sulgeda ilma võtmeta ja isegi selle juurde minemata. Kuid see on ainult põhiidee, sest saate lisada koputusanduri, mis reageerib spetsiaalsele koputamisele, või saate lisada hääletuvastussüsteemi!

Poldiga ühendatud servohoob sulgeb (0°) ja avab (60°) poldi, kasutades Bluetooth-mooduli kaudu saadud käske.

3. samm: juhtmestiku skeem


Kõigepealt ühendame servo Arduino plaadiga (tahan märkida, et kuigi ma kasutan Arduino Nano plaati, on pinout täpselt sama Uno plaadil).

  • servo pruun juhe on maandatud, ühendame selle Arduinol maandusega
  • punane juhe on positiivne, ühendame selle Arduino 5 V pistikuga
  • oranž juhe - servoallika väljund, ühendage see Arduino viiguga 9

Soovitan teil enne kokkupanekuga jätkamist servot testida. Selleks vali Arduino IDE programmis näidetes valik Sweep. Olles veendunud, et servo töötab, saame Bluetooth-mooduli ühendada. Peate ühendama Bluetooth-mooduli rx-pistiku Arduino tx-pistikuga ja mooduli tx-pistiku Arduino rx-pistikuga. Aga ära tee seda veel! Kui need ühendused on joodetud, ei saa te Arduinosse ühtegi koodi üles laadida, seega laadige kõigepealt kõik koodid üles ja alles seejärel jootke ühendused.

Siin on mooduli ja mikrokontrolleri ühendusskeem:

  • Rx moodul - Tx Arduino plaat
  • Tx-moodul - Rx-plaat
  • Mooduli Vcc (positiivne klemm) - Arduino plaadi 3,3 V
  • Maaühendus maaga (maa-maa)

Kui selgitus pole teile selge, järgige kaasasolevat ühendusskeemi.

4. samm: testige

Nüüd, kui meil on kõik töötavad osad, veendume, et servo suudab riivi liigutada. Enne riivi uksele paigaldamist panin kokku prooviproovi, et veenduda, kas servo on piisavalt tugev. Alguses tundus mulle, et mu servo on nõrk ja lisasin riivile tilga õli, pärast töötas kõik hästi. On väga oluline, et mehhanism hästi libiseb, vastasel juhul võite end oma tuppa lukustada.

5. samm: elektrikomponentide korpus



Otsustasin korpusesse panna ainult kontrolleri ja Bluetoothi ​​mooduli ning servo välja jätta. Selleks tõmmake papitükile Arduino Nano plaadi piirjooned ja lisage perimeetri ümber 1 cm ruumi ja lõigake see välja. Peale seda lõikasime välja ka veel viis keha külge. Esiseinas peate lõikama kontrolleri toitejuhtme jaoks augu.

Korpuse külgede mõõdud:

  • Alumine - 7,5x4 cm
  • Kaas - 7,5x4 cm
  • Vasak külgsein - 7,5x4 cm
  • Parem külgsein - 7,5x4 cm
  • Esisein - 4x4 cm (koos pesaga toitejuhtme jaoks)
  • Tagasein - 4x4 cm

6. samm: rakendamine

Kontrolleri juhtimiseks vajate sisseehitatud Bluetoothiga Androidi või Windowsi vidinat. Mul ei olnud võimalust rakendust Apple'i seadmetes testida, võib-olla läheb vaja mõnda draiverit.

Olen kindel, et mõnel teist on võimalus seda kontrollida. Androidi jaoks laadige alla rakendus Bluetooth Terminal, Windowsi jaoks laadige alla TeraTerm. Seejärel tuleb moodul ühendada nutitelefoniga, nimi peaks olema linvor, parool 0000 või 1234. Kui sidumine on loodud, ava installitud rakendus, sisesta valikud ja vali "Loo ühendus (ebaturvaline)". Teie nutitelefon on nüüd Arduino jadamonitor, mis tähendab, et saate kontrolleriga suhelda.

Kui sisestate 0, sulgub uks ja nutitelefoni ekraanile kuvatakse teade "Uks suletud".
Kui sisestate 1, näete, et uks avaneb ja ekraanile ilmub teade "Uks avatud".
Windowsis on protsess sama, välja arvatud see, et peate installima rakenduse TeraTerm.

7. samm: kinnitage polt


Kõigepealt peate ühendama servo riiviga. Selleks lõigake ajami korpuse kinnitusavade pistikud ära. Kui paneme servo, peaksid kinnitusavad olema riiviga samal tasapinnal. Seejärel peate asetama servo hoova riivi pessa, kus oli riivi käepide. Kontrollige, kuidas lukk korpuses liigub. Kui kõik on korras, kinnita servohoob liimiga.

Nüüd peate kruvide jaoks puurima ukse sisse pilootaugud. Selleks kinnita riiv ukse külge ja märgi pliiatsiga ukselehele kruvide augud. Märgitud kohtadesse puurige kruvide jaoks umbes 2,5 cm sügavused augud Kinnitage riiv ja kinnitage see kruvidega. Kontrollige servot uuesti.

8. samm: toitumine


Seadme lõpuleviimiseks vajate Arduinoga ühendamiseks toiteallikat, juhet ja mini-usb-pistikut.
Ühendage toiteallika maandusklemm mini-usb-pordi maandusklemmiga, ühendage punane juhe mini-usb-pordi punase juhtmega, seejärel viige juhe lukust uksehingeni ja sealt edasi pistikupessa. .

9. samm: kood

#include Servo myservo; int pos = 0; int state; int lipp=0; void setup() ( myservo.attach(9); Serial.begin(9600); myservo.write(60); delay(1000); ) void loop() ( if(Serial.available() > 0) ( olek = Serial.read(); lipp=0; ) // kui olek on "0", lülitub alalisvoolumootor välja if (olek == "0") ( myservo.write(8); delay(1000); Serial. println("Uks lukus"); ) else if (olek == "1") ( myservo.write(55); delay(1000); Serial.println("Uks lukustamata"); ) )

10. samm: Arduino lukk on lõpetatud

Nautige kaugjuhtimispuldi lukku ja ärge unustage oma sõpru tuppa "kogemata" lukustada.

Tänane õppetund räägib sellest, kuidas RFID-lugeja abil koos Arduinoga luua lihtne lukustussüsteem ehk lihtsate sõnadega – RFID lukk.

RFID (Eng. Radio Frequency IDentification, raadiosagedustuvastus) on objektide automaatse tuvastamise meetod, mille käigus loetakse või kirjutatakse raadiosignaalide abil nn transpondritesse salvestatud andmed ehk RFID-märgised. Iga RFID-süsteem koosneb lugejast (lugeja, lugeja või päringuseade) ja transponderist (teise nimega RFID-märgis, mõnikord kasutatakse ka terminit RFID-märgis).

Õpetus kasutab RFID-märgendit koos Arduinoga. Seade loeb iga RFID-sildi unikaalset identifikaatorit (UID), mille me lugeja kõrvale asetame, ja kuvab selle OLED-ekraanil. Kui sildi UID on võrdne Arduino mällu salvestatud eelmääratletud väärtusega, näeme ekraanil teadet “Unlocked”. Kui unikaalne identifikaator ei ole võrdne eelmääratletud väärtusega, siis teadet "Unlocked" ei kuvata – vt allolevat fotot.

Loss on suletud

Loss on avatud

Selle projekti loomiseks vajalikud üksikasjad:

  • RFID-lugeja RC522
  • OLED ekraan
  • Leivalaud
  • juhtmed

Täiendavad üksikasjad:

  • Aku (toitepank)

Projekti komponentide kogumaksumus oli ligikaudu 15 dollarit.

2. samm: RFID-lugeja RC522

Igal RFID-sildil on väike kiip (fotol valge kaart). Kui suunate taskulambi sellele RFID-kaardile, näete väikest kiipi ja seda ümbritsevat mähist. Sellel kiibil pole voolu genereerimiseks akut. See saab lugejalt toidet juhtmevabalt, kasutades seda suurt mähist. Sellist RFID-kaarti on võimalik lugeda kuni 20 mm kauguselt.

Sama kiip on ka RFID-võtmehoidja siltides.

Igal RFID-sildil on unikaalne number, mis seda identifitseerib. See on UID, mis kuvatakse OLED-ekraanil. Iga silt, välja arvatud see UID, saab andmeid salvestada. Seda tüüpi kaart suudab salvestada kuni 1000 andmeid. Muljetavaldav, kas pole? Seda funktsiooni täna ei kasutata. Tänapäeval pakub huvi ainult konkreetse kaardi tuvastamine selle UID järgi. RFID-lugeja ja need kaks RFID-kaarti maksavad umbes 4 dollarit.

3. samm OLED-ekraan

Õpetus kasutab 0,96" 128x64 I2C OLED monitori.

See on Arduinoga kasutamiseks väga hea ekraan. See on OLED-ekraan ja see tähendab, et selle energiatarve on madal. Selle ekraani voolutarve on umbes 10-20mA ja see sõltub pikslite arvust.

Ekraani eraldusvõime on 128 x 64 pikslit ja see on väikese suurusega. Kuvamisvalikuid on kaks. Üks neist on ühevärviline ja teine, nagu õpetuses kasutatud, suudab kuvada kahte värvi: kollast ja sinist. Ekraani ülaosa saab olla ainult kollane ja alumine sinine.

See OLED-ekraan on väga hele ning sellel on suurepärane ja väga kena raamatukogu, mille Adafruit on selle ekraani jaoks välja töötanud. Lisaks sellele kasutab ekraan I2C liidest, nii et Arduinoga ühendamine on uskumatult lihtne.

Peate ühendama ainult kaks juhet, välja arvatud Vcc ja GND. Kui olete Arduino uus kasutaja ja soovite oma projektis kasutada odavat ja lihtsat kuvarit, alustage siit.

4. samm: ühendage kõik osad kokku

Arduino Uno tahvliga suhtlemine on väga lihtne. Esiteks ühendage toide nii lugeja kui ka kuvariga.

Olge ettevaatlik, RFID-lugeja peab olema ühendatud Arduino Uno 3,3 V väljundiga, muidu saab see kahjustada.

Kuna ekraan võib töötada ka 3,3 V pingega, siis ühendame mõlema mooduli VCC positiivse leivaplaadi siiniga. Seejärel ühendatakse see siin Arduino Uno 3,3 V väljundiga. Seejärel ühendame mõlemad maandused (GND) leivaplaadi maandussiiniga. Seejärel ühendame leivaplaadi GND siini Arduino GND-ga.

OLED-ekraan → Arduino

SCL → Analoogpin 5

SDA → Analoogpin 4

RFID-lugeja → Arduino

RST → digitaalne pin 9

IRQ → Pole ühendatud

MISO → digitaalne pin 12

MOSI → digitaalne pin 11

SCK → digitaalne kontakt 13

SDA → digitaalne pin 10

RFID-lugeja moodul kasutab Arduinoga suhtlemiseks SPI-liidest. Nii et me kasutame Arduino UNO riistvara SPI-tihvte.

RST-viik läheb digitaalviigule 9. IRQ-viik jääb lahti ühendatuks. MISO viik läheb digitaalviigule 12. MOSI viik läheb digitaalse viigu 11 juurde. SCK viik läheb digitaalse viigu 13 juurde ja lõpuks SDA viik digitaalse viigu 10 juurde. See on kõik.

RFID-lugeja on ühendatud. Nüüd peame ühendama OLED-ekraani I2C-liidese abil Arduinoga. Nii et ekraanil olev SCL-viik läheb analoogviigule 5 ja SDA ekraanil analoogviigule 4. Kui nüüd projekt sisse lülitada ja RFID-kaart lugeja kõrvale asetada, siis näeme, et projekt töötab hästi.

5. samm: projekti kood

Projekti koodi koostamiseks peame kaasama mõned teegid. Esiteks vajame MFRC522 Rfid teeki.

Selle installimiseks minge aadressile Sketch -> Include Libraries -> Halla raamatukogusid(Raamatukogude haldamine). Leidke MFRC522 ja installige see.

Samuti vajame kuvamiseks Adafruit SSD1306 teeki ja Adafruit GFX teeki.

Installige mõlemad teegid. Adafruit SSD1306 teek vajab veidi muutmist. Mine kausta Arduino -> raamatukogud, avage kaust Adafruit SSD1306 ja muutke teeki Adafruit_SSD1306.h. Kommenteerige rida 70 ja tühjendage rida 69, sest Ekraani eraldusvõime on 128x64.

Esiteks deklareerime RFID-märgise väärtuse, mille Arduino peaks ära tundma. See on täisarvude massiiv:

int kood = (69 141 8 136); // UID

Seejärel lähtestame RFID-lugeja ja kuvame:

Rfid.PCD_Init(); display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

Pärast seda kontrollime silmusfunktsioonis lugeja silti iga 100 ms järel.

Kui lugejal on silt, loeme selle UID-i ja trükime selle ekraanile. Seejärel võrdleme äsja loetud sildi UID-d koodimuutujasse salvestatud väärtusega. Kui väärtused on samad, kuvame sõnumi UNLOCK, vastasel juhul me seda teadet ei kuva.

If(match) ( Serial.println("\nMa tean seda kaarti!"); printUnlockMessage(); )else ( Serial.println("\nTundmatu kaart"); )

Muidugi saate seda koodi muuta, et salvestada rohkem kui 1 UID väärtus, et projekt tuvastaks rohkem RFID-silte. See on vaid näide.

Projekti kood:

#kaasa #kaasa #kaasa #kaasa #define OLED_RESET 4 Adafruit_SSD1306 ekraan(OLED_RESET); #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); // Klassi MFRC522::MIFARE_Key võti eksemplar; int kood = (69 141 8 136); //See on salvestatud UID int codeRead = 0; String uidString; void setup() ( Serial.begin(9600); SPI.begin(); // SPI siini käivitamine rfid.PCD_Init(); // Init MFRC522 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // lähtestage I2C adr 0x3D (128x64 jaoks) // Tühjendage buffer.display.clearDisplay(); display.display(); display.setTextColor(WHITE); // või MUST); display.setTextSize(2); display.setCursor(10,0); display.print("RFID-lukk"); display.display(); ) void loop() ( if(rfid.PICC_IsNewCardPresent()) ( readRFID(); ) delay(100); ) void readRFID() ( rfid.PICC_ReadCardSerial(); Serial.print(F("\nPICC tüüp: ") ); MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.println(rfid.PICC_GetTypeName(piccType)); // Kontrollige, kas PICC on klassikalise MIFARE tüübi puhul, kui (piccType) && piccType != MFRC522::PICC_TYPE_MIFARE_1K && piccType != MFRC522::PICC_TYPE_MIFARE_4K) ( Serial.println(F("Teie silt ei ole tüüpi MIFARE Classic.")); return; ) clearUID(n);". Skaneeritud PICC UID:"); printDec(rfid.uid.uidByte, rfid.uid.size); uidString = String(rfid.uid.uidByte)+" "+String(rfid.uid.uidByte)+" "+ String(rfid.uid.uidByte)+ " "+String(rfid.uid.uidByte); printUID(); int i = 0; tõeväärtus = tõene; while(i

6. samm: lõpptulemus

Nagu õppetunnist näha - väikese raha eest saab oma projektidesse lisada RFID-lugeja. Selle lugejaga saab hõlpsasti luua turvasüsteemi või luua näiteks huvitavamaid projekte, et USB-mälupulgalt andmeid loetaks alles peale luku avamist.

See projekt on modulaarne, st. saate ühendada / lahti ühendada erinevaid elemente ja saada erinevaid funktsioone. Ülaltoodud piltidel on kujutatud täieliku funktsionaalsusega varianti, nimelt:

  • lukustusmehhanism. Kasutatakse ukse AVAmiseks ja SULETAMISEKS. See projekt kaalub kolme erineva mehhanismi kasutamist:
    • Servo. On suuri, on väikseid. Väga kompaktne ja koos raske lukuga – suurepärane võimalus
    • Elektriauto ukselukk. Suur ja võimas asi, aga sööb lihtsalt meeletuid hoovusi
    • Solenoidi riiv. Hea variant, kuna sulgub ise

    Püsivara seadetes saate valida mis tahes kolmest tüübist (seade luku_tüüp)

  • Nupp sees. Kasutatakse ukse AVAMINE ja SULETAMINE seestpoolt. Võib asetada ukse käepidemele (peopesa või sõrme pool), uksele endale või lengile
  • Nupp väljas. Kasutab nii ukse SULETAMISEKS kui ka energiasäästust äratamiseks. Võib asetada ukse käepidemele (peopesa või sõrme pool), uksele endale või lengile
  • treiler ukse sulgemise eest. Kasutab luku automaatset sulgemist, kui uks on suletud. Need võivad olla:
    • Taktinupp
    • Saaliandur + magnet uksel endal
    • Pilliroo lüliti + magnet uksel endal
  • saladus juurdepääsu lähtestamise nupule. Kasutatakse parooli lähtestamiseks / uue parooli sisestamiseks / uue võtme / kombinatsiooni meeldejätmiseks jne. Võib olla kuskil kehas peidus
  • Valgusdiood operatsiooni näitamiseks. Kasutatakse RGB LED-i, punast ja rohelist värvi (segamisel saadakse kollane):
    • Roheline põleb – lukk on AVATUD. Põleb, et meeles pidada, et uks tuleb sulgeda
    • Põleb kollane – süsteem on ärkvel ja ootab parooli
    • Vilkuv punane – aku on tühi

Kõik need elemendid saab süsteemist välja jätta:

  • Eemaldame haagise. Seadetes olevas püsivaras lülitame selle ka välja (seadistus saba_nupp). Nüüd tuleb luku sulgemiseks vajutada nuppu
  • Eemaldage välimine nupp. Seadetes olevas püsivaras lülitame selle ka välja (seadistus äratusnupp). Nüüd pole süsteemi vaja äratada, see ärkab iseenesest (voolutarve veidi suurem). Samuti pole meil enam ukse esiküljel sulgemisnuppu ja me vajame piirlülitit. Kas loss on paganama
  • Eemaldame sisemise nupu. See valik sobib kappidele ja seifidele. Seadetes pole vaja midagi muuta.
  • Me eemaldame LED-i. Seadetes pole vaja midagi muuta.
  • Juurdepääsu lähtestamise nupu saab pärast esimest kasutuskorda lahti joota või koodi enda jaoks ümber kirjutada
  • Uks suletud, vajutatud VÄLJAS – ärka üles, oota parooli sisestamist/RFID-märget/elektroonilist võtit/sõrmejälge
  • Uks on suletud, süsteem on ärganud ja ootab parooli sisestamist. Kellaaega saab seadistada (seadistus uneaeg)
  • Uks suletud, parool/silt/võti sisestatud jne. - avatud
  • Uks kinni, SISSE vajutatud - lahti
  • Uks avatud, vajutatud VÄLJAS – kinni
  • Uks lahti, SISSE vajutatud – kinni
  • Uks on avatud, LIMIT lüliti on vajutatud - sulgege

Lukk on mõeldud töötama akutoitel vähese energiasäästurežiimis (Luba keelamine: seadistus sleep_enable), nimelt:

  • Ärka iga paari sekundi tagant, järgi SÜNDMUST (valikuline, kui väljas nuppu pole. Saate selle seadetes lubada äratusnupp)
  • Jälgige aku pinget iga paari minuti järel (sisse/välja seadistus akumonitor)
  • Kui aku on tühi (pinge on seatud seadistusse bat_low):
    • avage uks (valikuline, saab konfigureerida püsivaras open_bat_low)
    • keelata edasine avamine ja sulgemine
    • vilkuv punane LED nupu vajutamisel
    • lõpetage SÜNDMUSE jälgimine (st parooli sisestamine/silt jne)

Kui süsteem on ärkvel, vajutage parooli muutmise nuppu (peidetud nupp). Me langeme sisse parooli muutmise režiim:
Sisestage numbritest parool ( MAXIMUM 10 NUMBRIT!!!)

  • Kui vajutate *, kirjutatakse parool mällu ja süsteem väljub parooli muutmisest
  • Kui vajutate #, lähtestatakse parool (saate selle uuesti sisestada)
  • Kui te 10 sekundi jooksul midagi ei vajuta, väljume automaatselt parooli muutmise režiimist, parool jääb vanaks

Kui süsteem ei maga (ärkas nupuga või uni on keelatud), vajutage parooli sisestamise režiimi sisenemiseks *
Kui süsteem magab ja ärkab perioodiliselt üles, et SÜNDMUST kontrollida, siis vajutage * ja hoidke all, kuni süttib punane LED
Parooli sisestusrežiim:

  • Parooli töötlemine käib nii, et õiget parooli loetakse alles siis, kui on sisestatud õige numbrijada ehk kui parool on 345, siis saab sisestada suvalisi numbreid kuni jada 345 ilmumiseni, st. 30984570345 avab luku, kuna see lõpeb numbriga 345.
  • Kui parool on õige, avaneb uks
  • Kui te midagi ei vajuta, naaseb süsteem 10 sekundi pärast tavalisse (ooterežiimi) režiimi
  • Kui vajutate #, väljume kohe parooli sisestamise režiimist
  • Kui vajutate parooli sisestamise režiimis salasõna muutmiseks salanuppu, siis väljume ka sellest