Arduino kódzár SD kártyával. Automatikus "intelligens" zár és Arduino. A "Smart Castle" projekt továbbfejlesztése

Úgy döntöttünk, hogy úgy döntöttünk, hogy úgy döntöttünk, hogy egy kódzárat telepítünk az ajtónál a munkahelyen, mert folyamatosan futunk - elfogyunk az irodából, az ajtónak, amelyhez állandóan tartózkodunk lakó hiányában. A kulcsok gyakran elfelejtik őket. Általában úgy döntöttek, hogy a kódzár kiváló út volt.

Rumbáltam a kínai bolhapiacok és az eBay nem találtam semmit olcsóbb és többé-kevésbé komolyan, és úgy döntöttem, hogy saját kezemet készítem. Az ARDUINO Platformot azonnal fenntarthatom, hogy az ARDUINO Platformot az egyszerűségéhez választották, mivel a mikrokontrollerekkel való kommunikáció tapasztalata egyáltalán nem volt.

Ötlet

Az ajtón az ajtó külső oldalán van egy billentyűzet, amelyen a jelszó be van adva, a többi design belül van rögzítve. Az ajtó teljes lezárását Geron használják. A szekrényből való kilépés, egy személy megnyomja a "*" billentyűzetet, és várakozás nélkül, amíg az ajtó zárja, közelebb kerül a helyzetbe, amikor az ajtó teljesen zárva van, a Geron bezáródik, és a zár zárva lesz. Az ajtó megnyílik a 4x számjegyű jelszó megadásával, és a "# #" gombra kattint.

kiegészítők

Arduino Uno \u003d $ 18
Arduino Protoshield + Breadboard \u003d $ 6
L293D \u003d $ 1
Punch of vezetékek 30db a braddatrad \u003d $ 4
2 aljzat RJ45 \u003d $ 4
2 dugók RJ45 \u003d $ 0.5
Központi zárszerkezet \u003d 250 rubel.
Geron \u003d fagyasztás a régi ablaktól.
Varrás fém óriás méretek \u003d ingyenes
Eset egy régi hub D-link egy és fél millió vas \u003d szabad
Tápellátás ugyanabból a D-LINK HUB-ról 12 és 5V \u003d ingyenesen is
Egy csomó csavar és vödör rögzítéséhez mindez a jó a házhoz \u003d 100 rubel.
Vezérlőpult OT biztonsági riasztás \u003d szabad.

TELJES: $ 33.5 és 350 RUB.

Nem olyan kevés, azt fogja mondani, és biztosan igaza lesz, de az örömért kell fizetned! És mindig kedves vagy, hogy összegyűjtsünk valamit. Mielőtt a kialakítás lelassulhat, ha Arduino nélkül csupasz MK-t használ.

Szerelés előkészítése

Néhány szót szeretnék mondani az aktuátor kialakításának kulcsfontosságú eleméről. A helyi automatikus áruházban kétféle működtetők voltak: "két huzal és öt". Az üzletasszony szerint teljesen ugyanaz volt, és a huzalok számának különbsége nem jelentett semmit sem. Azonban, ahogy később kiderült, ez nem így van! Két vezetékkel rendelkező eszközt választottam, 12V-ot tápláltam. A formatervezés öt vezetékkel van felszerelve, a végálláskapcsolók telepítve vannak, ami lehetővé teszi, hogy szabályozza a kar mozgását. Rájöttem, hogy nem vettem meg csak akkor, ha szétszereltem őt, és későn változtattam. A kar folyamata túl rövid ahhoz, hogy normálisan nyomja meg a szalagot, így szükség volt egy kicsit módosítására, nevezetesen, távolítsa el a két gumi alátétet, amely lerövidíti a működtető karot. Ehhez a testnek meg kellett vágnia a szokásos hacksaw mentén, mert a második alátét belsejében volt. Kék szalag minket, amint mindig segített nekünk a jövőben, amikor visszaállt.
Ahhoz, hogy ellenőrizzék a motor motor, a L293D motorok használtuk, amely ellenáll a csúcsterhelés akár 1200 mA, ha a motor leállítása a működtető, a csúcsterhelés nőtt fel, hogy 600 mA.
A billentyűzet, a dinamika és a két LED-ek vezérléseit eltávolítottuk a vezérlő riasztás vezérlőpultjából. A konzol és a főeszközt egy csavart érpár és RJ45 csatlakozók segítségével kellett csatlakoztatni

Programozás.

Tehát, mint Arduino programozási tapasztalat, amit eddig nem voltam. Kihasználtam más emberek munkáját és cikkeit az Arduino.cc webhelyről. Ki érdekli, megnézheti ezt a csúnya kódot :)

Fotó és videó



Arduino és működtető


Tápegység


Billentyűzet


Sewingale (csatlakoztatva a működtetőhöz egy fém tűvel, és amelyen a hő zsugorodik a szépséghez)

A készülék video működése:

A haladás nem áll fenn, és az "intelligens kastélyok" egyre inkább megjelennek az apartmanok, garázsok és házak ajtaján.

Hasonló zár megnyílik, ha megnyomja az okostelefon gombját. Szerencsére az okostelefonok és a tabletták már beírták a használatunkat. Bizonyos esetekben az "intelligens zárak" kapcsolódnak a "Cloud Services" -hez, mint egy Google Disk és távolról. Ezenkívül ez az opció lehetővé teszi, hogy hozzáférést biztosítson az ajtó kinyitásához más embereknek.

Ezt a projektet az Arduino intelligens zár DIY verziója hajtja végre, amelyet távolról lehet kezelni a talaj bármely pontjáról.

Ezenkívül a projekt az ujjlenyomat-azonosítás után hozzáadta a zár megnyitását. Ehhez az ujjlenyomat-érzékelő integrálódik. Az ajtók megnyitása az AdAfruit IO platform alapján működik.

Egy hasonló kastély kiváló első lépés lehet az intelligens otthoni projektben.

Az ujjlenyomat-érzékelő beállítása

Az ujjlenyomat-érzékelővel való együttműködés kiváló könyvtár van az Arduino számára, amely nagymértékben megkönnyíti az érzékelő beállítását. Az ARDUINO UNO-t használják ebben a projektben. Az Adafruit CC3000 az internethez való csatlakozáshoz használható.

Elkezdjük összekapcsolni a hatalmat:

  • Csatlakoztassa az 5V érintkezőt az Arduino kártyáról a piros sínre;
  • A GND érintkező Arduino-val összeköti a kék sínhez egy egyetemes áramköri tábla.

Ugrás az ujjlenyomat-érzékelő csatlakoztatásához:

  • Először csatlakoztassa a teljesítményt. Ehhez a piros vezeték csatlakozik a sín +5 V, a fekete - a vasúti GND-vel;
  • A fehér érzékelővezeték 4-re kapcsolódik az Arduino-hoz.
  • A zöld huzal a 3 mikrokontrollerrel érintkezik.

Most foglalkozunk a CC3000 modulral:

  • Kapcsolat IRQ a CC3000 kártyákhoz Csatlakoztassa az Arduino csapjához.
  • VBAT - kapcsolatba lépni 5.
  • CS - a 10-es kapcsolatba.
  • Ezután az SPI kapcsolatokat az Arduino-hoz kell csatlakoztatnia: MOSI, MISO és CLK a 11., 12. és 13. Kapcsolatokhoz.

Nos, a végén meg kell, hogy étkezés: Vin - a Arduino 5V (piros sín a szerelési board), és GND GND (kék sínen laype).

A teljesen összeszerelt projekt fotója az alábbiakban látható:

A vázlat fejlesztése előtt, amely betölti az AdAfruit IO-t, az ujjlenyomat-érzékelőre vonatkozó adatokat kell átvinnie. Ellenkező esetben a jövőben nem ismeri fel Önt;). Javasoljuk, hogy az ujjlenyomat-érzékelő kalibráljuk az Arduino-t külön-külön. Ha először dolgozik ezzel az érzékelővel, javasoljuk, hogy olvassa el a kalibrálási folyamatot és az ujjlenyomat-érzékelővel való használatra vonatkozó részletes utasításokat.

Ha még nem tette meg, akkor az AdAfruit Io fiókot indít.

Ezt követően folytathatjuk az Arduino "intelligens zár" kifejlesztésének következő szakaszát: nevezetesen a vázlat fejlesztése, amely az AdAfruit Io-ra vonatkozó adatokat továbbítja. Mivel a program nagyon terjedelmes, a cikkben kiemeljük és csak a fő részeit vizsgáljuk, majd adjunk egy linket a Github-ra, ahol teljes vázlatot tölthet le.

A kikapcsolás az összes szükséges könyvtár betöltésével kezdődik:

#Inlude.

#Inlude.

#Inlude.

#Bruit_mqtth "

#A "adafruruit_mqtt_cc3000.h"

#Inlude.

#Inlude. >

Ezt követően helyesen kell javítania a vázlatot, be kell illesztenie a WiFi hálózat paramétereit, az SSID és a jelszó megadása (jelszó):

#Define wlan_security wlan_sec_wpa2\u003e

Ezenkívül meg kell adnia a nevet és az AIO kulcsot (kulcs) az AdAfruti Io fiók megadásához:

#Define Aio_Serverport 1883.

#Define aio_username "adafritic"

#Define AIO_KEY "Adafruit_io_Key"\u003e

A következő sorok felelősek az ujjlenyomat-érzékelő kölcsönhatásáért és adatfeldolgozásáért. Ha az érzékelő aktiválva van (az egybeesett) lenyűgöző) "1" lesz:

const char ujjlenyomat_feed progmem \u003d aio_username "/ feeds / ujjlenyomat";

Adafruit_mqtt_publish ujjlenyomat \u003d adafruruit_mqtt_publish (& mqtt, ujjlenyomat_feed);

Ezenkívül meg kell teremtenie a SoftwareSerial objektum példányát az érzékelőnk számára:

SoftwareSerial myserial (3, 4);

Ezt követően létrehozhatunk egy objektumot az érzékelőnk számára:

Adafruruit_fingerprint ujj \u003d adafruruit_fingeryprint (& myserial);

A vázlat belsejében megadjuk, hogy melyik fingeridnek aktiválnia kell a zárat a jövőben. Ez a példa 0-at használ, amely megfelel az első ujjlenyomat-azonosítónak, amelyet az érzékelő használ:

int fingerid \u003d 0;

Ezt követően inicializálja a pult és késleltetés (késleltetés) a projektünkben. Lényegében azt szeretnénk, ha a zárat automatikusan megnyitja. Ez a példa 10 másodperces késleltetést használ, de ezt az értéket saját igényeihez igazíthatja:

int activationcounter \u003d 0;

iNT Lastactiváció \u003d 0;

int aktiválási idő \u003d 10 * 1000;

A Setup () funkció testében inicializáljuk az ujjlenyomat-érzékelőt, és biztosítjuk a CC3000 chip csatlakozását a WiFi hálózathoz.

A hurok () funkcióban csatlakozhat az AdAfruit Io-hoz. A következő sor felelős:

Miután csatlakozott az AdAfruit io platformhoz, ellenőrizze az utolsó ujjlenyomatot. Ha egybeesik, és a zár nincs aktiválva, küldünk "1" -t az Adafruit io feldolgozásához:

ha (ujjlenyomat \u003d\u003d fingerid && lockstate \u003d\u003d FALSE) (

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

lOCKSTATE \u003d TRUE;

Serial.println (f ("sikertelen"));

Serial.println (f ("ok!"));

lastActivation \u003d Millis ();

Ha a hurok () függvényen belül a zár aktiválva van, és elértük a késleltetési értéket, amelyet fentebb említettük, "0" üzenetet küldött:

ha ((ActivationCounter - Lastactivation\u003e ActivationTime) && lockstate \u003d\u003d true) (

lOCKSTATE \u003d FALSE;

ha (! ujjlenyomat.publish (állam)) (

Serial.println (f ("sikertelen"));

Serial.println (f ("ok!"));

A kód legújabb verzióját letöltheti a githubon.

Itt az ideje, hogy teszteljük a projektünket! Ne felejtse el letölteni és telepíteni az Arduino összes szükséges könyvtárát!

Győződjön meg róla, hogy az összes szükséges módosítást elvégezte a vázlatot, és letölti az Arduino-hoz. Ezt követően nyissa meg a soros monitor ablakot.

Amikor Arduino csatlakozik a WiFi hálózathoz, az ujjlenyomat-érzékelő pirosan villog. Legend az ujját az érzékelőnek. A soros monitor ablaknak meg kell felelnie az azonosító számnak. Ha egybeesik, megjelenik az üzenet, "OK!". Ez azt jelenti, hogy az adatokat az AdAfruit IO kiszolgálóknak küldték.

Rendszer és vázlat a LED példájának további zárolásához

Most foglalkozunk a projekt részével, amely közvetlenül felelős az ajtózár irányításáért. A vezeték nélküli hálózathoz való csatlakozáshoz és a zár aktiválásához / kikapcsolásához szükség van egy opcionális Adafruti ESP8266 modulra (az ESP8266 modulnak nem kell adafruit-ből származnia). A példában, amelyet az alábbiakban figyelembe vesszük, akkor értékelni fogja, hogy mennyire könnyű biztosítani a két platform (Arduino és ESP8266) közötti adatcserét AdAfruit Io segítségével.

Ebben a részben nem fogunk közvetlenül a zárral működni. Ehelyett egyszerűen csatlakoztatjuk a LED-et a kontaktushoz, ahol a zárat a továbbiakban kapjuk. Ez lehetőséget ad a kódunk tesztelésére, anélkül, hogy elmélyülne a kastélytervezés jellemzőiben.

A rendszer meglehetősen egyszerű: először állítsa be az ESP8266-ot a kenyérlemezen. Ezt követően állítsa be a LED-et. Ne felejtsük el, hogy a LED hosszú (pozitív) lábát az ellenálláson keresztül csatlakoztatja. A második ellenállási láb az ESP8266 modulhoz kapcsolódik az 5. érintkezőhöz. A LED második (katód) csatlakozik az ESP8266 GND PIN-kódjához.

Teljesen gyűjtött rendszer Az alábbi képen látható.


Most tegyük ki egy vázlatot, amely ezt a projektet használja. Ismét a kód meglehetősen nagy és bonyolult, ezért csak a fő részeit vizsgáljuk:

A szükséges könyvtárak összekapcsolásával kezdődik:

#Inlude.

#Bruit_mqtth "

#Blude "adafruruit_mqtt_client.h"

WiFi konfigurálása:

#Define wlan_ssid "your_wifi_ssid"

#Define wlan_pass "your_wifi_pall"

#Define wlan_security wlan_sec_wpa2.

Állítsa be az AdAfruit Io paramétereit is. Csakúgy, mint az előző szakaszban:

#Define aio_server "io.adafruit.com"

#Define Aio_Serverport 1883.

#Define aio_username "Adafruit_io_" Felhasználó "

#Define aio_key "Adafruit_io_key"

Jelöljük, hogy melyik fenyő csatlakoztattuk a LED-et (a jövőben lesz a zár vagy relé):

int relaypin \u003d 5;

Interakció az ujjlenyomat-érzékelővel, mint az előző szakaszban:

cONSTRY LOCK_FEED PROGMEM \u003d AIO_USERNAME "/ FEEDS / LOCK";

Adafruit_mqtt_subscribe lock \u003d adafruruit_mqtt_subscribe (& mqtt, lock_feed);

A Setup () funkció testében megadjuk, hogy a LED csatlakoztatott csapot kimeneti módban kell működtetni:

pinmode (relaypin, kimenet);

A hurok () cikluson belül először ellenőrizze, hogy csatlakoztunk-e az adafruit io-hoz:

Ezt követően ellenőrizze, hogy melyik jel jön. Ha "1" kerül továbbításra, aktiválja azt a kapcsolatot, amelyet korábban bejelentettünk, amelyhez LED kapcsolódik. Ha megkaptuk a "0" -t, az "alacsony" állapotra fordulunk:

Adafruit_mqtt_subscribe * előfizetés;

míg ((előfizetés \u003d mqtt.readsubscription (1000))) (1000)) (

ha (előfizetés \u003d\u003d & Lock) (

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

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

// mentse a parancsot az adatok típusának adataihoz

String parancs \u003d string (char *) lock.LASTREAD);

ha (parancs \u003d\u003d "0") (

digitalwrite (relaypin, alacsony);

ha (parancs \u003d\u003d "1") (

digitalwrite (relaypin, magas);

Megtalálni utolsó verzió Vázlatot a githubon.

Itt az ideje, hogy teszteljük a projektünket. Ne felejtse el letölteni az összes szükséges könyvtárat az Arduino számára, és ellenőrizze, hogy módosította-e a vázlatot.

Az ESP8266 chip programozásához egyszerű USB-FTDI átalakítót használhat.

Töltse be az Arduino kiesést, és nyissa meg a soros monitor ablakot. Ebben a szakaszban egyszerűen ellenőriztük, hogy csatlakozz-e az Adafruti Io-hoz: megfizethető funkcionalitás, mi fogunk megnézni.

Tesztprojekt

Most folytassa a tesztelést! Menjen az AdAfruit io felhasználói menüjébe, a Feeds menüben. Ellenőrizze, létrehozva vagy egyetlen csatornát az ujjlenyomat és a zároláshoz (az alábbi nyomtatási képernyőn a sor ujjlenyomat és zár):


Ha nincs, manuálisan kell létrehoznia.

Most meg kell adnunk az adatcserét az ujjlenyomat és a zárcsatornák között. A zárcsatorna meg kell tennie az "1" értéket, ha az ujjlenyomat-csatorna az "1" értéket veszi igénybe, és fordítva.

Ehhez használjon nagyon erős eszköz Adafruit Io: triggerek. A triggerek lényegében olyan körülmények között vannak, amelyeket a konfigurált csatornákra lehet alkalmazni. Vagyis két csatorna összekapcsolására használhatók.

Hozzon létre egy új reaktív triggeret az Adafruit io triggerek részéről. Ez biztosítja az adatok cseréjét az ujjlenyomat-érzékelő csatornák és a kastély között:


Így kell kinéznie, ha mindkét triggerek testreszabottak:

Minden! Most tényleg teszteljük a projektünket! Alkalmazza az ujját az érzékelőre, és nézze meg, hogy az Arduino elkezdte kacsintni a LED-rel, amely megfelel az adatátvitelnek. Ezután a LED villog az ESP8266 modulon. Ez azt jelenti, hogy az MQTT-en keresztüli adatokat fogadott el. Az áramköri kártyán lévő LED ezen a ponton is bekapcsol.

A vázlatba telepített késleltetés után (alapértelmezés szerint ez az érték 10 másodperc), a LED kikapcsol. Gratulálunk! Az ujjlenyomat segítségével ellenőrizheti, hogy a világ bármely pontján van!

Az elektronikus kastély testreszabása

A projekt utolsó részébe jutottunk: az elektronikus zár közvetlen kapcsolata és vezérlése Arduino és az ujjlenyomat-érzékelő segítségével. A projekt nem könnyű, használhatja az összes forrást olyan formában, amelyben magasabb, de a LED helyett a relé csatlakoztatásához.

Amely közvetlenül csatlakozik a zár, akkor kell további összetevők: tápegység 12 V, Jack tápellátás, tranzisztor (ebben a példában használt IRLB8721PBF MOSFET, de akkor is használhatja a másik, például a bipoláris tranzisztor TIP102. Ha Használjon bipoláris tranzisztort, szükség van egy ellenállásra.

Az alábbiakban látható elektromos áramkör Az összes alkatrész csatlakoztatása az ESP8266 modulhoz:


Kérjük, vegye figyelembe, hogy ha a MOSFET tranzisztort használja, akkor az ESP8266 modul és a tranzisztor 5. tűje között nincs szükség ellenállásra.

A teljesen összeszerelt projekt látható az alábbi képen:


Wave egy ESP8266 modul az FTDI modul használatával, és csatlakoztassa a 12 V tápfeszültséget a csatlakozóhoz. Ha az ajánlott csapokat csatlakoztatta, akkor nem kell megváltoztatnia semmit a vázlatban.

Most az ujjával az érzékelőre támaszkodhat: a zárnak kell működnie, az ujjlenyomatra reagálva. Az alábbi videó az Automatikus "Smart" kastély projektjét mutatja be:

A "Smart Castle" projekt továbbfejlesztése

A projektünkben az ajtózár távvezérlését ujjlenyomat segítségével szabadította fel.

Biztonságosan kísérletezhet, módosíthatja a vázlatot és a pántot. Például cserélheti az ajtó elektronikus zárat a relén, hogy kezelje a 3D nyomtató, manipulátor vagy quadcopter ...

Fejlesztheti a " intelligens ház„Például, távolról aktiválni az öntözési rendszer Arduino vagy magában a fény a szobában ... Ne felejtsük el, hogy akkor egyszerre aktiválja a szinte korlátlan számú eszközt használó AdaFruit IO.

Hagyja meg észrevételeit, kérdéseit és részesedését személyes tapasztalat lent. Az új ötletek és projektek gyakran születnek a vita során!

A másik napon áttekintettem a "New Spiderman" filmet, és egy szakaszban Peter Parker távolról kinyílik, és bezárja az ajtót a laptopjából. Amint láttam, azonnal rájöttem, hogy szükségem van egy ilyen elektronikus zárra a bejárati ajtón.

Egy kicsit, összegyűjtöttem egy intelligens kastély érvényes modelljét. Ebben a cikkben elmondom, hogyan gyűjtöttem őt.

1. lépés: Anyagok listája





Az elektronikus zár összeállításához az Arduino-nál a következő anyagokra van szüksége:

Elektronika:

  • 5V fali adapter

Alkatrészek:

  • 6 csavar a spinlethez
  • karton
  • vezetékek

Eszközök:

  • forrasztópáka
  • ragasztópisztoly
  • fúró
  • fúró
  • fúró a vezetőnyíláshoz
  • írószeres kés
  • számítógép Arduino IDE

2. lépés: Hogyan működik a vár

Az ötlet az, hogy kinyithatom vagy bezárhatom az ajtót kulcs nélkül, és még anélkül, hogy eljutnék. De ez csak a fő ötlet, mert még mindig hozzáadhat egy retonációs érzékelőt, hogy reagáljon egy speciális kopogásra, vagy hozzáadhat hangfelismerő rendszert!

A scorelethez csatlakoztatott szervo kar bezárja (0 °) és nyitva (60 °) a Bluetooth modul segítségével kapott parancsokkal.

3. lépés: Huzalszerelési rendszer


Először csatlakoztassuk a szervo-t az Arduino-fedélzetre (meg akarom jegyezni, hogy bár az Arduino Nano-díjat használtam az UNO fedélzeten, a következtetések helye pontosan ugyanaz).

  • brown Wire Servo - földelés, csatlakoztassa a földre Arduino-nál
  • piros vezeték - plusz, csatlakoztassa az Arduino 5b csatlakozójához
  • narancssárga vezeték - a szervo forrásának kimenete, csatlakoztassa az Arduino 9. következtetését

Azt tanácsolom, hogy ellenőrizze a szervo működését, mielőtt folytatná a szerelvényt. Ehhez az Arduino IDE programban a példákban válassza a sweep. Győződjön meg róla, hogy a szervo működik, csatlakoztathatjuk a Bluetooth modult. Be kell kapcsolódni a RX kimenet a Bluetooth modult a TX kimeneti Arduino, és a TX kimenet a modul RX kimenet Arduino. De ne csináld még! Amikor ezek a kapcsolatok vannak forrasztva, akkor már nem lesz képes letölteni olyan kódokat Arduino, ezért először töltse le az összes kódot, és csak utána forrasztási kötések.

Itt van a modul és a mikrokontroller vegyületek rendszere:

  • RX modul - TX Arduino táblák
  • TX modul - RX táblák
  • VCC (pozitív kimenet) modul - 3.3V Arduino táblák
  • Földi csatlakozás a talajhoz (földi talaj)

Ha a magyarázat úgy tűnik, hogy érthetetlen, kövesse a drótkapcsolatok rendszerét.

4. lépés: Vizsgálat

Most, hogy minden színészi részünk van, győződjön meg róla, hogy a szervo mozgathatja a scorelet. Mielőtt egy pontozást szerelne az ajtón, összegyűjtöttem egy próba mintát, hogy megbizonyosodjon arról, hogy a szervo elég erős. Először úgy tűnt számomra, hogy a szervoom gyenge volt, és hozzáadtam egy csepp olajat egy skarlátba, ezután jól működött. Nagyon fontos, hogy a mechanizmus jól csúszik, különben kockáztatja, hogy lezárja a szobádat.

5. lépés: Elektrokomponensek esetében



Úgy döntöttem, hogy csak az ügyben és a Bluetooth modulon helyezem el, és a szervo kívül marad. Ehhez egy darab kartonban szállítjuk az Arduino Nano áramkör áramkörét, és hozzáadunk 1 cm-es helyet a kerület körül, és kivágjuk. Ezt követően a test öt oldalát is kivágtuk. Az elülső falon szükség lesz a vezérlő tápkábelének lyukára.

Az eset oldalmérete:

  • Alsó - 7,5x4 cm
  • Fedél - 7,5x4 cm
  • Bal oldalfal - 7,5x4 cm
  • Jobb oldali fal - 7,5x4 cm
  • Elülső fal - 4x4 cm (tápkábel nyílásával)
  • Hátsó fal - 4x4 cm

6. lépés: Függelék

A vezérlő vezérléséhez szüksége van egy modult android vagy ablakok beépített Bluetooth. Nem volt lehetősége, hogy ellenőrizze az alkalmazás működését az Apple eszközökön, talán szüksége van néhány illesztőprogramra.

Biztos vagyok benne, hogy néhánynak lehetősége van arra, hogy ellenőrizze. Az Android letöltése Bluetooth terminál alkalmazás, töltse le a Terater for Windows. Ezután meg kell csatlakoztatni a modult a smartphone, a neve legyen Linvor, jelszó - 0000 vagy 1234 után a párosítás van beállítva, nyissa meg a telepített alkalmazás, adja meg a lehetőséget, és válassza ki a „Kapcsolat telepítése (nem biztonságos)”. Most az okostelefon az Arduino soros interfész monitor, azaz az adatokat cserélheti a vezérlővel.

Ha beírja a 0-at, az ajtó bezárul, és az okostelefon képernyőjén lesz egy üzenet "Az ajtó zárva van".
Ha beírja az 1-et, akkor látni fogja, hogyan nyílik meg az ajtó, és a képernyőn egy üzenet lesz "Az ajtó nyitva van."
A Windows rendszeren ugyanaz, kivéve, ha telepítenie kell a Terater alkalmazást.

7. lépés: Intim a scorelet


Először csatlakoztatnia kell egy spitt szervo meghajtót. Ehhez vágja le a dugókat a meghajtóház szerelési lyukaiból. Ha a szervo meghajtót helyezzük, a szerelési lyukakat összetörnek kell lezárni. Ezután a szervo kart a spinlet nyílásba kell helyezni, ahol spinlet fogantyú volt. Ellenőrizze, hogy a zár a helyzetben kerüljön. Ha minden rendben van, rögzítse a szervo karot ragasztóval.

Most meg kell fúrnod az ajtóvezető lyukakhoz csavarok. Ehhez csatoljon pontszámokat az ajtóhoz és a ceruzához, jelölje meg az ajtó nyílását a csavarok alatt. Fúrjon a lyuk megfigyelt helyeit a csavarok alatt a csavarok mélységében körülbelül 2,5 cm. Alkalmazza az eredményt, és rögzítse csavarokkal. Ellenőrizze újra a szervo működését.

8. lépés: Táplálkozás


Az eszköz befejezéséhez áramforrásra van szüksége, a vezeték és a mini-USB dugóhoz az Arduino-hoz való csatlakozáshoz.
Csatlakoztassa a tápforrás teljesítményét az USB Mini-port Földének kimenetével, csatlakoztassa a piros vezetéket az USB mini-port piros huzalával, majd húzza ki a vezetéket a zárból az ajtóhurokhoz és nyúlik a kimenetre.

9. lépés: Kód

#include szervo myservo; int pos \u003d 0; int állam; INT Flag \u003d 0; void setup () () (myservo.attach (9); serial.begin (9600); myservo.write (60); késleltetés (1000);) void hurok () (ha (serial.available ()\u003e 0) Serial.read (); zászló \u003d 0;) // Ha az állapot "0", akkor a DC motor kikapcsol, ha (állapot \u003d\u003d "0") (MyServo.Write (8); Késleltetés (1000); Println ("ajtó zárolva");) más, ha (állapot \u003d\u003d "1") (myservo.write (55), késleltetés (1000); serial.println ("ajtó kinyitott");)

10. lépés: Teljes kastély az Arduino alapján

Élvezze a várat távirányítóval, és ne felejtsd el, hogy "véletlen", hogy lezárja barátait a szobában.

Ez a projekt moduláris, vagyis Különböző elemeket csatlakoztathat / letilthatja, és különböző funkcionalitást kaphat. A fenti képek a teljes funkcionalitással rendelkező opciót mutatják, nevezetesen:

  • Reteszelő mechanizmus. Az ajtó kinyitására és bezárására szolgál. Ez a projekt három különböző mechanizmus használatát tárgyalja:
    • Szervo. Vannak nagy, kicsi. Nagyon kompakt, és súlyos burkolattal párosul - nagyszerű lehetőség
    • Vár elektromos meghajtó autóajtó. Nagy és erőteljes dolog, de enni csak őrült áramlatok
    • Mágneses csuka. Jó lehetőségMert maga slamolja magát

    A firmware beállításoknál kiválaszthatja a három típus bármelyikét (beállítás) lock_type)

  • Gomb belsejében. Az ajtó kinyitása és bezárása a belsejéből. Az ajtófogantyúra (a tenyérről vagy az ujjak oldaláról) helyezhető el, maga az ajtón, vagy az elakadáson
  • Gomb kívül. Az ajtó bezárására szolgál, valamint az energiatakarékosság felébresztésére. Az ajtófogantyúra (a tenyérről vagy az ujjak oldaláról) helyezhető el, maga az ajtón, vagy az elakadáson
  • Kontextus az ajtó zárásánál. Az ajtó zárásakor automatikusan bezárja a zárat. Lehet, hogy:
    • Óra gomb
    • Hall érzékelő + mágnes az ajtón
    • Gercon + mágnes az ajtón
  • Titok hozzáférés reset gomb. A jelszó visszaállításához / Új jelszó / memorizálásához új kulcs / kombináció, stb. Lehet elrejteni valahol az ügyben
  • Fénykibocsátó dióda A munka jelzése. RGB LED, használt piros és zöld színek (kevert sárga színű):
    • Gorite Green - A kastély nyitva van. Gorbs nem felejteni elfelejteni az ajtót
    • Sárga égő - a rendszer felébredt, és elvárja a jelszót
    • Várakozás piros - leült az akkumulátor

Ezen elemek bármelyike \u200b\u200bkizárható a rendszerből:

  • Távolítjuk el a zavart. A beállítások firmware-ben is kapcsolja ki (beállítás) farok_button.). Most, hogy bezárja a zárat, meg kell nyomnia a gombot.
  • Eltávolítjuk a kültéri gombot. A beállítások firmware-ben is kapcsolja ki (beállítás) wake_Button.). Most a rendszernek nem kell felébrednie, maga felébred (az energiafogyasztás kissé nagyobb). És most már nincs gombbal, hogy zárja be a bejárati ajtót, és zavartságra van szüksége. Bármelyik kastély - tickatk
  • Eltávolítjuk a belső gombot. Ez az opció alkalmas szekrények és széfek. Nem kell megváltoztatnia semmit a beállításokban
  • Eltávolítjuk a LED-et. Nem kell megváltoztatnia semmit a beállításokban
  • Az Access Reset gomb az első használat után eltűnhet, vagy átírhatja a kódot önmagára
  • Az ajtó zárva van, kattintva kattintva - Ébredjen, várjon a jelszó bemeneti / rfid címke / elektronikus kulcs / ujjlenyomat
  • Az ajtó zárva van, a rendszer felébredt, várva a jelszót. Az idő konfigurálható (beállítás alvási idő.)
  • Az ajtó zárva van, a jelszó be van írva / címke / gomb, stb. - Nyisd ki
  • Az ajtót zárva tartjuk, megnyomva - nyitva
  • Az ajtó nyitva van, kattints a kívülről - zárva
  • Az ajtó nyitva van, bezárva - zárva
  • Az ajtó nyitva van, nyomva tartva - zárva

A zár az akkumulátor működését alacsony energiatakarékos üzemmódban biztosítja (engedélyezés: Setup sleep_enable), nevezetesen:

  • Néhány másodpercenként ébred, kövesse az eseményt (opcionális opció, ha nincs gomb kívül. Engedélyezheti a beállításban wake_Button.)
  • Néhány percig az AKUM feszültségének megfigyelésére (Be / Ki beállítás battery_monitor)
  • Ha az Akum lemerül (a feszültség be van állítva a beállításban bat_low.):
    • nyitott ajtó (opcionális, konfigurálható a firmware-ben open_bat_low.)
    • tiltja a további megnyitást és a zárást
    • ha rákattint a gombokra, hogy flash egy piros LED
    • Állítsa le az eseményt (azaz jelszó / címke stb.)

Ha a rendszer nem alszik, nyomja meg a Jelszó Shift gombot (Rejtett gomb). Keresse meg a B.-t jelszóváltási mód:
Adunk meg egy jelszót a számokból ( Legfeljebb 10 számjegy !!!)

  • A * jelszóra kattintva a memóriában van rögzítve, és a rendszer kialszik a jelszóváltozásból
  • Ha rákattint a jelszó visszaállítása (újra beírhatja)
  • Ha nem nyomja meg semmit 10 másodpercig, automatikusan hagyja a jelszóváltási módot, a jelszó továbbra is öreg marad

Amikor a rendszer nem alszik (felébredtem a gombok vagy az alvás le van tiltva), kattintson a * gombra a jelszó beviteli módba
Ha a rendszer alszik, és rendszeresen felébred, hogy ellenőrizze az eseményt, majd nyomja meg a * gombot, és tartsa lenyomva, amíg a piros LED világít
Jelszó beviteli mód:

  • A jelszó feldolgozása oly módon történik, hogy a helyes jelszót csak akkor számolják, ha a megfelelő számok megfelelő sorrendjére van állítva, vagyis, ha a jelszó 345, akkor bármely szám beírható, amíg a 345 sorrend meg nem jelenik, azaz a 345 sorrendben. A 30984570345 megnyitja a zárat, mivel végül 345.
  • Ha a jelszó helyesen van megadva, az ajtó megnyílik
  • Ha nem nyomja meg semmit, 10 másodperc elteltével a rendszer visszatér a szokásos (Duty) módba
  • Ha rákattint, azonnal jöjjön ki a jelszó belépési módból
  • Ha megnyomja a Secret Password Change gombot a jelszó beviteli módban, akkor jön ki belőle

Arduino van legjobb rendszer Bármely felszerelés másolásához. A legtöbb ötlet nem tudna valasak vele valóra válni. Hosszú ideig olyan gondolat van: hozzon létre egy speciális kódzárat az Arduino-on. A megnyitásához egy adott kulcsot kell csatlakoztatni. Ebben az esetben a zárat nem szabad kinyitni, még akkor is, ha ismeri a kívánt gombot. Nyissa meg, hogy ellenálljon bizonyos időközöknek izommemóriával. Egy ilyen bűncselekmény nem fog elkötelezni. De ez az egész elmélet.

Ahhoz, hogy összegyűjtse, kihasználnia kell a négyszögletes impulzusok, valamint több méteres és halom speciális eszközét. De a kész eszköz nagy lenne dimenziók És nem lehetett használni. Általában ezek a gondolatok nem adnak pihenést. Az álom kiviteli alakjának első szakasza az Arduino alatti program létrehozása volt. Ő az, aki kódzárként szolgál. Annak érdekében, hogy megnyissa, meg kell nyomnia egy gombot, de néhányat, és egyszerre csinálnia kell. Befejezett rendszer Úgy néz ki:

A képminőség nem a legjobb, de a csatlakozást a talaj, D3, D5, D7, D9 és D11.

A kódot az alábbiakban mutatjuk be:

Const int ina \u003d 3; Const int inb \u003d 5; CONST INT INC \u003d 9; CONST INT LEDPIN \u003d 13; int i \u003d 1000; Byte a \u003d 0; Byte b \u003d 0; Byte c \u003d 0; Byte d \u003d 0; aláíratlan hosszú idő \u003d 0; // ne felejtsük el mindent, ami a Millis () unsigned hosszú hőmérséklet értéke \u003d 0; // tárolja az aláírás nélküli hosszú byte byte kulcsot \u003d (0, 0, 0, 0, 0, 0, 0, 0); // Valójában BYTE KEYB \u003d (1, 1, 1, 1, 0, 1, 0, 0); Byte keyc \u003d (1, 0, 1, 0, 1, 1, 1, 0); Byte k \u003d 0; VOID SETUP () (PINMODE (INA, INPURE_PULLUP); // 3 bemenet csatlakoztatva a PINMODE gombokhoz (INB, INPUT_PULLUP); PINMODE (INC, INPUT_PULLUP); Pinmode (Ledpin, kimenet); // Beépített LED a 13. \\ t Fenyő Pinmode (7, kimenet); Pinmode (11, kimenet); digitalwrite (7, alacsony); // Cserélje ki a földi digitalistát (11, alacsony); idő \u003d malom (); // kell referencia idő) Void Blinktwice ( ) (// kettős villogó digitalwrite LED (Ledpin, Magas); Késleltetés (100); Digitalwrite (Ledpin, Alacsony); Késleltetés (100); Digitalwrite (Ledpin, Magas); Késleltetés (100); Digitalwrite (Ledpin, alacsony); Késleltetés (200);) Void Loop () (IF (k \u003d\u003d 0) (blinktwice (); // Meghívó beírási kód), ha (k \u003d\u003d 8) (digitalwrite (Ledpin, magas); Késleltetés (3000); k \u003d 0;) A \u003d DigitalRead (INA); // jelszinteket olvasnak a gombokról - megnyomva / nincs megnyomva b \u003d digitallread (INB); C \u003d DigitalRead (INC); Késleltetés (100); // Következő, ha A hamis pozitívumok ellen nem használhatja, ha ((digitallread (INA) \u003d\u003d a) && (digitalread (inb) \u003d\u003d b) && (digitalread (inc) \u003d\u003d c)) (ha (A \u003d\u003d Keya [K] ) (Ha (b \u003d\u003d KEYB [K]) (ha (C \u003d\u003d Keyc [K]) (K ++; )))), ha (k \u003d\u003d 1) (ha (d \u003d\u003d 0) (idő \u003d malom (); d ++;)) Temp \u003d Millis (); Temp \u003d temp - idő; ha (temp\u003e 10000) (k \u003d 0, d \u003d 0, idő \u003d milis ();)))))

Annak érdekében, hogy ne legyen további kérdések a kóddal, néhány pillanatot kell magyarázni. A beállítási funkció a portok hozzárendelésére szolgál. A következő funkció az input_pullup, amely a fenyő feszültségének 5 V-vel történő növeléséhez szükséges. Ez ellenállással történik. Ennek köszönhetően különböző rövidzárlat nem fordul elő. A nagyobb kényelem érdekében ajánlott használni a Blinktwice funkciót. Általában, amikor különböző programok létrehozásakor meg kell próbálnod más funkciókat.

A funkciók hozzárendelése után a jel olvasható a portokból. Ha megnyomja a gombot, ezt az 1. szám jelzi, és ha nem - 2. Ezután az összes érték elemzése van. Például egy ilyen kombináció 0.1.1. Ez azt jelenti, hogy az első kulcsot megnyomja, és a fennmaradó kettő nem. Ha minden értéket helyesen hajtják végre, akkor a 8. feltétel is igaz. Ezt az előlapon lévő LED-es LED bizonyítja. Ezután be kell írnia egy adott kódot, amely az ajtó kinyitásához szolgál.

A legfrissebb kódelemeket a mérőértékek csökkentésére használják. Ez a funkció akkor történik, ha az utolsó billentyűleütés után több mint 10 másodperc eltelt. E kód nélkül mindent megtettünk lehetséges lehetőségekBár sokan vannak elég. Az eszköz létrehozása után meg kell vizsgálni. Még

mob_info.