فهرست مطالب:
- مرحله 1: اجزای مورد نیاز برای ساخت دستگاه رای گیری بیومتریک
- مرحله 2: نمودار مدار دستگاه رأی گیری بیومتریک با استفاده از آردوینو
- مرحله 3: کد منبع و توضیح مرحله به مرحله کد
- مرحله 4: آزمایش سیستم رای گیری اثر انگشت با استفاده از آردوینو
تصویری: دستگاه رأی گیری بیومتریک مبتنی بر اثر انگشت با استفاده از آردوینو: 4 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
همه ما از دستگاه رای گیری الکترونیکی موجود مطلع هستیم که در آن کاربر برای رأی دادن باید دکمه ای را فشار دهد. اما این ماشین ها از همان ابتدا به دلیل خنک شدن مورد انتقاد قرار گرفتند. بنابراین دولت در حال برنامه ریزی برای معرفی دستگاه رأی گیری مبتنی بر اثر انگشت است که در آن کاربران می توانند بر اساس اثر انگشت وی رای دهند. این سیستم نه تنها امکان رأی های تکراری را از بین می برد بلکه از هر نوع دستکاری جلوگیری می کند.
بنابراین در این پروژه ، ما قصد داریم با استفاده از Arduino Uno ، صفحه نمایش TFT و سنسور اثر انگشت ، یک نمونه اولیه از دستگاه رأی گیری بیومتریک بسازیم. ما قبلاً از سنسور اثر انگشت R305 با NodeMCU برای ساخت یک سیستم حضور و غیاب بیومتریک استفاده کرده بودیم ، اما در اینجا از سنسور اثر انگشت پیشرفته GT-511C3 با آردوینو استفاده خواهیم کرد.
مرحله 1: اجزای مورد نیاز برای ساخت دستگاه رای گیری بیومتریک
- آردوینو اونو
- 2.4 اینچ TFT LCD Shield Shield
- سنسور اثر انگشت GT-511C3
این صفحه نمایش 2.4 اینچی TFT قبلاً با Arduino برای ساخت سیستم سفارش منوی رستوران مبتنی بر اینترنت اشیا استفاده می شد.
مرحله 2: نمودار مدار دستگاه رأی گیری بیومتریک با استفاده از آردوینو
نمودار مدار برای این پروژه بسیار ساده است زیرا ما فقط صفحه نمایش TFT و ماژول حسگر اثر انگشت را با Arduino Uno متصل می کنیم. پین های VCC و GND سنسور اثر انگشت به پین های 5V و GND آردوینو و پایه های TX و RX به پین های دیجیتال 11 و 12 Arduino Uno متصل هستند.
صفحه نمایش 2.4 اینچی TFT LCD یک Arduino Shield است و می توان آن را مستقیماً روی Arduino Uno نصب کرد ، همانطور که در تصویر زیر نشان داده شده است. صفحه نمایش TFT دارای 28 پین است که کاملاً در Arduino Uno جای می گیرد ، بنابراین مجبور شدم سنسور اثر انگشت را در پشت آردوینو لحیم کنم.
مرحله 3: کد منبع و توضیح مرحله به مرحله کد
کد کامل این پروژه سیستم رای گیری اثر انگشت با استفاده از آردوینو در انتهای مقاله آمده است. در اینجا ما برخی از عملکردهای مهم کد را توضیح می دهیم.
کد از کتابخانه های SPFD5408 ، Serial Software و FPS_GT511C3 استفاده می کند. کتابخانه SPFD5408 نسخه اصلاح شده کتابخانه اصلی Adafruit است. این فایلهای کتابخانه را می توانید از پیوندهای زیر بارگیری کنید:
- کتابخانه SPFD5408
- سریال نرم افزار
- FPS_GT511C3
پس از گنجاندن کتابخانه ها و تعریف پارامترهای مهم ، می توانیم وارد قسمت برنامه نویسی شویم. سه بخش در این برنامه وجود دارد. یکی ایجاد یک رابط کاربری از دستگاه رای گیری ، دوم گرفتن نقاط تماس برای دکمه ها و تشخیص دکمه ها بر اساس لمس و در نهایت محاسبه نتایج و ذخیره آنها در حافظه آردوینو.
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 = مختصات نقطه شروع مستطیل شکل
w = عرض مستطیل
h = ارتفاع مستطیل
شعاع = شعاع گوشه گرد
color = رنگ Rect.
void drawHome ()
{
tft.fillScreen (WHITE) ؛
tft.drawRoundRect (0 ، 0 ، 319 ، 240 ، 8 ، WHITE) ؛ // حاشیه صفحه
tft.fillRoundRect (10 ، 70 ، 220 ، 50 ، 8 ، GOLD) ؛
tft.drawRoundRect (10 ، 70 ، 220 ، 50 ، 8 ، WHITE) ؛ //رای
tft.fillRoundRect (10 ، 160 ، 220 ، 50 ، 8 ، GOLD) ؛
tft.drawRoundRect (10 ، 160 ، 220 ، 50 ، 8 ، WHITE) ؛ // ثبت نام کنید
tft.fillRoundRect (10 ، 250 ، 220 ، 50 ، 8 ، GOLD) ؛ // نتیجه
tft.drawRoundRect (10 ، 250 ، 220 ، 50 ، 8 ، WHITE) ؛
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 با استفاده از تابع map به مختصات Pixel تبدیل می شوند.
TSPoint p = ts.getPoint ()؛
if (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" پیش بینی کنیم که کاربر کجا را لمس کرده است.
if (p.x> 70 && p.x 10 && p.y MINPRESSURE && p.z <MAXPRESSURE)
{
Serial.println ("نامزد 1") ؛
وقتی رای دهنده دکمه نامزد را فشار می دهد ، از او خواسته می شود انگشت را روی حسگر اثر انگشت اسکن کند. اگر شناسه انگشت مجاز است ، رای دهنده مجاز به رای دادن است. اگر هر کاربر ثبت نام نشده ای بخواهد رای دهد ، ماژول اثر انگشت شناسه خود را در سیستم شناسایی نمی کند و روی صفحه نمایش "متأسفانه نمی توانید رای دهید" نشان داده می شود.
if (fps. IsPressFinger ())
{
fps. CaptureFinger (false) ؛
int id = fps. Identify1_N ()؛
if (id <200)
{
msg = "نامزد 1"؛
رای 1++ ؛
EEPROM.write (0 ، رای 1) ؛
tft.setCursor (42 ، 170) ؛
tft.print ("متشکرم") ؛
تاخیر (3000) ؛
drawHome ()؛
3. نتیجه:
آخرین مرحله ، شمارش آرا از حافظه EEPROM و مقایسه آرای هر سه نامزد است. کاندیدایی با بیشترین آرا برنده می شود. نتیجه فقط از طریق مانیتور سریال قابل دسترسی است و در صفحه TFT نمایش داده نمی شود.
vote1 = EEPROM.read (0)؛
رای 2 = EEPROM.read (1) ؛
vote3 = EEPROM.read (2)؛
اگر (رای)
{
if ((رای 1> رأی 2 و & رأی 1> رأی 3))
{
Serial.print ("Can1 برنده می شود") ؛
تاخیر (2000) ؛
}
مرحله 4: آزمایش سیستم رای گیری اثر انگشت با استفاده از آردوینو
برای آزمایش پروژه ، Arduino Uno را به لپ تاپ متصل کرده و کد داده شده را بارگذاری کنید. پس از بارگذاری کد ، صفحه TFT باید نام نامزد را نشان دهد. وقتی شخصی روی نام یکی از نامزدها ضربه می زند ، دستگاه از شما می خواهد که اسکنر اثر انگشت را اسکن کنید. اگر اثر انگشت معتبر باشد ، رای کاربر شمرده می شود ، اما در صورت عدم مطابقت الگو با سوابق پایگاه داده ، دسترسی به رای دادن ممنوع می شود. تعداد کل آرا برای هر نامزد در EEPROM ذخیره می شود و کاندیدایی که بیشترین آرا را داشته باشد برنده می شود.
امیدوارم از آموزش لذت برده باشید و مطالب مفیدی را آموخته باشید. اگر سوالی دارید ، لطفاً در قسمت نظرات زیر به ما اطلاع دهید ، و همچنین در مورد Instructable برای پروژه های جالب دیگر ما را دنبال کنید.
توصیه شده:
سیستم آنلاین رای گیری با اثر انگشت (FVOS): 5 مرحله
سیستم آنلاین رای گیری اثر انگشت (FVOS): سیستم رای گیری اثر انگشت به رای دهندگان اجازه می دهد تا با جمع آوری و تأیید اطلاعات خود از طریق اسکن اثر انگشت از طریق دستگاه و ذخیره داده ها در سرور ، رای خود را به صورت کاملاً دیجیتالی بدهند. دارای G کاربر پسند
دماسنج مادون قرمز غیر تماسی مبتنی بر آردوینو - دماسنج مبتنی بر IR با استفاده از آردوینو: 4 مرحله
دماسنج مادون قرمز بدون تماس مبتنی بر آردوینو | دماسنج مبتنی بر IR با استفاده از آردوینو: سلام بچه ها در این دستورالعمل ما با استفاده از آردوینو یک دماسنج غیر تماسی ایجاد می کنیم. از آنجا که گاهی اوقات دمای مایع/جامد بسیار زیاد یا بسیار پایین است و سپس تماس با آن و خواندن آن سخت است. دما در آن حالت
استفاده از حسگر اثر انگشت برای حضور همزمان در ترکیب با راه حل XAMP: 6 مرحله (همراه با تصاویر)
استفاده از حسگر اثر انگشت برای حضور همزمان در ترکیب با راه حل XAMP: برای یک پروژه مدرسه ، ما به دنبال راه حلی در مورد نحوه پیگیری حضور دانش آموزان بودیم. بسیاری از دانش آموزان ما دیر می آیند. کار خسته کننده ای است که حضور آنها را بررسی کنید. از سوی دیگر ، بحث های زیادی وجود دارد زیرا دانش آموزان اغلب می گویند
دستگاه خودپرداز با استفاده از آردوینو (چاپ با انگشت+کارت RFID): 4 مرحله (همراه با تصاویر)
دستگاه خودپرداز با استفاده از آردوینو (چاپ انگشت+کارت RFID): سلام دوستان ، من با ایده جدیدی از دستگاه خودپرداز با استفاده از آردوینو برگشتم. این می تواند در مناطق روستایی که خدمات بدون پول نقد امکان پذیر نیست مفید باشد. این ایده کمی است. امیدوارم از آن لذت بردید. بیایید شروع کنیم
آموزش سنسور اثر انگشت آردوینو: 6 مرحله (همراه با تصاویر)
آموزش سنسور اثر انگشت آردوینو: دوستان عزیز به آموزش دیگری خوش آمدید! امروز ما قصد داریم یک پروژه جالب آردوینو بسازیم که از ماژول حسگر اثر انگشت استفاده می کند. بدون هیچ تاخیری بیشتر ، اجازه دهید شروع کنیم! من همیشه می خواستم یک ماژول سنسور اثر انگشت را در