Elektrooniline lukk Arduino Unole. DIY elektrooniline lukk

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

  • Lukustusmehhanism. Kasutab ukse AVAMINE ja SULETAMINE. See projekt uurib kolme erineva mehhanismi kasutamist:
    • Servo. On suuri, on väikseid. Väga kompaktne ja koos raske lukuga – suurepärane võimalus
    • Elektriauto ukselukk. See on suur ja võimas asi, aga kulutab meeletuid hoovusi.
    • Solenoidi riiv. Hea variant, sest see sulgub ise

    Püsivara sätetes saate valida mis tahes kolmest tüübist (säte luku_tüüp)

  • Nupp sees. Kasutab 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. Kasutatakse nii ukse SULGEMISEKS kui ka ÄRATAMISEKS energia säästmiseks. Võib asetada ukse käepidemele (peopesa või sõrme pool), uksele endale või lengile
  • Otsakork ukse sulgemiseks. Kasutab luku automaatset sulgemist, kui uks on suletud. See võib olla:
    • Taktinupp
    • Saaliandur + magnet uksel endal
    • Roolü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 ümbrises peidus
  • Valgusdiood operatsiooni näitamiseks. RGB LED, punane ja rohelised värvid(segamisel saadakse kollane):
    • Roheline tuli põleb – lukk on AVATUD. Põleb, et te ei unustaks ust sulgeda
    • Kollane põleb – süsteem on ärganud ja ootab parooli sisestamist
    • Vilkuv punane – aku on tühi

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

  • Eemaldame piirlüliti. Püsivaras seadetes keelame selle ka (seadistus saba_nupp). Nüüd tuleb luku sulgemiseks vajutada nuppu.
  • Eemaldage väline nupp. Püsivaras seadetes keelame selle ka (seadistus äratusnupp). Nüüd pole süsteemi vaja äratada, see ärkab ise (energiakulu veidi suurem). Ja nüüd pole meil ukse esiküljel sulgemisnuppu ja vajame piirlülitit. Või on lukk riiv
  • Eemaldage sisemine nupp. 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 oma vajaduste järgi ümber kirjutada
  • Uks suletud, vajutage VÄLJAS – ärka üles, oodake parooli/RFID sildi/elektroonilise võtme/sõrmejälje sisestamist
  • Uks on suletud, süsteem on ärkvel ja ootab parooli sisestamist. Kellaaega saab reguleerida (seadistus uneaeg)
  • Uks on suletud, parool/silt/võti vms sisestatud. - avatud
  • Uks on suletud, vajutage SISSE – avage
  • Uks on avatud, vajutage VÄLJAS - sulgege
  • Uks on avatud, vajutage SISSE – sulgege
  • Uks on avatud, LIMIT on vajutatud - sulgege

Lukk on ette nähtud töötama akutoitel madala energiasäästurežiimis (lubage keela: seadistus sleep_enable), nimelt:

  • Ärka iga paari sekundi tagant, jälgi 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
    • Kui vajutate nuppu, vilgub punane LED
    • lõpetage SÜNDMUSE jälgimine (st parooli sisestamine/silt jne)

Kui süsteem ei maga, vajutage parooli muutmise nuppu (peidetud nupp). Me leiame end sisse parooli muutmise režiim:
Sisestage numbritest koosnev parool ( MAKSIMAALNE 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, vana parool jääb alles

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

  • Parooli töötlemine toimub nii, et õiget parooli loetakse ainult sisestamisel õige järjestus numbreid, st kui parool on 345, siis võite sisestada suvalisi numbreid, kuni ilmub jada 345, st. 30984570345 avab luku, sest see lõpeb numbriga 345.
  • Kui parool on õigesti sisestatud, 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 salajase parooli muutmise nuppu, väljute sellest ka

Edusammud ei seisa paigal ja “Nutilukud” ilmuvad üha enam korterite, garaažide ja majade ustele.

Sarnane lukk avaneb, kui vajutate nutitelefoni nuppu. Õnneks on nutitelefonid ja tahvelarvutid juba meie igapäevaellu sisenenud. Mõnel juhul ühendatakse nutikad lukud pilveteenustega (nt Google Drive) ja avatakse eemalt. Lisaks võimaldab see valik anda juurdepääsu ukse avamisele teistele inimestele.

Selle projektiga rakendatakse Arduino nutika luku isetegemise versiooni, mida saab kaugjuhtida kõikjalt maailmast.

Lisaks on projektiga lisatud võimalus pärast sõrmejälje tuvastamist lukk avada. Selleks integreeritakse sõrmejäljeandur. Mõlemad ukseavamisvõimalused saavad toite Adafruit IO platvormilt.

Selline lukk võib olla suurepärane esimene samm teie nutika kodu projektis.

Sõrmejäljeanduri seadistamine

Sõrmejäljeanduriga töötamiseks on Arduino jaoks suurepärane raamatukogu, mis lihtsustab oluliselt anduri seadistamise protsessi. See projekt kasutab Arduino Unot. Interneti-ühenduse loomiseks kasutatakse Adafruit CC3000 plaati.

Alustame toite ühendamisest:

  • Ühendage Arduino plaadi 5 V tihvt punase toiteliistuga;
  • Arduino GND-tihvt ühendub jootevaba trükkplaadi sinise siiniga.

Liigume edasi sõrmejäljeanduri ühendamise juurde:

  • Esmalt ühendage toide. Selleks ühendatakse punane juhe +5 V siiniga ja must juhe GND siiniga;
  • Anduri valge juhe ühendub Arduino kontaktiga 4.
  • Roheline juhe läheb mikrokontrolleri kontakti 3.

Liigume nüüd edasi CC3000 mooduli juurde:

  • Ühendame CC3000 plaadi IRQ viigu Arduino viiguga 2.
  • VBAT – viigule 5.
  • CS – tihvti 10 juurde.
  • Pärast seda peate ühendama SPI tihvtid Arduinoga: MOSI, MISO ja CLK - vastavalt tihvtide 11, 12 ja 13 külge.

Noh, lõpuks peate varustama toidet: Vin - Arduino 5V-le (teie trükkplaadi punane rööp) ja GND-le GND (sinine rööp leivaplaadil).

Allpool on näidatud foto täielikult kokkupandud projektist:

Enne visandi väljatöötamist, mis laadib andmed Adafruit IO-sse, peate andurile edastama andmed oma sõrmejälje kohta. Vastasel juhul ei tunne ta sind edaspidi ära;). Soovitame kalibreerida sõrmejäljeanduri Arduino abil eraldi. Kui töötate selle anduriga esimest korda, soovitame teil tutvuda kalibreerimisprotsessi ja üksikasjalike juhistega sõrmejäljeanduriga töötamiseks.

Kui te pole seda veel teinud, looge Adafruit IO-s konto.

Pärast seda saame liikuda Arduino nutika luku arendamise järgmise etapi juurde: nimelt visandi väljatöötamine, mis edastab andmed Adafruit IO-le. Kuna programm on üsna mahukas, tõstame selles artiklis esile ja käsitleme ainult selle põhiosi ning seejärel anname lingi GitHubile, kust saate kogu visandi alla laadida.

Sketš algab kõigi vajalike teekide laadimisega:

#kaasa

#kaasa

#kaasa

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#kaasa

#kaasa >

Pärast seda peate visandit veidi parandama, sisestades oma WiFi-võrgu parameetrid, määrates SSID ja parooli:

#define WLAN_SECURITY WLAN_SEC_WPA2>

Lisaks peate oma Adafruit IO kontole sisselogimiseks sisestama oma nime ja AIO võtme:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Järgmised read vastutavad sõrmejäljeanduri andmete suhtlemise ja töötlemise eest. Kui andur oli aktiveeritud (sõrmejälg sobis), kuvatakse "1":

const char FINGERPRINT_FEED PROGMEM = AIO_KASUTANIMI "/kanalid/sõrmejälg";

Adafruit_MQTT_Avalda sõrmejälg = Adafruit_MQTT_Publish(&mqtt, SÕRUPRINT_FEED);

Lisaks peame oma anduri jaoks looma SoftwareSerial objekti eksemplari:

TarkvaraSerial mySerial(3, 4);

Pärast seda saame luua oma anduri jaoks objekti:

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

Visandi sees näitame, milline sõrmeID peaks luku edaspidi aktiveerima. Selles näites on kasutatud 0, mis vastab anduri kasutatud esimese sõrmejälje ID-le:

int sõrme ID = 0;

Pärast seda käivitame loenduri ja viivitame oma projektiga. Põhimõtteliselt tahame, et lukk lukustuks pärast avamist automaatselt. See näide kasutab 10-sekundilist viivitust, kuid saate seda väärtust vastavalt oma vajadustele kohandada.

int activationCounter = 0;

int lastActivation = 0;

int aktiveerimise aeg = 10 * 1000;

Funktsiooni setup() põhiosas initsialiseerime sõrmejäljeanduri ja tagame, et CC3000 kiip on ühendatud teie WiFi-võrguga.

Funktsiooni loop() kehas ühendame end Adafruit IO-ga. Selle eest vastutab järgmine rida:

Pärast Adafruit IO platvormiga ühenduse loomist kontrollime viimast sõrmejälge. Kui see sobib ja lukk pole aktiveeritud, saadame Adafruit IO-le töötlemiseks numbri "1":

if (sõrmejälje ID == sõrme ID && lukustatus == vale) (

Serial.println(F("Juurdepääs antud!"));

lockState = tõene;

Serial.println(F("Ebaõnnestus"));

Serial.println(F("OK!"));

lastActivation = millis();

Kui funktsiooni loop() sees on lukk aktiveeritud ja oleme saavutanud ülaltoodud viivituse väärtuse, saadame "0":

if ((activationCounter - lastActivation > activationTime) && lockState == true) (

lockState = vale;

kui (! sõrmejälg.avalda(riik)) (

Serial.println(F("Ebaõnnestus"));

Serial.println(F("OK!"));

Koodi uusima versiooni saate alla laadida GitHubist.

On aeg meie projekti testida! Ärge unustage alla laadida ja installida kõiki Arduino jaoks vajalikke teeke!

Veenduge, et olete visandis kõik vajalikud muudatused teinud, ja laadige see üles oma Arduinosse. Pärast seda avage aken Serial Monitor.

Kui Arduino loob ühenduse WiFi võrgud, vilgub sõrmejäljeandur punaselt. Asetage sõrm andurile. ID-number tuleks kuvada seeriamonitori aknas. Kui see sobib, ilmub teade "OK!". See tähendab, et andmed on saadetud Adafruit IO serveritesse.

Skeem ja eskiis luku edasiseks seadistamiseks LED-i näitel

Liigume nüüd edasi projekti selle osa juurde, mis otseselt vastutab ukseluku juhtimise eest. Traadita võrguga ühenduse loomiseks ja luku aktiveerimiseks/deaktiveerimiseks vajate täiendavat Adafruit ESP8266 moodulit (moodul ESP8266 ei pea olema Adafruitilt). Alloleva näite abil saate hinnata, kui lihtne on andmete vahetamine kahe platvormi (Arduino ja ESP8266) vahel, kasutades Adafruit IO-d.

Selles jaotises me lukuga otse ei tööta. Selle asemel ühendame LED-i lihtsalt tihvtiga, kuhu lukk hiljem ühendatakse. See annab meile võimaluse testida oma koodi ilma lukukujunduse üksikasjadesse süvenemata.

Skeem on üsna lihtne: esmalt paigaldage ESP8266 leivaplaadile. Pärast seda paigaldage LED. Ärge unustage, et LED-i pikk (positiivne) jalg on ühendatud takisti kaudu. Takisti teine ​​jalg on ühendatud ESP8266 mooduli kontaktiga 5. Ühendame LED-i teise (katoodi) ESP8266 GND kontaktiga.

Täielikult kokkupandud vooluring näidatud alloleval fotol.


Vaatame nüüd visandit, mida selle projekti jaoks kasutame. Jällegi on kood üsna suur ja keeruline, seega vaatleme ainult selle põhiosi:

Alustame vajalike teekide ühendamisest:

#kaasa

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

WiFi seadete konfigureerimine:

#define WLAN_SSID "teie_wifi_ssid"

#define WLAN_PASS "teie_wifi_parool"

#define WLAN_SECURITY WLAN_SEC_WPA2

Samuti konfigureerime Adafruit IO parameetreid. Sama, mis eelmises jaotises:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Näitame, millise tihvti külge me LED-i ühendasime (tulevikus on see meie lukk või relee):

int relayPin = 5;

Koostoime sõrmejäljeanduriga, nagu eelmises jaotises:

const char LOCK_FEED PROGMEM = AIO_KASUTAJANIMI "/feeds/lock";

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

Funktsiooni setup() põhiosas näitame, et tihvt, millega LED on ühendatud, peaks töötama režiimis OUTPUT:

pinMode(releePin, OUTPUT);

Loop() tsüklis kontrollime esmalt, kas oleme ühendatud Adafruit IO-ga:

Pärast seda kontrollime, millist signaali vastu võetakse. Kui edastatakse "1", aktiveerime varem deklareeritud viigu, millega meie LED on ühendatud. Kui saame "0", viime kontakti "madalasse" olekusse:

Adafruit_MQTT_Telli *tellimus;

while ((tellimus = mqtt.readSubscription(1000))) (

if (tellimus == &lukk) (

Serial.print(F("Sain: "));

Serial.println((char *)lock.lastread);

// Salvestage käsk stringiandmetesse

String käsk = String((char *)lock.lastread);

if (käsk == "0") (

digitalWrite(relayPin, LOW);

if (käsk == "1") (

digitalWrite(relayPin, HIGH);

Otsi Uusim versioon Visandi leiate GitHubist.

On aeg meie projekti testida. Ärge unustage alla laadida kõiki oma Arduino jaoks vajalikke teeke ja kontrollida, kas olete visandis teinud õiged muudatused.

ESP8266 kiibi programmeerimiseks saate kasutada lihtsat USB-FTDI muundurit.

Laadige eskiis Arduinosse ja avage Serial Monitor aken. Selles etapis kontrollisime lihtsalt, kas saime Adafruit IO-ga ühenduse luua: vaatame saadaolevaid funktsioone edasi.

Projekti testimine

Nüüd alustame testimist! Avage oma Adafruit IO kasutajamenüü menüü Vood all. Kontrollige, kas sõrmejälje- ja lukukanalid on loodud või mitte (alloleval prindiekraanil on need sõrmejälje- ja lukujooned):


Kui neid pole, peate need käsitsi looma.

Nüüd peame tagama andmevahetuse sõrmejälje- ja lukukanalite vahel. Lukustuskanal peab võtma väärtuse "1", kui sõrmejäljekanal võtab väärtuse "1" ja vastupidi.

Selleks kasutame väga võimsat Adafruit IO tööriista: trigerid. Päästikud on sisuliselt tingimused, mida saate konfigureeritud kanalitele rakendada. See tähendab, et neid saab kasutada kahe kanali ühendamiseks.

Looge Adafruit IO jaotisest Päästikud uus reaktiivne päästik. See annab võimaluse vahetada andmeid sõrmejäljeanduri ja lukustuskanalite vahel:


Nii peaks see välja nägema, kui mõlemad päästikud on konfigureeritud:

Kõik! Nüüd saame oma projekti testida! Paneme näpu andurile ja näeme, kuidas Arduino andmeedastusele vastava LED-iga pilgutama hakkas. Pärast seda peaks ESP8266 mooduli LED-tuli vilkuma. See tähendab, et see on alustanud andmete vastuvõtmist MQTT kaudu. Ka trükkplaadi LED peaks sel hetkel põlema.

Pärast visandis määratud viivitust (vaikimisi on 10 sekundit) LED kustub. Palju õnne! Saate juhtida LED-i oma sõrmejäljega kõikjal maailmas!

Elektroonilise luku seadistamine

Oleme jõudnud projekti viimase osani: elektroonilise luku otse ühendamine ja juhtimine Arduino ja sõrmejäljeanduri abil. Projekt pole lihtne, saate kasutada kõiki allikaid ülaltoodud kujul, kuid LED-i asemel ühendage relee.

Luku otse ühendamiseks vajate lisakomponente: 12 V toiteallikat, pistikupesa toite ühendamiseks, transistorit (selles näites kasutatakse IRLB8721PbF MOSFET-i, kuid võite kasutada ka teist, näiteks bipolaarset transistori TIP102 Kui kasutate bipolaarset transistori, peate lisama takisti.

Näidatud allpool elektriskeem kõigi komponentide ühendamine ESP8266 mooduliga:


Pange tähele, et kui kasutate MOSFET-transistori, ei vaja te ESP8266 mooduli viigu 5 ja transistori vahel takistit.

Täielikult kokkupandud projekt on näidatud alloleval fotol:


Toite moodul ESP8266 kasutades FTDI moodulit ja ühendage 12V toiteplokk pistikupessa. Kui kasutasite ühendamiseks ülalpool soovitatud tihvte, ei pea te visandis midagi muutma.

Nüüd saate panna sõrme andurile: lukk peaks töötama vastusena teie sõrmejäljele. Allolev video näitab automaatset nutika luku projekti töös:

Smart Lock projekti edasiarendus

Meie projekt on välja andnud ukseluku kaugjuhtimispuldi, kasutades sõrmejälge.

Katsetage, muutke visandit ja köitmist. Näiteks saate elektroonilise ukseluku asendada releega, et juhtida oma 3D-printeri, robotkäe või nelikkopteri võimsust...

Saate arendada oma "targa kodu". Näiteks kaugjuhtimisega aktiveerida Arduino kastmissüsteem või lülitada ruumis tuled põlema... Ära unusta, et Adafruit IO abil saad korraga aktiveerida peaaegu piiramatu arvu seadmeid.

Jäta oma kommentaarid, küsimused ja jaga isiklik kogemus allpool. Sageli sünnivad aruteludes uued ideed ja projektid!

YouTube'i kanali “AlexGyver” saatejuhil paluti oma kätega elektrooniline lukk valmistada. Tere tulemast videosarja arduino elektrooniliste lukkude kohta. IN üldine ülevaade meister selgitab ideed.

Elektroonilise lukusüsteemi loomiseks on mitu võimalust. Kõige sagedamini kasutatakse uste, sahtlite ja kappide lukustamiseks. Ja ka vahemälude ja salaseifide loomiseks. Seetõttu peate tegema paigutuse, millega on mugav töötada ja mis suudab selgelt ja üksikasjalikult näidata süsteemi ülesehitust seest ja väljast. Seega otsustasin teha uksega lengi. Selleks on vaja ruudukujulist tala 30 x 30. Vineer 10mm. Ukse hinged. Esialgu tahtsin teha vineerist kasti, aga tuli meelde, et tuba oli varuosi täis. Sellist kasti pole kuhugi panna. Seetõttu tehakse makett. Kui keegi soovib endale elektroonilist lukku paigaldada, siis paigutust vaadates võib kõike lihtsalt korrata.

Sellest Hiina poest leiate kõik vajaliku lossi jaoks.

Eesmärk on areneda nii palju kui võimalik tõhusad skeemid ja elektrooniliste lukkude püsivara. Saate neid tulemusi kasutada nende süsteemide paigaldamiseks oma ustele, sahtlitele, kappidele ja peidukohtadele.


Uks on valmis. Nüüd peame välja mõtlema, kuidas avada ja sulgeda elektrooniliselt. Nendel eesmärkidel sobib aliexpressi võimas solenoidriiv (link ülalolevale poele). Kui rakendate klemmidele pinget, avaneb see. Mähise takistus on peaaegu 12 oomi, mis tähendab, et 12-voldise pinge korral kulutab pool umbes 1 ampri. Selle ülesandega saavad hakkama nii liitiumaku kui ka võimendusmoodul. Reguleerige sobivale pingele. Kuigi natuke rohkem on võimalik. Lukk on kinnitatud ukse siseküljele eemalt, et see ei jääks servast kinni ja saaks kinni lüüa. Riivil peaks olema vaste metallkarbi kujul. Selle kasutamine ilma selleta on ebamugav ja vale. Peame installima astme, vähemalt selleks, et luua tavapärase töö mulje.

Tühikäigurežiimis avaneb riiv normaalselt, st kui uksel on käepide, rakendame impulssi ja avame ukse käepidemest. Kuid kui kasutate vedru, siis see meetod enam ei sobi. Võimendusmuundur ei suuda koormusega toime tulla. Vedruga ukse avamiseks peate kasutama suuremaid akusid ja võimsamat inverterit. Või kasutage võrgu toiteallikat ja unustage süsteemi autonoomia. Hiina kauplustes on suured riivid. Need sobivad sahtliteks. Toidet saab anda relee- või MOSFET-transistori või sama transistori toitelüliti abil. Huvitavam ja odavam variant on servoajam, mis on ühendatud ühendusvardaga mis tahes lukustuselemendiga - riivi või tõsisema poldiga. Võimalik, et vajate ka terasest kudumisvarda, mis toimiks ühendusvardana. Selline süsteem ei vaja suurt voolu. Kuid see võtab rohkem ruumi ja on kavalama juhtimisloogikaga.

Servosid on kahte tüüpi. Väikesed nõrgad ja suured võimsad, mida saab lihtsalt tõsistesse metalltihvtidesse aukudesse lükata. Mõlemad näidatud variandid töötavad nii uste kui ka sahtlid. Peate kasti kallal nokitsema, tehes sissetõmmatavasse seina augu.

Teine osa

Teisel päeval vaatasin filmi The Amazing Spider-Man ja ühes stseenis avab ja sulgeb Peter Parker kaugjuhtimisega oma sülearvuti ukse. Seda nähes sain kohe aru, et mul on ka sellist elektroonilist lukku vaja eesuks.

Pärast mõningast askeldamist panin kokku töötava nutika luku mudeli. Selles artiklis räägin teile, kuidas ma selle kokku panin.

1. samm: materjalide loend





Arduino elektroonilise luku kokkupanemiseks vajate järgmisi materjale:

Elektroonika:

  • 5V seinaadapter

Komponendid:

  • 6 lukuga kruvi
  • papp
  • juhtmed

Tööriistad:

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

2. samm: kuidas lukk töötab

Idee seisneb selles, et saan ukse avada või sulgeda ilma võtmeta ja isegi selle lähedale minemata. Kuid see on ainult põhiidee, sest saate lisada ka koputusanduri, et see reageeriks spetsiaalsele koputusele, või saate lisada hääletuvastussüsteemi!

Poldiga ühendatud servohoob sulgeb selle (0°) ja avab (60°) Bluetooth-mooduli kaudu saadud käskluste abil.

3. samm: juhtmestiku skeem


Ühendame esmalt servo Arduino plaadiga (pange tähele, et kuigi ma kasutasin Arduino Nano plaati, on Uno plaadil täpselt sama pinout).

  • Servo pruun juhe on maanduses, me ühendame selle Arduinol maandusega
  • punane juhe on pluss, ühendame selle Arduino 5V pistikuga
  • oranž juhe on servoajami allika kontakt, ühendage see Arduino viiguga 9

Soovitan teil enne kokkupanekuga jätkamist kontrollida servo tööd. Selleks valige 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 esmalt kõik oma koodid alla ja alles seejärel jootke ühendused.

Siin on mooduli ja mikrokontrolleri ühendusskeem:

  • Rx-moodul – Tx-plaat Arduino
  • Tx-moodul – Rx-plaat
  • Mooduli Vcc (positiivne terminal) on Arduino plaadi 3,3 V
  • Maandus on ühendatud maandusega (maandus maandusega)

Kui selgitus tundub teile ebaselge, järgige kaasasolevat elektriskeemi.

4. samm: testige

Nüüd, kui meil on kõik töötavad osad, vaatame, kas servo saab riivi liigutada. Enne riivi uksele paigaldamist koostasin prooviproovi, et veenduda, kas servo on piisavalt võimas. Alguses tundus mulle, et mu servo on nõrk ja lisasin riivile tilga õli, misjärel see töötas hästi. On väga oluline, et mehhanism hästi libiseb, vastasel juhul võite end oma tuppa lukustada.

5. samm: elektriline korpus



Otsustasin korpusesse panna ainult kontrolleri ja Bluetoothi ​​mooduli ning servo välja jätta. Selleks joonista papitükile Arduino Nano plaadi piirjoon ja lisa perimeetri ümber 1 cm ruumi ning lõika see välja. Pärast seda lõikasime välja ka veel viis keha külge. Peate kontrolleri toitejuhtme jaoks esiseina sisse lõikama augu.

Korpuse külje mõõtmed:

  • Alumine – 7,5x4 cm
  • Kate – 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 peate ühendama mooduli nutitelefoniga, nimi peaks olema linvor, parool peaks olema 0000 või 1234. Kui sidumine on loodud, avage installitud rakendus, minge valikutesse ja valige "Loo ühendus (ebaturvaline)." Nüüd on teie nutitelefon Arduino jadaliidese monitor, mis tähendab, et saate kontrolleriga andmeid vahetada.

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

7. samm: paigaldage riiv


Kõigepealt peate ühendama servo riiviga. Selleks peate ajami korpuse kinnitusavadest pistikud ära lõikama. Kui paneme servo alla, peaksid kinnitusavad olema poldiga samal tasapinnal. Seejärel peate asetama servo hoova riivi pessa, kus oli riivi käepide. Kontrollige, kuidas lukk kehas liigub. Kui kõik on korras, kinnitage servovars liimiga.

Nüüd peate puurima ukse kruvide jaoks juhtaugud. 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 uuesti servo tööd.

8. samm: toide


Seadme lõpuleviimiseks vajate Arduinoga ühendamiseks toiteallikat, juhet ja mini-usb-pistikut.
Ühendage toiteallika maanduskontakt usb minipordi maanduskontaktiga, ühendage punane juhe usb minipordi punase juhtmega, seejärel venitage juhe lukust kuni ukse hing ja venitage sellest väljalaskeavani.

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: lõpetatud Arduino-põhine lukk

Nautige oma lossi koos Pult, ja ärge unustage oma sõpru "kogemata" tuppa lukustada.

Juhtus nii, et tööl otsustasime oma uksele paigaldada koodluku, kuna jookseme pidevalt sisse - jookseme välja kontorist, mille uks peaks olema pidevalt suletud, kui seal viibijaid ei ole. Võtmed unustatakse sageli sisse. Üldiselt otsustasime, et kombinatsioonlukk on suurepärane lahendus.

Hiina kirbuturgudel ja ebayst tuhnides ei leidnud ma midagi odavat ja enam-vähem tõsist ning otsustasin ise teha. Ütlen kohe, et Arduino platvorm valiti selle lihtsuse tõttu, kuna mul polnud mikrokontrolleritega üldse kogemusi.

Idee

Uksel, ukse välisküljel, peaks olema klaviatuur, millele parool sisestatakse, koos seesülejäänud struktuur on fikseeritud. Pilliroo lülitit kasutatakse ukse täieliku sulgemise juhtimiseks. Kontorist lahkudes vajutab inimene klaviatuuril “*” ja, ootamata, kuni uks sulguriga sulgub, asub oma asju ajama, kui uks on täielikult suletud, sulgub pilliroo lüliti ja lukk suletakse . Uks avaneb, sisestades 4-kohalise parooli ja vajutades “#”.

Aksessuaarid

Arduino UNO = 18 dollarit
Arduino protoshield + leivalaud = 6 dollarit
L293D = 1 dollar
Traadipakk 30 tk Bradboardi jaoks = 4 dollarit
2 RJ45 pistikupesa = 4 dollarit
2 RJ45 pistikut = 0,5 dollarit
keskluku ajam = 250 hõõruda.
Pilliroo lüliti = vanast aknast vabalt rebitud.
Hiiglaslik metallist riiv = tasuta
Korpus vanast D-LINK rummust poolteist millimeetrist rauast = tasuta
Toide samast D-LINK jaoturist 12 ja 5 V jaoks = samuti tasuta
Hunnik kruvisid ja mutreid kogu selle kraami kere külge kinnitamiseks = 100 rubla.
Kaugjuhtimispult alates signalisatsioon= tasuta.

Kokku: 33,5 dollarit ja 350 hõõruda.

Mitte nii vähe, ütlete te, ja teil on kindlasti õigus, kuid naudingu eest peate maksma! Ja alati on tore midagi oma kätega kokku panna. Lisaks saab disaini kulusid oluliselt vähendada, kui kasutate paljast MK-d ilma Arduinota.

Ettevalmistus kokkupanekuks

Tahaksin öelda paar sõna täiturmehhanismi disaini võtmeelemendi ostmise kohta. Kohalik autopood pakkus mulle kahte tüüpi ajamid: "kahe juhtmega ja viiega." Müüjanna sõnul olid need täiesti identsed ja juhtmete arvu erinevus ei tähendanud absoluutselt mitte midagi. Kuid nagu hiljem selgus, pole see nii! Valisin kahe juhtmega seadme, sai 12V toite. Viie juhtmega konstruktsioonil on piirlülitid, mis kontrollivad kangi liikumist. Sain aru, et ostsin vale, alles siis, kui lahti võtsin ja oli juba hilja vahetada. Kangi käik osutus riivi õigeks tagasitõmbamiseks liiga lühikeseks, seetõttu oli vaja seda veidi muuta, nimelt eemaldada kaks kummist seibi, mis lühendasid täiturmehhanismi kangi käiku. Selleks tuli tavalise rauasaega kere pikuti saagida, sest teine ​​seib oli sees. Sinine elektrilint, nagu alati, aitas meid edaspidi selle tagasi kokkupanemisel.
Täiturmootori juhtimiseks kasutasime L293D mootoridraiverit, mis talub kuni 1200 mA tippkoormust, täiturmootori seiskamisel tõusis tippkoormus vaid 600 mA-ni.
Valvealarmi juhtpaneelilt eemaldati klaviatuuri, kõlari ja kahe LED-i kontaktid. Kaugjuhtimispult ja põhiseade pidi olema ühendatud keerdpaar- ja RJ45 pistikutega

Programmeerimine.

Seega polnud mul seni Arduino programmeerimise kogemust. Kasutasin teiste inimeste töid ja artikleid saidilt arduino.cc. Kõik huvilised võivad seda koledat koodi vaadata :)

Foto ja video



Arduino ja täiturmehhanism


jõuseade


Klaviatuur


Espagnolette (ühendatud täiturmehhanismiga metallist kodaraga ja kaetud termokahaneva ilu jaoks)

Video seadme tööprotsessist:

Seotud väljaanded