Мазмуну:
- 1 -кадам: Биометрикалык добуш берүү машинасын куруу үчүн керектүү компоненттер
- 2 -кадам: Arduino колдонуп биометрикалык добуш берүү машинасынын схемасы
- 3 -кадам: Булак коду жана этап -этабы менен кодду түшүндүрүү
- 4 -кадам: Arduino аркылуу манжа изинин добуш берүү тутумун текшерүү
Video: Манжа изине негизделген биометрикалык добуш берүү машинасы Arduino аркылуу: 4 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Биз баарыбыз колдонуучу добуш берүү үчүн кнопканы басуу керек болгон электрондук добуш берүүчү машинаны билебиз. Бирок бул машиналар башынан бери чыңалганы үчүн сынга алынган. Ошентип, өкмөт манжа изине негизделген добуш берүүчү машинаны киргизүүнү пландап жатат, анда колдонуучулар анын манжа изине жараша добуш бере алышат. Бул система добуштардын кайталануу мүмкүнчүлүгүн жок кылбастан, ар кандай манипуляциянын алдын алат.
Ошентип, бул долбоордо биз Arduino Uno, TFT дисплейи жана манжа изинин сенсорун колдонуп биометрикалык добуш берүүчү машинанын прототибин түзөбүз. Биз мурун NodeMCU менен R305 манжа изинин сенсорун биометрикалык негиздеги катышуу тутумун куруу үчүн колдонгонбуз, бирок бул жерде биз Arduino менен өнүккөн GT-511C3 манжа изинин сенсорун колдонобуз.
1 -кадам: Биометрикалык добуш берүү машинасын куруу үчүн керектүү компоненттер
- Arduino Uno
- 2.4”TFT LCD дисплей калканы
- GT-511C3 манжа изинин сенсору
Бул 2.4 дюймдук TFT дисплейи Arduino менен мурда IoT негизиндеги ресторан менюсун заказ кылуу системасын куруу үчүн колдонулган.
2 -кадам: Arduino колдонуп биометрикалык добуш берүү машинасынын схемасы
Бул долбоордун схемасы абдан жөнөкөй, анткени биз TFT дисплейин жана манжа изинин сенсор модулун Arduino Uno менен гана байланыштырып жатабыз. Манжа изинин сенсорунун VCC жана GND казыктары 5V жана GND казандарына Arduino, TX жана RX казыктары Arduino Uno санариптик 11 жана 12 туташтырылган.
2.4”TFT LCD экраны Arduino Shield болуп саналат жана аны төмөндөгү сүрөттө көрсөтүлгөндөй Arduino Uno түз орнотсо болот. TFT дисплейинде 28 казык бар, алар Arduino Uno'го эң сонун дал келет, ошондуктан манжанын изи сенсорун Arduino'нун арт жагына ширетүүгө туура келди.
3 -кадам: Булак коду жана этап -этабы менен кодду түшүндүрүү
Бул манжа изинин добуш берүү тутумунун долбоорунун толук коду Arduino аркылуу макаланын аягында берилген; бул жерде биз коддун кээ бир маанилүү функцияларын түшүндүрүп жатабыз.
Код SPFD5408, Software Serial жана FPS_GT511C3 китепканаларын колдонот. SPFD5408 китепканасы - бул түпнуска Adafruit китепканасынын өзгөртүлгөн версиясы. Бул китепкана файлдарын төмөнкү шилтемелерден жүктөп алсаңыз болот:
- SPFD5408 китепканасы
- Программалык серия
- FPS_GT511C3
Китепканаларды кошуп, кээ бир маанилүү параметрлерди аныктагандан кийин, программалоо бөлүгүнө кире алабыз. Бул программага катышкан үч бөлүм бар. Бири добуш берүүчү машинанын интерфейсин түзүүдө, экинчиси-баскычтар үчүн тийүү чекиттерин алуу жана тийүүнүн негизинде баскычтарды аныктоо жана жыйынтыгын эсептөө жана аларды Arduino эсине сактоо.
1. UI түзүү:
Мен үч баскыч жана проектин аты бар жөнөкөй UI түздүм. TFT дисплей китепканасы сызыктарды, тик бурчтукту, тегерекчелерди, символдорду, саптарды жана башка көптөгөн түстөрдү жана өлчөмдөрдү тартууга мүмкүндүк берет. Бул жерде fillRoundRect жана drawRoundRect функцияларын колдонуу менен эки тик бурчтуу баскычтар түзүлөт. Tft.drawRoundRect функциясынын синтаксиси төмөндө келтирилген:
tft.drawRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t радиусу, uint16_t түсү)
Кайда:
x0 = X тик бурчтуктун баштапкы чекитинин координаты
y0 = Y тик бурчтуктун баштапкы чекитинин координаты
w = Тик бурчтуктун туурасы
h = Тик бурчтуктун бийиктиги
радиус = тегерек бурчтун радиусу
color = Ректин түсү.
void drawHome ()
{
tft.fillScreen (АК);
tft.drawRoundRect (0, 0, 319, 240, 8, АК); // Барактын чек арасы
tft.fillRoundRect (10, 70, 220, 50, 8, GOLD);
tft.drawRoundRect (10, 70, 220, 50, 8, АК); // Добуш бер
tft.fillRoundRect (10, 160, 220, 50, 8, GOLD);
tft.drawRoundRect (10, 160, 220, 50, 8, АК); // Катталуу
tft.fillRoundRect (10, 250, 220, 50, 8, GOLD); // Жыйынтык
tft.drawRoundRect (10, 250, 220, 50, 8, АК);
tft.setCursor (65, 5);
tft.setTextSize (3);
tft.setTextColor (CYAN);
tft.print ("Добуш берүү");
tft.setCursor (57, 29);
tft.print ("Машина");
tft.setTextSize (3);
tft.setTextColor (АК);
tft.setCursor (25, 82);
tft.print ("Талапкер 1");
tft.setCursor (25, 172);
tft.print ("Талапкер 2");
tft.setCursor (25, 262);
tft.print ("Талапкер 3");
}
2. Тийүү пункттарын алуу жана аныктоо баскычтары:
Эми коддун экинчи бөлүмүндө, биз баскычтын тийүү чекиттерин аныктап, андан кийин баскычты болжолдоо үчүн ушул пункттарды колдонобуз. ts.getPoint () функциясы колдонуучунун TFT дисплейине тийгенин аныктоо үчүн колдонулат. ts.getPoint тийген аймак үчүн Raw ADC баалуулуктарын берет. Бул RAW ADC баалуулуктары карта функциясын колдонуп пикселдик координаттарга айландырылат.
TSPoint p = ts.getPoint ();
эгер (p.z> ts.pressureThreshhold)
{
p.x = карта (p.x, TS_MAXX, TS_MINX, 0, 320);
p.y = карта (p.y, TS_MAXY, TS_MINY, 0, 240);
//Serial.print("X: ");
//Serial.print(p.x);
//Serial.print("Y: ");
//Serial.print(p.y);
Эми, биз X жана Y ар бир баскычтын координаттарын билгендиктен, колдонуучу 'if' билдирүүсүн колдонуу менен кайсы жерге тийгенин алдын ала айта алабыз.
эгер (p.x> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)
{
Serial.println ("Талапкер 1");
Шайлоочу талапкердин кнопкасын басканда, манжанын изинин сенсорунун манжасын сканерлөө суралат. Эгерде манжа идентификатору уруксат берилген болсо, анда шайлоочу добуш берүүгө укуктуу. Эгерде кандайдыр бир катталбаган колдонуучу добуш бергиси келсе, анда манжа изинин модулу системада анын идентификаторун аныктабайт жана дисплейде "Кечиресиз, добуш бере албайсыз" деген жазуу пайда болот.
эгер (fps. IsPressFinger ())
{
fps. CaptureFinger (жалган);
int id = fps. Identify1_N ();
эгер (id <200)
{
msg = "Талапкер 1";
voice1 ++;
EEPROM.write (0, добуш1);
tft.setCursor (42, 170);
tft.print ("Рахмат");
кечигүү (3000);
drawHome ();
3. Жыйынтык:
Акыркы кадам - EEPROM эсинен добуштардын санын алуу жана үч талапкердин добуштарын салыштыруу. Эң көп добуш алган талапкер жеңип чыгат. Натыйжага сериялык монитордон гана кирүүгө болот жана TFT экранында көрсөтүлбөйт.
добуш1 = EEPROM.read (0);
voice2 = EEPROM.read (1);
voice3 = EEPROM.read (2);
эгер (добуш)
{
эгер ((добуш1> добуш2 && добуш1> добуш3))
{
Serial.print ("Can1 утат");
кечигүү (2000);
}
4 -кадам: Arduino аркылуу манжа изинин добуш берүү тутумун текшерүү
Долбоорду текшерүү үчүн Arduino Uno -ны ноутбукка туташтырып, берилген кодду жүктөңүз. Код жүктөлгөндөн кийин, TFT дисплейи талапкердин атын көрсөтүшү керек. Кимдир бирөө талапкердин атын таптаганда, машина манжа изинин сканерин сканерлөөнү суранат. Эгерде манжа изи жарактуу болсо, анда колдонуучунун добушу эсептелет, бирок үлгү маалымат базасынын рекорддоруна дал келбесе, добуш берүү мүмкүнчүлүгү четке кагылат. Ар бир талапкерге берилген добуштардын жалпы саны EEPROMда сакталат жана эң көп добушка ээ болгон талапкер утуп чыгат.
Окутуу сизге жакты жана пайдалуу нерсени үйрөндүңүз деп үмүттөнөм. Эгерде сизде кандайдыр бир суроолор болсо, төмөндөгү комментарийлер бөлүмүндө бизге билдириңиз, жана дагы башка кызыктуу долбоорлор үчүн Instructableде бизди ээрчиңиз.
Сунушталууда:
Макей Макей Доктор Сеусс Китепке добуш берүү: 4 кадам
Макей Макей Доктор Сеусс Китепке Добуш берүү: Америка боюнча окуу жумасын майрамдоодо биз студенттерге сүйүктүү доктор Сеусс китебине добуш бердик. Интерактивдүү дисплей биздин башкы фойеде болгон, ал баарына көрүндү. Студенттер өз тандоолорун басып, 1 -жана 2 -нерседен кабар алышты
Манжа изи боюнча добуш берүү онлайн тутуму (FVOS): 5 кадам
Манжа изи боюнча добуш берүүнүн онлайн тутуму (FVOS): Бармак изи боюнча добуш берүү онлайн тутуму шайлоочуларга өз маалыматын чогултуу жана ырастоо аркылуу добуштарды толугу менен санариптештирүү аркылуу түзмөк аркылуу манжа изин сканерлөө жана маалыматтарды серверге сактоо аркылуу берет. Бул колдонуучуга ыңгайлуу G
Arduino манжа изине баруу тутуму W/ булутту сактоо: 8 кадам
Arduino манжа изине катышуу тутуму W/ булутту сактоо: Сиз бул жана башка укмуштуудай сабактарды ElectroPeakтин расмий веб -сайтынан окуй аласыз Обзор Азыркы учурда, IoT түзмөктөрүнүн иштеши жана ишке ашырылышы жөнүндө билүү IoT системаларынын колдонулушунун көбөйүшүнө байланыштуу абдан маанилүү. Бул үйрөткүчтө биз жасайбыз
Биометрикалык жеке күндөлүк: 5 кадам (сүрөттөр менен)
Биометрикалык жеке күндөлүк: Бул тыкан кичинекей гаджеттин манжа изинин сенсору бар, андыктан өзүңүздүн сонун нерселериңизди жекелештирилген портативдик корпуста коргой аласыз. Мен күндөлүк, калем кармап, жаңы долбоорлорумдун дизайнын колдоном. 3d басылган корпусту камтыйт жана Arduino наносун колдонот. Улуу белек идеясы
BitTorrent аркылуу файлдарды LAN аркылуу өткөрүп берүү: 6 кадам
Файлдарды LAN аркылуу BitTorrent аркылуу өткөрүп берүү: Кээде файлдарды тармак аркылуу бир нече компьютерге өткөрүп берүү керек болушу мүмкүн. Сиз аны флешкага же CD/DVDге коюп жатканда, файлдарды көчүрүү үчүн ар бир компьютерге барышыңыз керек болчу жана бардык файлдарды көчүрүү үчүн бир аз убакыт кетиши мүмкүн (айрыкча f