Мазмуну:

C# жана Arduino + RC-522 менен демөөрчүлөрдү иштетүү: 5 кадам
C# жана Arduino + RC-522 менен демөөрчүлөрдү иштетүү: 5 кадам

Video: C# жана Arduino + RC-522 менен демөөрчүлөрдү иштетүү: 5 кадам

Video: C# жана Arduino + RC-522 менен демөөрчүлөрдү иштетүү: 5 кадам
Video: Arduino Tutorial: C# to Arduino Communication. Send data and commands from Computer to an Arduino. 2024, Ноябрь
Anonim
C# жана Arduino + RC-522 менен спонсордук чуркоо
C# жана Arduino + RC-522 менен спонсордук чуркоо

Демөөрчүлөрдүн чуркоосу абдан кеңири таралган. Бирок, аларды башкаруу дайыма эле оңой иш эмес, бул ар бир команданын эффективдүү түрдө канча айлампаны каттоону камтыйт. Мен RFIDди ар бир команданы аныктоо үчүн токен катары колдонууну чечтим. RC-522 RFID окурман картасын жана arduino-ну арзан ала алсаңыз болот, бул системаны оңой курууга мүмкүндүк берет.

1 -кадам: Керектүү материалдардын тизмеси

  • Arduino тактасы: каалаган коллегия жасайт. Мен анын өлчөмү боюнча Arduino Nano колдоном
  • Arduino өнүктүрүү чөйрөсү
  • RC-522: жергиликтүү же чет өлкөдө сатып алууга/заказ кылууга болот
  • MiFare 13.56 MHz тегдери. Адатта кээ бир үлгүлөр сиздин RC-522 тактаңыз менен келиши мүмкүн. Тегдин түрү маанилүү эмес. Жөн гана алардын туура жыштыгын текшериңиз.
  • Эгерде сиз кодду өзгөрткүңүз келсе, Windows иштеп жаткан жана Visual Studio орнотулган компьютер.

2-кадам: Arduino + RC-522ди даярдоо

Arduino + RC-522ди даярдоо
Arduino + RC-522ди даярдоо

Жогорудагы сүрөттө RC-522 модулунун Arduinoго туташуусу көрсөтүлгөн. Ар кандай Arduino жасайт. Демек, эгер сизде Arduino Nano жеткиликтүү болсо, аны колдонууну ойлонушуңуз мүмкүн. Башка нерселерде бардыгын чогуу бокстоо үчүн кээ бир учурларды таба аласыз. Мен бирөөнү сынап көрдүм, бирок басып чыгаруу үчүн анын чектери өтө кичинекей болгондуктан, жараксыз 3D-принтер менен аяктады.

Мен дагы бул үчүн жакшы иштин үстүндө иштеп жатам.

RC-522 тактаңызды колдонуу үчүн, Arduino редакторуна китепкана кошушуңуз керек. Тилекке каршы, бул Arduino редактору башкарган китепкана эмес, андыктан аны "эски мектеп" ыкмасын жүктөп алып, китепканалар папкасына көчүрүү керек. Жеткиликтүү кылуу үчүн Arduino редакторун кайра баштоону унутпаңыз.

Китепкананы https://github.com/miguelbalboa/rfid сайтынан тапса болот.

Азырынча редактор даяр. Скриптти Arduino'го жүктөө убактысы келди. Эгерде сиз кодду анализдеп көрсөңүз, анда 5000 миллисекунд аралыгы бар экенин көрөсүз, анда бир эле ачкычты бир нече жолу басып чыгарууга жол берилбейт. Сиз бул интервалды өзгөртө аласыз, бирок эгер сиз аны өтө кичине кылып койсоңуз, ошол эле ачкыч биринен кийин бир нече жолу көрсөтүлөт.

Ошентип, азыр бул бөлүк иштээрин текшерүүгө убакыт келди. Мен колдонгон RFID 13.56 МГц стандарттык MiFare 1Kb фобдору, алар дагы абдан арзан.

Arduino редакторунун сериялык мониторун ачыңыз жана ачкычтарды RC-522 модулуна алып келгенде пайда болгонун көрүңүз.

3 -кадам: C# тилинде жазылган Windows интерфейси

Windows интерфейси C# тилинде жазылган
Windows интерфейси C# тилинде жазылган

Сиз C# долбоорун камтыган кысылган папканы таба аласыз. Аны жүктөп алып, таңгактан чыгарыңыз. Код Visual Studio 2017де багытталган. Net framework 4.6.1де жазылган. Ар бир жаңыртылган компьютерде бул болушу керек жана аны аткара алышы керек. Сизге сөзсүз түрдө Visual Studio орнотуунун кереги жок. Код аны өзгөртүүнү же текшерүүнү каалагандар үчүн берилген. Программага өзгөртүүлөр киргизилбесе, чуркоо убактысы 1 саат 30 мүнөткө белгиленген. Кадимки айлануу убактысы 50 секундга белгиленген, бул 400 метрлик трек үчүн.

Аткарыла турган файлды SponsorRun / SponsorRun / bin папкасынын астында жайгашкан Debug папкасынан тапса болот.

Бул папкада бул долбоордо маалыматтарды сактоо үчүн колдонулган текст файлдары да бар.

Текст файлдары:

  • rfidKeys.txt: ар кандай командалар үчүн ачкычтарды камтыйт. Биринчи ачкыч биринчи команда үчүн ж.б.у.с. Сиз бул файлды алып салып, өз ачкычтарыңызды кошо аласыз (программанын кантип иштээрин төмөндөн караңыз)
  • teams.txt: ар кандай командалардын аттарын камтыйт. Биринчи аты биринчи команда үчүн ж.б.у.с. Бул файлды жалпы текст редактору менен түзөтүңүз (блокнот жасай алат).
  • results.txt: командалардын ар кандай айлампаларынын жыйынтыктарын камтыган CSV форматындагы файл (ушул убакка чейин эч кандай айлампа каттала элек болсо, жок болушу мүмкүн)
  • fraude.txt: алдоого аракет кылган командаларды камтыган CSV форматындагы файл (эч кандай алдамчылык аныктала элек учурда жок болушу мүмкүн)

Программанын иштөө тартиби төмөнкүчө:

  • Баштоо учурунда программа сиздин компьютериңиздеги ар кандай COM портторун аныктайт. Байланышты камсыз кылуу үчүн, Arduinoго дайындалган COM портун тандашыңыз керек. Демейки боюнча, COM ылдамдыгы Arduino кодунда белгиленген ылдамдыкка туура келген 9600 bps болушу керек.
  • Байланышты жандандыруу үчүн "Угууну баштоо" баскычын басыңыз
  • Ошол учурдан тартып, сиз эки функциянын бирин тандай аласыз:

    • RFID ачкычтарын окуу: бул rfidKeys.txt файлына жаңы ачкычтарды кошот
    • Катталуу айлампасы (демейки параметр): results.txt файлына жаңы айланууну каттайт. Ар бир жарактуу ачкыч окулганда, билдирүү пайда болот жана каттоону ырастоо үчүн сигнал үнү угулат. Results.txt файлына сап кошулат. Алдоо аракети болгон учурда, билдирүү өзүнчө текст кутусунда пайда болот, дагы бир бип чыгат жана натыйжа fraude.txtке жазылат. Бул учурда, айлануу убактысы алдамчылык аныкталган учурга чейин белгиленет.

4 -кадам: Мүмкүн болгон жакшыртуулар

Мен бул долбоорду мектебимдеги конкреттүү жагдай үчүн жараткам. Көрүнүп тургандай, кээ бир параметрлер сиздин долбоорго ылайык келбеши мүмкүн. Азырынча, сиз C# кодундагы параметрлерди тууралап, программаны кайра компиляциялашыңыз керек болот, бул Visual Studio орнотуусун талап кылат (3,5 ГБ чоң орнотуу). Эгерде жооптун акылга сыярлык өлчөмү бар болсо, анда мен бул параметрлерди тышкы файлдан окуп чыгууну ойлонушум мүмкүн.

Мен Arduino долбоорун куруу үчүн тапкан 3D-корпустар жараксыз. Мен биринчиден баштадым, бирок кээ бир тоскоолдуктар болду, себеби, мен аларды азырынча кошо элекмин. Кимдир бирөө менен бөлүшкүсү келсе, мени менен байланышса болот, ошондуктан мен бул Нускамада сиздин ишиңизге кайрыла алам.

5 -кадам: Бармагыңызды бериңиз !

Мен бул долбоорду колдоно аласыз деп үмүттөнөм жана сизден жооп күтөм.