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

Arduino RFID түгжээний заавар: 6 алхам (зурагтай)
Arduino RFID түгжээний заавар: 6 алхам (зурагтай)
Anonim
Image
Image
Arduino RFID түгжээний заавар
Arduino RFID түгжээний заавар
Arduino RFID түгжээний заавар
Arduino RFID түгжээний заавар

Эрхэм хүндэт найзуудаа, өөр нэг заавар авахыг урьж байна. Энэ бол Educ8s.tv -ээс авсан Ник бөгөөд өнөөдөр бид энгийн түгжээний системийг бий болгохын тулд энэхүү RFID уншигчийг Arduino -той хэрхэн ашиглах талаар сурах болно.

Бид анх удаа Arduino -той RFID хаягийг ашиглах гэж байна. Би уншигчдын ойролцоо байрлуулсан RFID шошго бүрийн өвөрмөц ID (UID) -ийг уншиж, энэ OLED дэлгэц дээр харуулдаг энгийн төслийг би бүтээсэн. Хэрэв шошгоны UID нь Arduino -ийн санах ойд хадгалагдсан урьдчилан тодорхойлсон утгатай тэнцүү бол дэлгэц дээр бид "Unlocked" гэсэн мессежийг харах болно. Хэрэв картны өвөрмөц ID нь урьдчилан тодорхойлсон утгатай тэнцэхгүй бол түгжээг тайлах мессеж гарч ирэхгүй. Хөөрхөн биш үү?

Хамрах олон зүйл байгаа тул эхлүүлцгээе!

Алхам 1: Бүх эд ангиудыг авах

Бүх эд ангиудыг аваарай
Бүх эд ангиудыг аваарай

Энэхүү төслийг бүтээхэд шаардлагатай хэсгүүд нь:

  • An Arduino Uno ▶
  • RFID уншигч ▶
  • OLED дэлгэц ▶
  • Жижиг талхны самбар ▶
  • Зарим утас ▶

Нэмэлт хэсгүүд:

Powerbank ▶

Төслийн нийт өртөг нь ойролцоогоор 15 доллар юм.

Алхам 2: RC522 RFID уншигч

RC522 RFID уншигч
RC522 RFID уншигч
RC522 RFID уншигч
RC522 RFID уншигч
RC522 RFID уншигч
RC522 RFID уншигч
RC522 RFID уншигч
RC522 RFID уншигч

RFID хаяг бүр дотроо жижиг чиптэй байдаг. Хэрэв би энэ RFID картын доор гар чийдэн байрлуулбал жижиг чип болон түүнийг хүрээлсэн ороомог харагдаж байна. Энэ чип нь цахилгаан авахын тулд зайгүй байдаг. Энэ нь том ороомог ашиглан утасгүй төхөөрөмж, уншигчдаас хүч авдаг. Уншигч нь ийм RFID картыг 20мм хүртэлх зайнаас унших боломжтой!

Үүнтэй ижил чип түлхүүрийн оосор RFID хаягууд дээр байдаг.

RFID шошго бүр өөрийн гэсэн өвөрмөц дугаартай байдаг. Энэ бол бидний OLED дэлгэц дээр харуулдаг UID юм. Энэхүү UID -ээс бусад хаяг бүр өгөгдлийг хадгалах боломжтой. Энэ төрлийн картуудад бид 1K хүртэлх өгөгдлийг хадгалах боломжтой! Гайхалтай биш гэж үү? Бид энэ функцийг өнөөдөр ашиглахгүй, гэхдээ ирээдүйд зааврын дагуу ашиглах болно. Өнөөдөр бидний сонирхож буй зүйл бол UID -ээр тодорхой картыг тодорхойлох явдал юм. RFID уншигч болон эдгээр хоёр RFID картны үнэ ойролцоогоор 4 доллар байна.

Алхам 3: OLED дэлгэц

Image
Image
Бүх эд ангиудыг холбоно уу
Бүх эд ангиудыг холбоно уу

Энэ бол Arduino дээр ашиглахад маш сайхан дэлгэц юм. Энэ нь OLED дэлгэц бөгөөд энэ нь бага эрчим хүчний хэрэглээтэй гэсэн үг юм. Энэхүү дэлгэцийн эрчим хүчний хэрэглээ нь ойролцоогоор 10-20 мА бөгөөд хичнээн пиксел асахаас хамаарна.

Дэлгэцийн нягтрал нь 128 х 64 пиксел бөгөөд жижиг хэмжээтэй. Дэлгэцийн хоёр хувилбар байдаг. Тэдний нэг нь монохром, нөгөө нь миний хэрэглэдэг шиг шар, цэнхэр гэсэн хоёр өнгийг харуулдаг. Дэлгэцийн дээд хэсэгт зөвхөн шар өнгө, доод хэсэгт цэнхэр өнгө л харагдана.

Энэхүү OLED дэлгэц нь маш тод бөгөөд номын сангийн маш сайн дэмжлэгтэй байдаг. Adafruit энэ дэлгэцийн хувьд маш сайхан номын сан бүтээжээ. Нэмж дурдахад дэлгэц нь I2C интерфэйсийг ашигладаг тул Arduino -тай холбогдох нь маш хялбар юм. Та Vcc болон GND -ээс бусад хоёр утсыг холбох хэрэгтэй. Хэрэв та Arduino -д шинэхэн байгаа бөгөөд төсөл дээрээ ашиглахад хямд, ашиглахад хялбар дэлгэцийг хүсч байвал дэлгэцээс эхэл. Энэ бол Arduino төсөлдөө дэлгэц нэмэх хамгийн хялбар арга юм. Би энэ зааварт хавсаргасан энэхүү дэлгэцийг хэрхэн ашиглах талаар нарийвчилсан заавар бэлдсэн болно.

Алхам 4: Бүх эд ангиудыг холбоно уу

Бүх эд ангиудыг холбоно уу
Бүх эд ангиудыг холбоно уу
Бүх эд ангиудыг холбоно уу
Бүх эд ангиудыг холбоно уу
Бүх эд ангиудыг холбоно уу
Бүх эд ангиудыг холбоно уу

Arduino Uno самбартай холбох нь маш энгийн. Эхлээд уншигч болон дэлгэцийн хүчийг холбож үзье.

Анхаарна уу, RFID уншигч нь Arduino Uno -ийн 3.3V гаралттай холбогдсон байх ёстой, эс тэгвээс энэ нь устах болно. Дэлгэц нь 3.3В хүчдэлд ажиллах боломжтой тул бид VC -ийг хоёр модулийн талхны хавтангийн эерэг төмөр замд холбодог. Энэ төмөр замыг дараа нь Arduino Uno -ийн 3.3V гаралттай холбоно. Дараа нь бид GND -ийг хоёуланг нь GND талхны төмөр замд холбодог. Дараа нь бид талхны хавтангийн GND төмөр замыг Arduino GND -тэй холбоно.

OLED дэлгэц - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Аналог Pin 5

SDA ▶ Аналог Pin 4

RFID уншигч - Arduino

RST ▶ Дижитал зүү 9

IRQ ▶ Холбогдоогүй байна

MISO ▶ Дижитал зүү 12

MOSI ▶ Дижитал зүү 11

SCK ▶ Дижитал зүү 13

SDA ▶ Дижитал зүү 10

RFID уншигч модуль нь Arduino -той холбогдохын тулд SPI интерфэйсийг ашигладаг. Тиймээс бид Arduino UNO -ийн тоног төхөөрөмжийн SPI тээглүүрийг ашиглах гэж байна. RST зүү нь дижитал зүү 9 рүү ордог. IRQ зүү нь холбогдоогүй хэвээр байна. MISO зүү дижитал зүү 12. MOSI зүү дижитал зүү 11 рүү шилждэг. SCK зүү нь дижитал зүү 13 руу ордог бөгөөд хамгийн сүүлд SDA зүү дижитал зүү 10 руу ордог. RFID уншигч холбогдсон байна. Одоо бид O2D дэлгэцийг I2C интерфэйсийг ашиглан Arduino -той холбох ёстой. Тиймээс дэлгэцийн SCL зүү нь аналог Pin 5 ба SDA зүү нь аналог Pin 4 рүү шилждэг. Хэрэв бид одоо төслийг асааж, RFID картыг уншигчийн ойролцоо байрлуулбал төсөл хэвийн ажиллаж байгааг харж болно! Одоо төслийн кодыг харах цаг болжээ.

Алхам 5: Төслийн код

Төслийн код
Төслийн код

Төслийн кодыг эмхэтгэхийн тулд бид зарим номын санг оруулах хэрэгтэй. Юуны өмнө бидэнд MFRC522 Rfid номын сан хэрэгтэй. Үүнийг суулгахын тулд Sketch -> Номын санг оруулах -> Номын санг удирдах хэсэгт очно уу. MFRC522 -ийг хайж олоод суулгаарай. Дэлгэцийн хувьд бидэнд Adafruit SSD1306 номын сан, Adafruit GFX номын сан хэрэгтэй. Хоёр номын санг ижил процедураар суулгаарай. Adafruit SSD1306 номын санд бага зэрэг өөрчлөлт оруулах шаардлагатай байна. Arduino -> Libraries хавтас руу очиж Adafruit SSD1306 фолдерыг нээгээд Adafruit_SSD1306.h номын санг засна уу. Сэтгэгдэл бичих 70 ба тайлбаргүй мөр 69. Манай дэлгэц 128x64 нарийвчлалтай тул үүнийг энд тодорхойлж байна. Одоо бид кодыг хурдан судлахад бэлэн байна.

Эхлээд бид Arduino -г хүлээн зөвшөөрөхийг хүсч буй RFID шошгоны үнэ цэнийг зарлаж байна. Энэ бол бүхэл тоонуудын массив юм.

int код = {69, 141, 8, 136}; // Энэ бол хадгалагдсан UID юм

Дараа нь бид RFID уншигч болон дэлгэцийг эхлүүлнэ.

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

Үүний дараа давталтын функц дээр бид уншигч дээрх шошгыг 100 мс тутамд шалгадаг.

Хэрэв уншигч дээр шошго байгаа бол бид түүний UID -ийг уншиж, дэлгэц дээр хэвлэнэ. Дараа нь бид дөнгөж уншсан шошгоны UID -ийг кодын хувьсагчид хадгалагдсан утгатай харьцуулж үздэг. Хэрэв утгууд ижил байвал бид UNLOCK мессежийг харуулна, эс бөгөөс бид энэ мессежийг харуулахгүй.

if (match) {Serial.println ("\ nБи энэ картыг мэднэ!"); printUnlockMessage (); } өөр {Serial.println ("\ nҮл мэдэгдэх карт"); }

Мэдээжийн хэрэг, төсөл нь илүү RFID хаягийг танихын тулд 1 -ээс дээш UID утгыг хадгалахын тулд та энэ кодыг өөрчилж болно.

Энэ бол зүгээр л жишээ. Та үргэлж энэхүү зааварт хавсаргасан төслийн кодыг олж болно.

Алхам 6: Эцсийн бодол ба сайжруулалт

Эцсийн бодол ба сайжруулалт
Эцсийн бодол ба сайжруулалт

Таны харж байгаагаар маш бага зардлаар бид төслүүддээ RFID уншигч нэмж болно. Бид ийм уншигчтай аюулгүй байдлын системийг хялбархан бүтээх эсвэл илүү хөгжилтэй төслүүдийг бүтээх боломжтой.

Миний гол зорилго бол энэхүү RFID уншигч болон RFID хаягийг ашиглан хүүхдүүдэд зориулсан интерактив тоглоом бүтээх явдал юм. Ирээдүйн видеон дээр бид RFID шошгоноос өгөгдөл бичих, уншихыг хичээх болно. Энэ үед энэхүү RFID карт уншигчийн талаарх таны сэтгэгдлийг сонсоход таатай байна. Та үүнийг аль нэг төсөлдөө ашиглахаар төлөвлөж байна уу? Доорх сэтгэгдлүүдийн хэсэгт ямар нэгэн санал, санаа бодлоо оруулна уу, баярлалаа!

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