Мазмуну:
- 1 -кадам: Бардык бөлүктөрдү алыңыз
- 2 -кадам: RC522 RFID Reader
- 3 -кадам: OLED дисплей
- 4 -кадам: Бардык бөлүктөрдү туташтырыңыз
- 5 -кадам: Долбоордун коду
- 6 -кадам: Акыркы ойлор жана жакшыртуулар
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Урматтуу достор, дагы бир Инструкцияга кош келиңиздер. Бул Educ8s.tvден Ник жана бүгүн биз жөнөкөй кулпу тутумун куруу үчүн бул RFID Readerди Arduino менен кантип колдонууну үйрөнөбүз.
Биринчи жолу, биз Arduino менен RFID тегдерин колдонгону жатабыз. Мен окурманга жакын жайгаштырган ар бир RFID тегинин уникалдуу идентификаторун (UID) окуй турган жана аны OLED дисплейинде көрсөтүүчү жөнөкөй проект түздүм. Эгерде теги UID Arduino эсинде сакталган алдын ала аныкталган мааниге барабар болсо, анда дисплейде "Кулпусу ачылган" билдирүүсүн көрөбүз. Эгерде карттын уникалдуу идентификатору алдын ала аныкталган мааниге барабар болбосо, Кулпуну ачуу билдирүүсү көрүнбөйт. Салкын, туурабы?
Жаза турган көп нерсе бар, андыктан баштайлы!
1 -кадам: Бардык бөлүктөрдү алыңыз
Бул долбоорду куруу үчүн керектүү бөлүктөр булар:
- An Arduino Uno ▶
- RFID Reader ▶
- OLED дисплей ▶
- Чакан нан ▶
- Кээ бир зымдар ▶
Кошумча бөлүктөр:
Powerbank ▶
Долбоордун жалпы баасы 15 доллардын тегерегинде.
2 -кадам: RC522 RFID Reader
Ар бир RFID тегинин ичинде кичинекей чип бар. Эгерде мен бул RFID картасынын астына фонарик койсом, анда сиз аны курчап турган кичинекей чипти жана катушканы көрө аласыз. Бул чиптин кубатын алуу үчүн батарейкасы жок. Бул чоң катушканы зымсыз колдонуп, окурмандан, бул түзмөктөн кубат алат. Окурман RFID картасын ушул сыяктуу 20мм чейин окуй алат!
Ошол эле чип ачкычтын RFID тегдеринде да бар.
Ар бир RFID тегинин аны аныктоочу уникалдуу номери бар. Бул OLED дисплейинде көрсөтө турган UID. Бул UIDден башка, ар бир тэг маалыматтарды сактай алат. Мындай карталарда биз 1Kга чейин маалыматты сактай алабыз! Таасирдүү, туурабы? Биз бул функцияны бүгүн колдонбойбуз, бирок келечекте көрсөтмөдө колдонобуз. Бүгүн бизди кызыктырган нерсе - бул UID аркылуу белгилүү бир картаны аныктоо. RFID окурмандын баасы жана бул эки RFID картасы 4 доллардын тегерегинде.
3 -кадам: OLED дисплей
Бул Arduino менен колдонуу үчүн абдан сонун дисплей. Бул OLED дисплей жана бул аз энергия керектөөнү билдирет. Бул дисплейдин энергия керектөөсү болжол менен 10-20 мА жана ал канча пикселдин күйгөнүнө жараша болот.
Дисплейдин разрешение 128 × 64 пиксел жана кичинекей. Дисплейдин эки түрү бар. Алардын бири монохромдуу, экинчиси мен колдонгон сыяктуу эки түстү көрсөтө алат, сары жана көк. Экрандын жогорку бөлүгү сары, төмөнкү бөлүгү көк түстү гана көрсөтө алат.
Бул OLED дисплей абдан жарык жана китепкананын чоң колдоосуна ээ. Adafruit бул дисплей үчүн абдан жакшы китепкананы иштеп чыкты. Мындан тышкары, дисплей I2C интерфейсин колдонот, ошондуктан Arduino менен туташуу абдан оңой. Vcc жана GNDден башка эки зымды гана туташтыруу керек. Эгерде сиз Arduinoдо жаңы болсоңуз жана проектиңизде колдонуу үчүн арзан жана колдонууга оңой дисплей кааласаңыз, дисплейден баштаңыз. Бул Arduino долбооруңузга дисплей кошуунун эң оңой жолу. Мен ушул Нускамага тиркелген бул дисплейди кантип колдонуу боюнча деталдуу окуу куралын даярдадым.
4 -кадам: Бардык бөлүктөрдү туташтырыңыз
Arduino Uno тактасы менен байланыш абдан жөнөкөй. Адегенде, окурмандын да, дисплейдин да күчүн байланыштыралы.
Абайлаңыз, RFID окурманы Arduino Uno 3.3V чыгарылышына туташышы керек, болбосо ал жок кылынат. Дисплей да 3.3Vде иштей ала тургандыктан, Vccти эки модулдан нан тактасына оң темир жолго туташтырабыз. Бул темир жол Arduino Uno 3.3V чыгуусуна туташкан. Андан кийин, биз GNDлердин экөөнү тең GND темир жолуна туташтырабыз. Андан кийин биз нан тактасынын GND темир жолун Arduino GNDге туташтырабыз.
OLED дисплейи - Arduino
Vcc ▶ 3.3V
GND ▶ GND
SCL ▶ Аналогдук пин 5
SDA ▶ Аналогдук пин 4
RFID окурманы - Arduino
RST ▶ Digital Pin 9
IRQ ▶ Байланышсыз
MISO ▶ Digital Pin 12
MOSI ▶ Digital Pin 11
SCK ▶ Digital Pin 13
SDA ▶ Digital Pin 10
RFID окурман модулу Arduino менен байланышуу үчүн SPI интерфейсин колдонот. Ошентип, биз Arduino UNOнун SPI жабдыктарын колдонобуз. RST пин цифралык пин 9го барат. IRQ пини туташпай калат. MISO пин санариптик пинге барат 12. MOSI пин санариптик пинге 11 барат. SCK пини санариптик пинге 13 барат жана акырында, SDA пини санариптик пинге 10 кетет. Болду. RFID окурман туташты. Эми OLED дисплейин I2C интерфейсин колдонуу менен Arduino менен туташтырышыбыз керек. Ошентип, дисплейдин SCL пини Analog Pin 5ке жана дисплейдин SDA пинине 4 Analog Pinге барат, эгерде биз азыр долбоорду иштетип, RFID картасын окурманга жакын жайгаштырсак, анда долбоор жакшы иштеп жатканын көрө алабыз! Эми бул долбоордун кодун карап чыгууга убакыт келди.
5 -кадам: Долбоордун коду
Долбоордун кодун түзүү үчүн биз кээ бир китепканаларды камтуубуз керек. Биринчиден, бизге MFRC522 Rfid китепканасы керек. Аны орнотуу үчүн, Sketch -> Китепканаларды кошуу -> Китепканаларды башкаруу бөлүмүнө өтүңүз. MFRC522 издеп, аны орнотуңуз. Ошондой эле бизге көрсөтүү үчүн Adafruit SSD1306 китепканасы жана Adafruit GFX китепканасы керек. Эки китепкананы бирдей жол менен орнотуңуз. Adafruit SSD1306 китепканасы кичине өзгөртүүгө муктаж. Arduino -> Китепканалар папкасына өтүңүз, Adafruit SSD1306 папкасын ачыңыз жана Adafruit_SSD1306.h китепканасын түзөтүңүз. Комментарийлердин сабы 70 жана комментарийлердин сызыгы 69. Биздин дисплейде 128x64 токтому бар, муну биз бул жерде аныктап жатабыз. Эми биз кодду тез кароого даярбыз.
Башында, биз Arduino таанууну каалаган RFID тегинин маанисин жарыялайбыз. Бул бүтүн сандардын массиви.
int code = {69, 141, 8, 136}; // Бул сакталган UID
Андан кийин, биз RFID окурманы жана дисплейди баштайбыз.
rfid. PCD_Init (); display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
Андан кийин, цикл функциясында, биз ар бир 100 мс сайын окурмандын тегин текшерип турабыз.
Эгерде окурманда теги бар болсо, биз анын UIDин окуйбуз жана аны дисплейге басып чыгарабыз. Андан кийин, биз окуган тегибиздин UIDин коддун өзгөрмөсүндө сакталган мааниси менен салыштырабыз. Эгерде баалуулуктар бирдей болсо, биз UNLOCK билдирүүсүн көрсөтөбүз, болбосо бул билдирүүнү көрсөтпөйбүз.
if (match) {Serial.println ("\ nМен бул картаны билем!"); printUnlockMessage (); } else {Serial.println ("\ nБелгисиз карта"); }
Албетте, бул кодду 1 UIDден ашык баалуулуктарды сактоо үчүн, долбоор RFID тэгдерин көбүрөөк таануу үчүн өзгөртө аласыз.
Бул жөн гана мисал. Дайыма эле бул Нускамага тиркелген долбоордун кодун таба аласыз.
6 -кадам: Акыркы ойлор жана жакшыртуулар
Көрүнүп тургандай, абдан арзан баада биз долбоорлорубузга RFID окурманы кошо алабыз. Биз оңой эле ушундай окурман менен коопсуздук системасын кура алабыз же дагы кызыктуу долбоорлорду кура алабыз.
Менин негизги ниетим - бул RFID окурманын жана RFID тегдерин колдонуп, балдар үчүн интерактивдүү оюндарды куруу. Келечектеги видеодо биз RFID тегинен маалыматтарды жазууга жана окууга аракет кылабыз. Бул жерде, мен бул RFID карта окугучу жөнүндө сиздин пикириңизди уккум келет. Сиз муну кандайдыр бир долбооруңузда колдонууну пландап жатасызбы? Сураныч, төмөндөгү комментарийлер бөлүмүнө кандайдыр бир комментарийлерди же идеяларды жазыңыз, рахмат!
Сунушталууда:
Arduino Keypad 4x4 үйрөткүчү: 4 кадам (сүрөттөр менен)
Arduino Keypad 4x4 үйрөткүчү: Баскычтоп киргизүү arduino uno жана 4x4 баскычтоптун толук коду менен сериялык мониторго көрсөтүлдү
Светодиодду пультуңуз менен башкарыңыз ?! -- Arduino IR үйрөткүчү: 5 кадам (сүрөттөр менен)
Светодиодду пультуңуз менен башкарыңыз ?! || Arduino IR үйрөткүчү: Бул долбоордо мен сыналгымдын артындагы диоддорду башкаруу үчүн сыналгымдын пультундагы пайдасыз баскычтарды кантип алмаштырганымды көрсөтөм. Сиз бул техниканы кодду бир аз түзөтүү менен ар кандай нерселерди көзөмөлдөө үчүн колдоно аласыз. Мен дагы бир аз теория жөнүндө сүйлөшөм
Виски жана кокс RFID Lock Box: 9 кадам (Сүрөттөр менен)
Виски жана кокс RFID кулпу кутучасы: Бул инструкция сизге толугу менен 3D форматында " Виски жана кока " RFID Lock Box
Windows PC Lock/RFID аркылуу ачуу: 7 кадам (сүрөттөр менен)
Windows PC Lock/RFIDди колдонуу менен кулпуну ачыңыз. Саламатсызбы! ПК/ноутбук кулпуланган сайын кулпусун ачуу үчүн сырсөздү терүүдөн чарчадыңыз беле? Мен муну күн сайын бир нече жолу кулпулап койгонго көнүп калдым жана сырсөздү/пинти терип жазгандан башка эч нерсе тажатпайт
Si4703 FM радио тактасын RDS менен кантип колдонуу керек - Arduino үйрөткүчү: 5 кадам (сүрөттөр менен)
Si4703 FM радио тактасын RDS менен кантип колдонуу керек - Ардуино үйрөткүчү: Бул Silicon Laboratories Si4703 FM тюнер чипинин баалоо тактасы. Жөнөкөй FM радиосунан тышкары, Si4703 ошондой эле Radio Data Service (RDS) жана Radio Broadcast Data Service (RBDS) маалыматын табууга жана иштетүүгө жөндөмдүү