Բովանդակություն:
- Քայլ 1. Կենսաչափական քվեարկության մեքենա ստեղծելու համար անհրաժեշտ բաղադրիչներ
- Քայլ 2. Կենսաչափական քվեարկող մեքենայի սխեմայի սխեման Arduino- ի միջոցով
- Քայլ 3. Աղբյուրի ծածկագիր և քայլ առ քայլ օրենսգրքի բացատրություն
- Քայլ 4. Մատնահետքերի քվեարկության համակարգի փորձարկում Arduino- ի միջոցով
Video: Arduino- ի միջոցով մատնահետքերի վրա հիմնված կենսաչափական քվեարկության մեքենա. 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Մենք բոլորս տեղյակ ենք գոյություն ունեցող էլեկտրոնային քվեարկության մեքենայի մասին, որտեղ օգտվողը պետք է սեղմի կոճակը `քվեարկելու համար: Բայց այդ մեքենաներն ի սկզբանե քննադատության են ենթարկվել կոփելու համար: Այսպիսով, կառավարությունը մտադիր է ներդնել մատնահետքերի վրա հիմնված քվեարկության մեքենա, որտեղ օգտվողները կարող են քվեարկել ՝ հիմնվելով նրա մատնահետքի տպավորության վրա: Այս համակարգը ոչ միայն կհեռացնի կրկնվող քվեների հնարավորությունը, այլև կկանխի ցանկացած տեսակի մանիպուլյացիաներ:
Այսպիսով, այս նախագծում մենք պատրաստվում ենք կառուցել կենսաչափական քվեարկող մեքենայի նախատիպ ՝ օգտագործելով Arduino Uno, TFT էկրան և մատնահետքերի ցուցիչ: Նախկինում մենք օգտագործել էինք R305 մատնահետքի ցուցիչ NodeMCU- ով ՝ կենսաչափական հիմքով հաճախումների համակարգ կառուցելու համար, սակայն այստեղ մենք կօգտագործենք առաջադեմ GT-511C3 մատնահետքի սենսորը Arduino- ով:
Քայլ 1. Կենսաչափական քվեարկության մեքենա ստեղծելու համար անհրաժեշտ բաղադրիչներ
- Արդուինո Ունո
- 2.4”TFT LCD էկրանային վահան
- GT-511C3 մատնահետքի ցուցիչ
Այս 2.4 դյույմանոց TFT էկրանը նախկինում Arduino- ի հետ օգտագործվում էր IoT- ի վրա հիմնված ռեստորանների ընտրացանկի պատվիրման համակարգ կառուցելու համար:
Քայլ 2. Կենսաչափական քվեարկող մեքենայի սխեմայի սխեման Arduino- ի միջոցով
Այս նախագծի սխեմաների սխեման շատ պարզ է, քանի որ մենք միայն TFT էկրանը և մատնահետքի ցուցիչի մոդուլը միացնում ենք Arduino Uno- ի հետ: Մատնահետքի տվիչի VCC և GND կապերը միացված են Arduino- ի 5V և GND կապերին, իսկ 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 գրադարան
- Softwareրագրային ապահովման սերիա
- FPS_GT511C3
Գրադարաններն ընդգրկելուց և որոշ կարևոր պարամետրեր սահմանելուց հետո կարող ենք մտնել ծրագրավորման մաս: Այս ծրագրում ընդգրկված է երեք բաժին: Մեկը քվեարկող մեքենայի UI- ի ստեղծումն է, երկրորդը ՝ կոճակների հպման կետերի ձեռքբերումը և հպման հիման վրա կոճակները հայտնաբերելը, և վերջապես արդյունքների հաշվարկը և դրանք 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 = Ուղղանկյունի բարձրությունը
շառավիղ = Կլոր անկյունի շառավիղ
գույն = Ուղղահայաց գույնը:
void drawHome ()
{
tft.fillScreen (ՍՊԻՏԱԿ);
tft.drawRoundRect (0, 0, 319, 240, 8, ՍՊԻՏԱԿ); // Էջի եզրագիծ
tft.fillRoundRect (10, 70, 220, 50, 8, ՈՍԿԻ);
tft.drawRoundRect (10, 70, 220, 50, 8, ՍՊԻՏԱԿ); // Քվեարկեք
tft.fillRoundRect (10, 160, 220, 50, 8, ՈՍԿԻ);
tft.drawRoundRect (10, 160, 220, 50, 8, ՍՊԻՏԱԿ); // Գրանցվել
tft.fillRoundRect (10, 250, 220, 50, 8, ՈՍԿԻ); // Արդյունք
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- ը տալիս է հումքի ADC արժեքները հպված տարածքի համար: Այս RAW ADC արժեքները այնուհետև վերածվում են Pixel կոորդինատների ՝ օգտագործելով քարտեզի գործառույթը:
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 կոորդինատները յուրաքանչյուր կոճակի համար, մենք կարող ենք կանխատեսել, թե որտեղ է օգտվողը դիպչել ՝ օգտագործելով «եթե» հայտարարությունը:
եթե (p.x> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)
{
Serial.println («Թեկնածու 1»);
Երբ ընտրողը սեղմում է թեկնածուի կոճակը, նրան կպահանջվի մատը սկանավորել մատնահետքի տվիչի վրա: Եթե մատի ID- ն լիազորված է, ապա ընտրողին թույլատրվում է քվեարկել: Եթե որեւէ չգրանցված օգտվող ցանկանում է քվեարկել, ապա մատնահետքի մոդուլը չի հայտնաբերի իր ID- ն համակարգում, իսկ էկրանին կցուցադրվի «Ներեցեք, չեք կարող քվեարկել»:
եթե (fps. IsPressFinger ())
{
fps. CaptureFinger (կեղծ);
int id = fps. Identify1_N ();
եթե (id <200)
{
msg = "Թեկնածու 1";
քվեարկել 1 ++;
EEPROM.write (0, քվե 1);
tft.setCursor (42, 170);
tft.print («Շնորհակալություն»);
ուշացում (3000);
drawHome ();
3. Արդյունք:
Վերջին քայլը EEPROM- ի հիշողությունից ձայների հաշվարկն է և բոլոր երեք թեկնածուների ձայների համադրումը: Հաղթում է առավելագույն ձայներ հավաքած թեկնածուն: Արդյունքը կարող է հասանելի լինել միայն սերիական մոնիտորից և չի ցուցադրվի TFT էկրանին:
քվե 1 = EEPROM.read (0);
ձայն 2 = EEPROM.read (1);
ձայն 3 = EEPROM.read (2);
եթե (քվեարկել)
{
եթե ((քվե 1> քվե 2 && քվե 1> քվե 3))
{
Serial.print («Can1 հաղթում է»);
ուշացում (2000);
}
Քայլ 4. Մատնահետքերի քվեարկության համակարգի փորձարկում Arduino- ի միջոցով
Նախագիծը փորձարկելու համար Arduino Uno- ն միացրեք նոութբուքին և վերբեռնեք տրված կոդը: Կոդը վերբեռնելուց հետո TFT ցուցադրումը պետք է ցուցադրի թեկնածուի անունը: Երբ ինչ -որ մեկը դիպչի թեկնածուի անունին, մեքենան կխնդրի սկանավորել մատնահետքերի սկաները: Եթե մատնահետքը վավեր է, ապա օգտատիրոջ ձայնը կհաշվվի, բայց այն դեպքում, երբ օրինակը չի համընկնում տվյալների բազայի գրառումների հետ, քվեարկությանը մասնակցելու իրավունքը մերժվելու է: Յուրաքանչյուր թեկնածուի ձայների ընդհանուր թիվը կպահպանվի EEPROM- ում և կհաղթի այն թեկնածուն, որն ունի առավելագույն թվով ձայներ:
Հուսով եմ, որ ձեզ դուր եկավ ձեռնարկը և օգտակար բան սովորեցիք: Եթե ունեք որևէ հարց, խնդրում ենք մեզ տեղյակ պահել ստորև բերված մեկնաբանությունների բաժնում, ինչպես նաև հետևեք մեզ Instructable- ում ՝ նման ավելի հետաքրքիր նախագծերի համար:
Խորհուրդ ենք տալիս:
Մատնահետքերի և RFID- ի վրա հիմնված հաճախելիության համակարգ ՝ օգտագործելով Raspberry Pi և MySQL տվյալների շտեմարան. 5 քայլ
Մատնահետքերի և RFID- ի վրա հիմնված հաճախելիության համակարգ ՝ օգտագործելով Raspberry Pi և MySQL տվյալների շտեմարան. Այս նախագծի տեսանյութը
Կենսաչափական մեքենայի մուտք - ճշմարիտ առանց բանալու մեքենա. 4 քայլ
Կենսաչափական մեքենայի մուտք - ճշմարիտ առանց բեռնատար մեքենա. Մի քանի ամիս առաջ աղջիկս հարցրեց ինձ, թե ինչու ժամանակակից մեքենաները հագեցած չեն կենսաչափական մուտքի համակարգով, երբ նույնիսկ բջջային հեռախոսն է այն ունենում: Այդ ժամանակից ի վեր ես աշխատում էի նույնը իրականացնելու վրա և վերջապես կարողացա ինչ -որ բան տեղադրել և փորձարկել իմ T
Մատնահետքերի քվեարկության առցանց համակարգ (FVOS) ՝ 5 քայլ
Մատնահետքերի քվեարկության առցանց համակարգ (FVOS). Մատնահետքերի քվեարկության առցանց համակարգը թույլ է տալիս ընտրողներին քվեարկել լիովին թվայնացված եղանակով `հավաքելով և հաստատելով իր տվյալները` սարքի միջոցով մատնահետքը սկանավորելով և տվյալները սերվերում պահելով: Այն ունի օգտագործողի համար հարմար G
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ - IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. 4 քայլ
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ | IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. Բարև ձեզ, այս հրահանգների մեջ մենք կդարձնենք ոչ կոնտակտային ջերմաչափ arduino- ով: Քանի որ երբեմն հեղուկի/պինդի ջերմաստիճանը չափազանց բարձր է կամ ցածր, ապա դժվար է դրա հետ կապ հաստատել և կարդալ այդ դեպքում ջերմաստիճանը
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի