Sisällysluettelo:
- Vaihe 1: Tarvittavat osat
- Vaihe 2: Rakenna Arduino -ohjain
- Vaihe 3: Rakenna RFID -lukija
- Vaihe 4: Ohjelmoi
- Vaihe 5: Laajenna
Video: Arduino RFID -oven lukko: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
*** Päivitetty 9.8.2010 *** Halusin tehdä helpon ja turvallisen tavan päästä autotalliini. RFID oli paras tapa avata ovi, vaikka kädet täynnä voin avata oven ja työntää sen auki! Rakensin yksinkertaisen piirin, jossa oli perus ATMega 168 arduino-siru ja ID-20 RFID-lukija elektronisen ovilukon ohjaamiseksi. Piiri koostuu kolmesta erillisestä osasta, RFID -tunnisteiden lukulaitteesta, ohjaimesta, joka vastaanottaa tietoja lukijasta ja ohjaa RGB -LEDin ja sähköisen oven lukon lähtöä. Ovilukko asennetaan ensin oveen ja testataan 9 voltin paristolla oikean asennuksen varmistamiseksi. Useimmissa tapauksissa haluat normaalisti avoimen piirin oven lukkoon tai epäonnistuneen suojan. Tämä tarkoittaa sitä, että ovi pysyy lukittuna, kun virta ei kulje sen läpi. Kun 12vDC johdetaan oven lukon sähkömagneetin läpi, lukossa oleva levy antaa periksi ja sallii oven työntämisen auki. Lukija on sijoitettu oven ulkopuolelle ja se on erillään sisäpuolella olevasta ohjaimesta, jotta kukaan ei voi kiertää suojaa rikkomalla lukija auki ja yrittämällä oikosulkea lukija. Ohjain vastaanottaa sarjatietoja lukijalta ja ohjaa RGB -lediä ja oven lukkoa. Tässä tapauksessa olen asettanut molemmat erillisille leipälaudoille testausta varten. Tässä on videon yleiskatsaus toiminnassa olevasta järjestelmästä Lue, miten voit rakentaa sellaisen itsellesi! ** Päivitys ** Kaikki koodit, kaaviot ja piirilevyrakenteet on testattu ja parannettu. Kaikki ne on julkaistu täällä 9.8.2010 alkaen Päivitetty video viimeisestä asennetusta ja toimivasta järjestelmästä.
Vaihe 1: Tarvittavat osat
Tässä on luettelo osista ja linkkejä SparkFun.comiin, josta ostin ne. Tämä on perussarja, joka sinun on rakennettava, ja arduino sekä piiri RFID -tunnisteiden lukemiseksi arduinoon. Oletan, että sinulla on jo leipälauta, virtalähde ja kytkentäjohdot.
Arduinon tavaraa
ATmega168 ja Arduino Bootloader 4,95 dollaria
Crystal 16MHz 1,50 dollaria
Keraaminen kondensaattori 22pF 0,25 $ (x2)
Vastus 10 k ohmia 1/6 watin PTH $ 0.25
Mini -painikekytkin 0,35 dollaria
Kolminkertainen LED -RGB - hajautettu 1,95 dollaria
RFID -tavaraa
Joko jompikumpi näistä, 20: llä on parempi kantama, 12 on pienempi RFID-lukija ID-12 $ 29.95 RFID-lukija ID-20 $ 34.95
RFID -lukija Breakout $ 0.95
Break Away Headers - Suora 2,50 dollaria
RFID -tunniste - 125 kHz 1,95 dollaria
Muut
TIP31A -transistori (radiohiihto/paikallinen elektroniikkaliike 1,50 dollaria)
Ovilukko on ebaysta. Ovi epäonnistui Turvallinen kulunvalvonta Electric Strike v5 NO $ 17.50 (kawamall, lahti)
Vaihe 2: Rakenna Arduino -ohjain
Ensimmäinen askel RFID -ovilukon rakentamiseen perus -Arduinolla on leikata lauta peruskäyttöinen arduino. Useimpien Arduinon esisalattujen ATMega 168 -piirien mukana tulee oletusarvoinen vilkkuohjelma. Liitä LED digitaalilähtöön 13 ja tarkista, että kaikki toimii.
Tämän RFID -lukijan laitteisto -osa olisi liian yksinkertainen, jos käyttäisimme tavallista arduinoa, jossa on sisäänrakennettu USB -ohjelmoija. Koska aion laittaa tämän seinään enkä kosketa sitä uudelleen, en halua käyttää isoa, tilaa vievää 30 dollarin arduino -levyä, kun voin ostaa 5 dollarin ATMega 168: n ja tehdä paljon pienemmän mukautetun piirilevyn.
Koska päätin tehdä perus Arduino-piirin itse, tarvitsen ulkoisen USB-> Serial FDIT -ohjelmoijan. Olen sisällyttänyt Eagle -kaaviot ohjaimesta, jonka virtalähde on rakennettu 7805 -jännitesäätimestä. Testissä käytin leipälevyn virtalähdettä.
Ardegainon käynnistämiseksi tarvitset vain ATMega168: n, jossa on arduino -ohjelmisto, 2x 22pF kondensaattorit, 16 MHz: n kide, 10 k ohmin vastus, painike ja leipälauta. Kytkentä tähän on tunnettu, mutta olen sisällyttänyt piirin koko kaavion.
Arduino käynnistää 4 lähtöä, 1 punaista/vihreää/sinistä LEDiä varten ja 1 laukaisee TIP31A: n lähettämään 12vDC oven lukkoon. Arduino vastaanottaa sarjatietoja Rx-linjalleen ID-20 RFID-lukijalta.
Vaihe 3: Rakenna RFID -lukija
Nyt kun arduino-leipäsi on levytetty ja voit työskennellä, voit koota piirin RFID-lukijaosan, joka sisältää ID-10- tai ID-20- ja RGB-merkkivalot piirin tilan ilmaisemiseksi. Muista, että lukija on ulkopuolella ja erillään ohjaimesta, jotta joku ei voi helposti tunkeutua sisään.
Tämän rakentamiseksi lähetämme 5v/maata ensisijaiselta leipälaudalta toiselle leipälaudalle, jolle rakennamme lukijan. Lähetä myös yli 3 johtoa 3: sta arduino -ulostulonapista ohjataksesi RGB -LEDiä, yksi kullekin värille. Vielä yksi johto, kuvassa oleva Brown, on sarjayhteys ID-20: lle, jotta se voi keskustella arduinon Rx-sarjatulon kanssa. Tämä on hyvin yksinkertainen kytkentäpiiri. LEDit saavat vastuksia ja muutama piste ID-20: ssä on sidottu maahan/5v asettaakseen oikean tilan.
Leipälevyn helpottamiseksi ID-10/ID-20 Sparkfun myy Breakout-levyn, jonka avulla voit kiinnittää pidemmät tapit, jotka on sijoitettu leipälevyn mukaan. Tämä osa ja nastat ja luetellaan osaluettelossa.
Kaavion pitäisi olla kapea eteenpäin ja helppo seurata.
Vaihe 4: Ohjelmoi
Aika ohjelmoida arduino. Tämä voi olla hieman hankalaa käyttämällä tavallista arduinoa. Sinun on ehkä painettava nollauspainiketta useita kertoja ennen latauksen ensimmäistä osaa ja sen aikana. Erittäin tärkeä muistaa, että saat latausvirheen, jos et irrota ID-20-sarjalinjaa tilapäisesti arduinon Rx-linjaan. ATMega168: ssa on vain 1 Rx -tulo, ja se käyttää sitä koodin lataamiseen puhuakseen ohjelmoijalle. Irrota ID-20 tietokoneesta ohjelmoinnin aikana ja kytke se sitten takaisin, kun olet valmis. Käytin FTDI -ohjelmoijaa, jonka avulla voit ohjelmoida arduinon USB: n kautta vain 4 johdolla. Ohjaimen kaaviossa on nastan otsikkoliitäntä, jonka avulla voit kytkeä sen suoraan. Sparkfun myy myös tätä osaa, mutta monilla saattaa olla jo se.
Voit helposti ladata koodini arduinoosi etkä koskaan katso taaksepäin, mutta mikä siinä on hauskaa? Selitän perusajatuksen siitä, miten se toimii.
Ensinnäkin, en halunnut ulkoisia painikkeita/kytkimiä/jne. Enkä halunnut ohjelmoida arduinoa uudelleen aina, kun halusin lisätä uuden kortin. Siksi halusin käyttää vain RFID: tä piirin toiminnan ohjaamiseen sekä oven lukon hallintaan.
Ohjelma sytyttää sinisen LED -valon osoittaakseen, että se on valmis lukemaan uuden kortin. Kun korttia luetaan, se päättää, onko se kelvollinen kortti vai ei, vertaamalla lukemaansa voimassa olevien korttien luetteloon. Jos käyttäjä on oikea, arduino sammuttaa sinisen LED -valon ja sytyttää vihreän LED -valon 5 sekunniksi. Se kytkee myös toisen lähdön korkealle 5 sekunniksi. Tämä lähtö on kytketty TIP31A -transistoriin ja antaa pienen arduinon ohjata paljon suurempaa 12 voltin 300 mA: n oven lukkoa vahingoittumatta. 5 sekunnin kuluttua ovilukko lukittuu uudelleen ja LED-valo muuttuu siniseksi odottamaan toisen kortin lukemista. Jos kortti on virheellinen, merkkivalo muuttuu PUNAISEKSI muutamaksi sekunniksi ja palaa siniseksi odottamaan toista korttia.
On tärkeää, että oven lukko toimii edelleen, vaikka arduino menettää virran yön aikana tai nollataan. Siksi kaikki voimassa olevat korttitunnukset tallennetaan EEPROM -muistiin. ATMega168: ssa on 512 tavua EEPROM -muistia. Jokaisella RFID-kortilla on 5 hex-tavun sarjanumero ja 1 hex-tavun tarkistussumma, joiden avulla voimme varmistaa, ettei ID-20: n ja arduinon välillä ole virheitä.
Kelvolliset kortit tallennetaan EEPROMiin käyttämällä ensimmäistä tavua laskurina. Jos esimerkiksi kolme kelvollista korttia on tallennettu, ensimmäinen tavu EEPROMissa olisi 3. EEPROM.read (0); = 3. Tietäen tämän ja sen, että jokainen tunnus on 5 tavua pitkä, tiedämme, että 1-5 on kortti yksi, 6-10 on kortti 2 ja 11-15 on kortti 3. Voimme tehdä silmukan, joka näyttää EEPROMin läpi 5 tavua kerrallaan ja yrittää löytää kortin, jonka lukija on lukenut.
Mutta miten voimme lisätä uusia kortteja EEPROMiin piirin asennuksen jälkeen? Olen lukenut eräästä RFID -kortista, joka minulla on, ja koodannut sen kovasti RFID -pääkortiksi. Joten vaikka koko EEPROM pyyhitään, pääkortti toimii edelleen. Aina kun korttia luetaan, se tarkistaa ensin, onko se pääkortti, jos ei, sitten se jatkaa edelleen, onko se voimassa oleva kortti vai ei. Jos kortti on pääkortti, arduino siirtyy "ohjelmointitilaan", jossa se vilkkuu RGB ja odottaa toisen kelvollisen tunnisteen lukemista. Seuraava luettu tunniste lisätään EEPROMin seuraavaan vapaaseen kohtaan ja laskuria kasvatetaan 1, jos korttia ei ole jo EEPROM -muistissa. Lukija palaa normaalitilaan ja odottaa uuden kortin lukemista.
Tällä hetkellä en ole ohjelmoinut tapaa poistaa korttia, koska syyt kortin poistamiseen olisivat todennäköisesti se kadonnut tai varastettu. Koska tätä todennäköisesti käytettäisiin 1-10 henkilön kanssa, helpoin tapa olisi ohjelmoida vakavasti Master Erase -kortti, joka pyyhkii kaikki kortit EEPROMista ja lisää ne sitten uudelleen, mikä kestää vain muutaman sekunnin. Olen lisännyt koodin EEPROMin pyyhkimiseen, mutta en ole vielä ottanut tätä ominaisuutta käyttöön..
Koodi on liitetty tekstitiedostoon ja kopio osaluettelosta.
Vaihe 5: Laajenna
Tämä on vain osa hienoista asioista, joita voit tehdä RFID: llä. Voit laajentaa tätä paljon entisestään LCD -ulostulolla, kirjaamalla kuka ja milloin saapuu, verkko/twitter -yhteys jne. Aion tehdä tästä piiristä valmiin PCB -version. En ole koskaan aikaisemmin tehnyt piirilevyä, joten työskentelen edelleen osien suunnittelun ja asettelun parissa. Kun saan ne valmiiksi, julkaisen ne myös. Kehotan ketään ottamaan kirjoittamani koodin ja muokkaamaan sitä tekemään entistä hienompia asioita!
Arduino -kilpailun finalisti
Suositeltava:
DIY -hälytyspyörän lukko (isku aktivoitu): 5 vaihetta (kuvilla)
DIY -hälytyspyörän lukko (isku aktivoitu): Tässä projektissa näytän sinulle, miten luodaan yksinkertainen iskuaktivoitu hälytyspyörän lukko. Kuten nimestä voi päätellä, se luo hälytysäänen, kun pyörääsi siirretään luvalla. Matkan varrella opimme vähän pietsoeleista
Lisää IOT -lukko mihin tahansa laatikkoon !: 4 vaihetta
Lisää IOT -lukko mihin tahansa laatikkoon !: Hei! Jonkin ajan kuluttua päätin jakaa uusimman projektini kaikkien kanssa. Tämä oli vain idea, jonka sain, kun ostin halvan solenoidilukon verkossa, ja se osoittautui loistavaksi projektiksi. Joten pohjimmiltaan perusidea oli tehdä se
Kuinka kytkeä August Smart -lukko päälle virtalähteestä?: 7 vaihetta (kuvilla)
Kuinka virrata August Smart -lukko pistorasiasta?: Äskettäin isäni osti elokuun älykkään lukon ja asennettiin autotallin oveen. Ongelmana on, että se toimii akulla ja isäni ei halua huolehtia pariston vaihtamisesta kovin usein. Siten hän päätti käyttää elokuun älylukkoa virtalähteestä
NFC -lukko - kun piirilevy on myös painikkeet, antenni ja muuta : 7 vaihetta (kuvilla)
NFC -lukko - kun piirilevy on myös painikkeet, antenni ja muuta …: Voit ottaa yhden kahdesta asiasta tästä ohjeesta. Voit seurata ja luoda oman yhdistelmän numeronäppäimistöstä ja NFC -lukijasta. Kaavio on täällä. Piirilevyasettelu on täällä. Löydät materiaaliluettelon tilataksesi
Rakenna kaukosäätimen lukko: 7 vaihetta (kuvilla)
Rakenna kauko-ohjaimen lukituspultti: Tämä opas näyttää, kuinka voit rakentaa kauko-ohjattavan oven lukon mistä tahansa 110 V: n solenoidista, massiiviteräksestä, joistakin kertoimista ja päistä sekä X10-laitteen kauko-ohjaimesta. Rakensin tämän autotallin ovelle alle 30,00 dollaria