Агуулгын хүснэгт:

Arduino RFID хаалганы түгжээ: 5 алхам (зурагтай)
Arduino RFID хаалганы түгжээ: 5 алхам (зурагтай)

Видео: Arduino RFID хаалганы түгжээ: 5 алхам (зурагтай)

Видео: Arduino RFID хаалганы түгжээ: 5 алхам (зурагтай)
Видео: Comment faire des Portes automatiques sur Minecraft (sans plaques de pression) 2024, Долдугаар сарын
Anonim
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ
Arduino RFID хаалганы түгжээ

*** 8/9/2010 шинэчлэгдсэн *** Би гараж руугаа хялбар, найдвартай нэвтрэхийг хүсч байна. RFID бол миний хаалгыг онгойлгох хамгийн сайн арга байсан, гараараа дүүрэн байсан ч би хаалгаа онгойлгож онгойлгож чадна! Би ATMega 168 arduino чип болон ID-20 RFID уншигчтай электрон хэлхээний түгжээг удирдах энгийн хэлхээг бүтээсэн. Уг хэлхээ нь 3 тусдаа хэсгээс бүрдэнэ, RFID хаягийг унших уншигч, уншигчаас өгөгдлийг хүлээн авах, RGB LED болон цахилгаан хаалганы түгжээний гаралтыг хянах хянагч. Хаалганы түгжээг эхлээд хаалган дээр суурилуулж, зөв суурилуулахын тулд 9в батерейгаар туршина. Ихэнх тохиолдолд та хаалганы түгжээнд хэвийн нээлттэй хэлхээ эсвэл Fail Secure хийхийг хүсдэг. Энэ нь гүйдэл дамжихгүй бол хаалга түгжигдэнэ гэсэн үг юм. 12vDC -ийг хаалганы цоожны цахилгаан соронзон дамжин өнгөрөхөд цоожны тавцан зам тавьж, хаалгыг чөлөөтэй түлхэх боломжийг олгодог. Уншигчийг хаалганы гадна талд байрлуулсан бөгөөд дотор талын хянагчаас тусдаа байрладаг тул уншигчийг онгойлгож уншигчийг богино холболт хийх замаар аюулгүй байдлыг хэн ч тойрч чадахгүй. Хянагч нь Уншигчаас цуваа өгөгдлийг хүлээн авч, RGB LED ба Хаалганы түгжээг хянадаг. Энэ тохиолдолд би хоёуланг нь тусад нь талхны тавцан дээр туршиж үзсэн. Системийн үйл ажиллагааны талаархи видео тоймыг эндээс үзнэ үү. ** Шинэчлэлт ** Бүх код, схем, ПХБ -ийн загварыг туршиж, боловсронгуй болгосон. Тэд бүгд 8/9/2010 байдлаар энд байрлуулсан бөгөөд суулгасан болон ажиллаж буй эцсийн системийн шинэчилсэн видеог энд оруулав.

Алхам 1: Шаардлагатай эд анги

Шаардлагатай эд ангиуд
Шаардлагатай эд ангиуд

Энд худалдаж авсан SparkFun.com -ийн эд анги, линкүүдийн жагсаалт энд байна. Энэ бол танд хэрэгтэй үндсэн хэсгүүдийн багц бөгөөд arduino болон RFID хаягийг arduino руу унших хэлхээ юм. Танд талх, цахилгаан хангамж, залгах утас байгаа гэж би бодож байна.

Arduino Stuff

ATmega168 Arduino Bootloader -тэй 4.95 доллар

Кристал 16 МГц 1.50 доллар

Конденсатор керамик 22pF $ 0.25 (x2)

Resistor 10k Ohm 1/6 Watt PTH 0.25 доллар

Мини түлхэх товчлуурын унтраалга 0.35 доллар

Гурван гаралтын LED RGB - 1.95 долларын тархалттай

RFID зүйлс

Эдгээрийн аль нэг нь, 20 нь илүү сайн хүрээтэй, 12 нь жижиг RFID уншигчийн ID-12 $ 29.95RFID уншигчийн ID-20 $ 34.95

RFID Reader Breakout $ 0.95

Толгойг таслах - Шулуун $ 2.50

RFID хаяг - 125 кГц 1.95 доллар

Бусад

TIP31A транзистор (радио хаалт/орон нутгийн цахилгаан барааны дэлгүүр 1.50 доллар)

Хаалганы түгжээ нь ebay -ээс авсан. Door Fail Secure access control Electric Strike v5 NO $ 17.50 (kawamall, bay)

Алхам 2: Arduino хянагчийг бүтээх

Arduino хянагчийг бүтээх
Arduino хянагчийг бүтээх
Arduino хянагчийг бүтээх
Arduino хянагчийг бүтээх
Arduino хянагчийг бүтээх
Arduino хянагчийг бүтээх

Үндсэн Arduino ашиглан RFID хаалганы түгжээг бүтээх эхний алхам бол үндсэн ажлын ардуиног талхаар хийх явдал юм. Ихэнх Arduino урьдчилан анивчдаг ATMega 168 чипүүд нь анивчих програмыг урьдчилан суулгасан байдаг. LED -ийг дижитал гаралт 13 -д холбож, бүх зүйл ажиллаж байгаа эсэхийг шалгаарай.

Хэрэв бид USB програмисттай ердийн arduino ашигладаг бол энэхүү RFID уншигчийн техник хангамжийн хэсэг нь хэтэрхий энгийн байх болно. Би үүнийг хананд наахаар төлөвлөж байгаа тул дахин хүрч болохгүй, би 5 долларын ATMega 168 худалдаж аваад арай өөр хэмжээтэй ПХБ хийх боломжтой бол 30 долларын үнэтэй том хэмжээтэй ардуино хавтанг ашиглахыг хүсэхгүй байна.

Би өөрөө Arduino-ийн үндсэн хэлхээг хийхээр шийдсэн тул надад гадаад USB-> Serial FDIT програмист хэрэгтэй байна. Би 7805 хүчдэлийн зохицуулагчаас бүтээгдсэн цахилгаан хангамж бүхий хянагчийн Eagle схемийг оруулсан болно. Туршилтанд би талхны хавтангийн цахилгаан хангамжийг ашигласан.

Arduino -ийг ажиллуулахын тулд танд хэрэгтэй бүх зүйл бол ATMega168 дээр arduino програм хангамж, 2x 22pF конденсатор, 16 мГц болор, 10 к ом эсэргүүцэл, товчлуур, талхны самбар юм. Энэ холболтыг сайн мэддэг боловч би хэлхээний схемийг бүхэлд нь оруулсан болно.

Arduino нь тус бүр нь Улаан/Ногоон/Цэнхэр LED гэсэн 4 гаралтыг, 1 нь TIP31A -ийг идэвхжүүлж, 12vDC -ийг хаалганы түгжээ рүү илгээнэ. Arduino нь ID-20 RFID уншигчаас Rx шугам дээр цуваа өгөгдлийг хүлээн авдаг.

Алхам 3: RFID уншигч үүсгэх

RFID уншигч бүтээх
RFID уншигч бүтээх
RFID уншигч бүтээх
RFID уншигч бүтээх
RFID уншигч бүтээх
RFID уншигч бүтээх

Одоо та arduino талхтай болж, ажиллаж байгаа бол хэлхээний статусыг тодорхойлохын тулд ID-10 эсвэл ID-20, RGB LED агуулсан хэлхээний RFID уншигчийн хэсгийг нэгтгэж болно. Уншигч гадуур байх бөгөөд дотор нь хянагчаас тусдаа байх тул хэн нэгэн амархан нэвтэрч чадахгүй болно гэдгийг санаарай.

Үүнийг бүтээхийн тулд бид 5v/Ground -ийг үндсэн талхны тавцан дээрээс Уншигчийг барьж буй хоёрдогч талхны тавцан руу илгээх гэж байна. Өнгө тус бүрт нэг ширхэг RGB LED -ийг удирдахын тулд arduino гаралтын 3 голоос 3 гаруй утас илгээнэ үү. Зураг дээрх Браун гэсэн өөр нэг утас нь ID-20-ийн arduino-ийн Rx цуваа оролттой ярих цуваа холболт байх болно. Энэ бол холбох маш энгийн хэлхээ юм. LED-ийн эсэргүүцэл ба ID-20 дээрх цөөн хэдэн цэгийг газар/5в-т холбож зөв статусыг тогтооно.

ID-10/ID-20 Sparkfun-ийг талхны тавцан дээр суулгахад хялбар болгох үүднээс Breakout самбар зардаг бөгөөд энэ нь талхны тавцан дээр тохирох зайтай урт зүү толгойг холбох боломжийг олгодог. Энэ хэсэг ба толгойн толгойн хэсгүүдийг жагсаалтад оруулсан болно.

Схем нь урагшаа чиглэсэн, дагаж мөрдөхөд хялбар байх ёстой.

Алхам 4: Хөтөлбөр

Arduino -г програмчлах цаг болжээ. Үндсэн arduino -г ашиглах нь жаахан төвөгтэй байж магадгүй тул байршуулахын өмнө болон ачаалах явцад дахин тохируулах товчийг олон удаа дарах шаардлагатай болж магадгүй юм. Анхаарах ёстой маш чухал зүйл бол хэрэв та ID-20 цувралын шугамыг arduino-ийн Rx шугам руу түр салгахгүй бол байршуулах алдаа гарах болно. ATMega168 нь зөвхөн 1 Rx оролттой бөгөөд үүнийг програмисттай ярилцахын тулд кодыг байршуулахад ашигладаг. ID-20-ийг програмчлах явцад салгаад дараа нь хийж дууссаны дараа дахин залгаарай. Би FTDI програмист ашигласан бөгөөд энэ нь зөвхөн 4 утастай USB -ээр дамжуулан arduino програмчлах боломжийг олгодог. Хянагчийн схем нь зүү толгойн холболтыг харуулдаг бөгөөд ингэснээр та үүнийг шууд залгах боломжтой болно. Sparkfun мөн энэ хэсгийг зардаг боловч олон хүн үүнийг худалдаж авсан байж магадгүй юм.

Та миний кодыг arduino дээрээ хялбархан байршуулж, эргэж харахгүй, гэхдээ энэ нь ямар хөгжилтэй вэ? Энэ нь хэрхэн ажилладаг талаархи үндсэн санааг тайлбарлая.

Нэгдүгээрт, би гадны товчлуур/унтраалга гэх мэтийг хүсээгүй бөгөөд шинэ карт нэмэх болгондоо arduino -г дахин програмчлахыг хүсээгүй. Тиймээс би хэлхээний ажиллагааг хянах, хаалганы түгжээг хянахын тулд зөвхөн RFID ашиглахыг хүссэн юм.

Хөтөлбөр нь цэнхэр LED -ийг асааж, шинэ карт уншихад бэлэн байгааг илтгэнэ. Карт уншигдах үед энэ нь хүчинтэй карт мөн эсэхийг шийдэх бөгөөд үүнийг уншсан зүйлээ хүчинтэй картны жагсаалттай харьцуулж үзнэ. Хэрэв хэрэглэгч хүчинтэй бол arduino нь цэнхэр LED -ийг унтрааж, ногоон LED -ийг 5 секундын турш асаана. Энэ нь бас 5 секундын турш өөр гаралтыг асаана. Энэхүү гаралт нь TIP31A транзистортой холбогдсон бөгөөд жижигхэн ардуино нь илүү том хэмжээтэй 12в 300мА хэмжээтэй хаалганы түгжээг гэмтээхгүйгээр удирдах боломжийг олгодог. 5 секундын дараа хаалганы түгжээ дахин түгжигдэж, LED дахин цэнхэр болж өөр карт уншихыг хүлээнэ. Хэрэв карт хүчингүй болсон бол LED нь хэдхэн секундын турш RED болж, цэнхэр болж өөр картыг хүлээнэ.

Ардуино нэг шөнийн дотор хүчээ алдсан эсвэл дахин тохируулсан байсан ч гэсэн хаалганы түгжээ ажиллах нь чухал юм. Тиймээс бүх хүчин төгөлдөр картын ID -г EEPROM санах ойд хадгална. ATMega168 нь 512 байт EEPROM санах ойтой. RFID карт бүр нь 5 Hex Byte серийн дугаар, 1 Hex Byte Check нийлбэртэй бөгөөд ID-20 ба arduino хооронд дамжуулахад ямар нэгэн алдаа гараагүй болохыг бид шалгаж болно.

Эхний байтыг тоолуур болгон ашиглах замаар хүчинтэй картуудыг EEPROM -д хадгалдаг. Жишээлбэл, EEPROM -д эхний байт хадгалагдсан 3 хүчинтэй карт байгаа бол 3. EEPROM.read (0); = 3. Үүнийг мэдэж байгаа бөгөөд ID бүр 5 байтын урттай болохыг бид мэдэж байна 1-5 бол карт 1, 6-10 бол 2 карт, 11-15 бол карт 3. Бид EEPROM-ийг харсан гогцоо хийх боломжтой Нэг удаад 5 байт уншигчийн уншсан картыг олохыг хичээдэг.

Гэхдээ хэлхээг суулгасны дараа бид EEPROM -д хэрхэн шинэ карт нэмэх вэ? Би өөртөө байгаа RFID картуудын нэгийг уншсан бөгөөд үүнийг Master RFID карт гэж хатуу кодчилсон. Тиймээс EEPROM -ийг бүхэлд нь арчсан ч гэсэн мастер карт ажиллах болно. Карт унших бүрт энэ нь Master карт мөн эсэхийг шалгадаг, хэрэв үгүй бол дараа нь хүчинтэй карт мөн эсэхийг үргэлжлүүлэн шалгадаг. Хэрэв карт нь үндсэн карт бол бид arduino -ийг "програмчлалын горим" руу оруулдаг бөгөөд RGB -ийг анивчиж, өөр хүчинтэй шошго уншихыг хүлээдэг. Уншсан дараагийн шошго нь EEPROM -ийн дараагийн үнэгүй цэг дээр нэмэгдэх бөгөөд хэрэв карт EEPROM санах ойд байхгүй бол тоолуурыг 1 -ээр нэмэгдүүлнэ. Дараа нь уншигч ердийн горим руу буцаж, шинэ карт уншихыг хүлээнэ.

Одоогоор би картаа устгах аргыг програмчлаагүй байгаа тул картыг устгах шалтгаан нь алдагдсан эсвэл хулгайд алдсан байж магадгүй юм. Үүнийг 1-10 хүнтэй хийх магадлалтай тул хийх хамгийн хялбар зүйл бол Master Erase картыг хатуу програмчлах явдал бөгөөд энэ нь EEPROM-ээс бүх картыг арчиж, бүгдийг нь дахин нэмэхэд хэдхэн секунд л шаардагдах болно. Би EEPROM -ийг арчих код нэмсэн боловч одоог хүртэл энэ функцийг хэрэгжүүлээгүй байна..

Кодыг эд ангиудын жагсаалтын хуулбарын хамт текст файлд хавсаргасан болно.

Алхам 5: Өргөтгөх

Энэ бол RFID ашиглан хийж болох гайхалтай зүйлсийн зөвхөн нэг хэсэг юм. Та үүнийг LCD гаралт, хэн, хэзээ орж байгааг бүртгэх, сүлжээ/твиттер холболт гэх мэтээр өргөжүүлж болно. Би энэ хэлхээний ПХБ -ийн эцсийн хувилбарыг гаргахаар төлөвлөж байна. Би өмнө нь ПХБ хийж байгаагүй тул эд ангиудын дизайн, зохион байгуулалт дээр ажиллаж байна. Тэднийг дуусгасны дараа би тэдгээрийг бас оруулах болно. Миний бичсэн кодыг авч, өөр гайхалтай зүйл хийхийг өөрчлөхийг би хэн нэгэнд зөвлөж байна!

Arduino тэмцээний финалист

Зөвлөмж болгож буй: