بخش های سایت
انتخاب سردبیر:
- بررسی سرعت اینترنت: مروری بر روشها چگونه سرعت واقعی اینترنت را از ارائهدهنده خود بفهمیم
- سه راه برای باز کردن ویرایشگر رجیستری ویندوز باز کردن رجیستری با استفاده از جستجو
- نحوه پارتیشن بندی هارد دیسک
- هارد دیسک را به پارتیشن تقسیم می کنیم
- وقتی کامپیوتر روشن می شود بوق می دهد
- تغییر صحیح پسوند فایل در ویندوز نحوه تغییر پسوند آرشیو
- مسدود کردن تبلیغات در YouTube YouTube بدون تبلیغات
- TeamViewer - کنترل کامپیوتر از راه دور برنامه را برای برقراری ارتباط با رایانه دیگری دانلود کنید
- نحوه پیدا کردن ویژگی های رایانه خود در ویندوز: روش های سیستم و برنامه های ویژه
- ما مرورگرها را در دستگاه های مختلف به روز می کنیم: رایانه، تبلت، تلفن هوشمند مرورگر به روز شده را کجا و چگونه نصب کنید
تبلیغات
قفل بیومتریک - راه اندازی اسکنر و برنامه ریزی میکروکنترلر. قفل اثر انگشت بیومتریک خانگی برای اسکنر اثر انگشت درب گاراژ برای قالب های مختلف آردوینو |
از آنجایی که من ماشین ندارم، لازم نیست کلیدهایم را همه جا با خودم ببرم. به همین دلیل مشخص شد که چندین بار خودم را بدون کلید بیرون از خانه دیدم و مجبور شدم منتظر بمانم تا یکی از اقوام به خانه بیاید و اجازه ورود بدهم و در یک مقطعی به این نتیجه رسیدم که باید کاری انجام دهم. و یک قفل گاراژ خانگی طراحی کرد. در این پروژه به شما نشان خواهم داد که چگونه یک قفل اثر انگشتی برای درب ورودی خود بسازید.
مرحله 1: مواددر اینجا لیستی از مواد و ابزار مورد نیاز آورده شده است. الکترونیک:
برای راحتی کار، لیست علاقه مندی های آماده را در وب سایت Sparkfun ضمیمه می کنم. ابزار:
مرحله 2: نمودار دستگاهکیت LCD خریداری شده از Sparkfun همراه با ATmega328 است که نمایشگر را کنترل می کند. ATmega328 بسیار قدرتمند است و نه تنها برای کنترل نمایشگر، بلکه برای کارهای دیگر نیز قابل استفاده است. با توجه به این موضوع، می توانیم به جای آردوینو از آن برای برقراری ارتباط با اسکنر اثر انگشت و ارسال دستورات به ATtiny85، کنترل نمایشگر و بیپر استفاده کنیم. برای اینکه قفل بیومتریک درب همیشه کار نکند، یک سوئیچ در آن تعبیه کردم که در لحظه بسته شدن قاب کار می کند. در صورت بسته بودن کیس، برق دستگاه تامین نمی شود و در مصرف باتری صرفه جویی می کنیم. نکته مهم: اسکنر اثر انگشت با ولتاژ 3.3 ولت کار می کند، بنابراین توصیه می کنم از یک تقسیم کننده ولتاژ استفاده کنید که سیگنال ها را از ATmega به 3.2 ولت تبدیل می کند. تقسیم کننده ولتاژ از یک مقاومت 560 اهم بین پایه اسکنر D10/ثانیه و یک مقاومت 1K بین پایه اسکنر GND/ثانیه تشکیل شده است. پین اوت LCD:
پین اوت ATtiny85:
مرحله 3: مونتاژ اجزای کیت LCDنام این مرحله برای خود صحبت می کند: راهنمای شروع سریع / مونتاژ مفید مرحله 4: مونتاژ مدار روی برد نمونه سازینحوه قرارگیری قطعات روی برد به عهده شماست، فقط سعی کنید سیم ها را طوری لحیم کنید که در یک جهت قرار گیرند و نشکنند. پس از مونتاژ، بالا و پایین تخته را با چسب حرارتی پوشاندم - این باعث می شود عناصر مدار ثابت و عایق شوند. چسب داغ به تراشه آسیب نمی رساند. مانند برد اصلی، همه چیز را به برد ATtiny لحیم کنید و برای محکم کردن و جداسازی قطعات، چسب داغ بزنید. تنظیم کننده ولتاژ می تواند بسیار داغ شود، بنابراین بهتر است از چسب حرارتی روی آن یا هر سطح نزدیک آن خودداری کنید. همچنین بهتر است تخته ATtiny را با چسب حرارتی نپوشانید، زیرا ممکن است بخواهید آن را بردارید و دوباره برنامه ریزی کنید. مرحله 5: برنامه نویسی ATmega328همانطور که در مرحله 2 ذکر شد، ATmega328 دارای پردازنده به اندازه کافی قوی و پین های کافی برای آن است کنترل LCD، در حالی که سایر اجزای اضافی را کنترل می کند. برای رسیدن به این هدف، باید تراشه را برنامه ریزی کنید. اگر تو داری آردوینو اونویا Duemilanove، می توانید به سادگی تراشه را از روی آنها جدا کنید و آن را با چیپ موجود در کیت جایگزین کنید. یا می توانید یک برد FTDI Basic Breakout (5V) و ضمیمه های لحیم کاری را در کنار آن پیدا کنید (تصاویر مرحله 3 را ببینید) همچنین باید کد را در حالت "Duemilanove w/ ATmega328" آپلود کنید. کد زیر - برنامه کاریبرای بررسی عملکرد دستگاه #include "LiquidCrystal.h" LiquidCrystal lcd(2,3,4,5,6,7,8); void setup() ( pinMode(9, OUTPUT); // pinMode نور پس زمینه (13, OUTPUT)؛ // beeper lcd.begin(16, 2)؛ // 16 کاراکتر عرض، 2 DigitalWrite بالا (9، HIGH) ؛ / /turn on the backlight lcd.print("Hello world!"); //متن را با استفاده از تاخیر فاصله (2000) وسط قرار دهید؛ ) void loop() (//بیپر روشن و خاموش می شود، وضعیت آن روی نمایشگر نمایش داده می شود. lcd.clear(); 1000)؛ ) فایل ها مرحله 6: راه اندازی اسکنر اثر انگشتمن از این کتابخانه برای ارتباط با اسکنر استفاده کردم. لینک دانلود مستقیم. برای بررسی اینکه آیا کد شما کار می کند یا خیر، این تست کننده چشمک زدن را دانلود کنید. اسکنر اثر انگشت دارای حافظه داخلی مخصوص به خود برای ذخیره اطلاعات است. بنابراین پس از اینکه مطمئن شدید که اسکنر کار می کند، این برنامه را دانلود کنید تا اثر انگشت خود را با شناسه #0 به پایگاه داده اضافه کنید. کنسول سریال خود را باز کنید و به سادگی دستورالعمل ها را دنبال کنید. برنامه چشمک زن LED برای تست اسکنر/* این کد ساده LED را روشن و خاموش می کند. برای درک اینکه آیا ارتباط کار می کند یا خیر استفاده می شود. */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //تنظیم سخت افزار - اسکنر انگشت متصل به: //پین دیجیتال 10(arduino rx، fps tx) //پایه دیجیتال 11(arduino tx - مقاومت فریم در ثانیه 560 اهم tx - مقاومت 1000 اهم - GND) //این ولتاژ tx 5 ولتی را به حدود 3.2 ولت کاهش می دهد و ما اسکنر خود را FPS_GT511C3 fps (10، 11) نمی سوزانیم. void setup())( Serial.begin(9600)؛ fps.UseSerialDebug = true؛ // می توانید پیام ها را در صفحه اشکال زدایی سریال fps ببینید.Open(); ) void loop())( // تست چشمک زن LED برای اسکنر فریم در ثانیه. SetLED(true)؛ // LED داخل تاخیر اسکنر (1000) را روشن می کند؛ fps.SetLED(نادرست)؛ // LED داخل تاخیر اسکنر (1000) را خاموش می کند؛ )برنامه ای برای ضبط داده ها در اسکنر#include "FPS_GT511C3.h" #include "SoftwareSerial.h" //تنظیم سخت افزار - اسکنر انگشت متصل به: //پین دیجیتال 10 (arduino rx، fps tx) //پایه دیجیتال 11 (arduino tx - مقاومت 560 اهم fps tx - مقاومت 1000 اهم - GND) //با این کار 5v tx به حدود 3.2v کاهش می یابد و ما اسکنر خود را FPS_GT511C3 fps (10, 11) نمی سوزانیم. void setup())( Serial.begin(9600)؛ delay(100)؛ fps.Open(); fps.SetLED(true); Enroll(); ) void Enroll())( // آزمون ثبت نام // جستجو برای open id int enrollid = 0؛ fps.EnrollStart(enrollid); // register Serial.print("انگشت را فشار دهید تا ثبت نام کنید #"); Serial.println(enrollid); while(fps.IsPressFinger() == false) delay( 100)؛ bool bret = fps.CaptureFinger(true)؛ int iret = 0؛ if (bret != false) (Serial.println("Remove finger"); fps.Enroll1(); while(fps.IsPressFinger() = = true) delay(100)؛ Serial.println("همان انگشت را دوباره فشار دهید"؛ while(fps.IsPressFinger() == false) delay(100)؛ bret = fps.CaptureFinger(true)؛ if (bret != false) ( Serial.println ("Remove انگشت"); fps.Enroll2(); while(fps.IsPressFinger() == true) delay(100); Serial.println("انگشت را دوباره فشار دهید"); while( fps.IsPressFinger () == false) delay(100)؛ bret = fps.CaptureFinger(true)؛ if (bret!= false) (Serial.println("Remove انگشت"); iret = fps.Enroll3(); if (iret = = 0) ( Serial.println("ثبت نام با موفقیت انجام شد"); ) else ( Serial.print("ثبت نام با کد خطا انجام نشد:"); Serial.println(iret); ) ) else Serial.println("گرفتن انگشت سوم ناموفق بود"); ) else Serial.println("گرفتن انگشت دوم ناموفق بود"); ) else Serial.println("گرفتن انگشت اول ناموفق بود"); ) void loop())( delay(100000)؛ ) فایل هامرحله 7: ATtiny85 را برنامه ریزی کنیدATtiny85 چیزی شبیه به یک آردوینو ارزان قیمت است که در یک تراشه مونتاژ شده است. ATtiny85 می تواند توسط آردوینوهای دیگر، از جمله ATmega328 موجود در کیت LCD ما، برنامه ریزی شود. در پروژه از آن برای اجرای دستورات بسیار ساده استفاده می شود: سیگنال ATmega را بررسی کنید و در صورت درست بودن سیگنال، گیت را باز کنید. برای برنامه ریزی آن، همه چیز را مطابق عکس های پیوست شده وصل کنید. سپس فایل های لازم را دانلود کنید و این دستورالعمل ها را دنبال کنید. پس از دانلود کد، پین ۱۳ روی آردوینو (ال ای دی داخلی) باید روشن شود که نشان می دهد کد دانلود شده است. کد نهایی: //یک سیگنال کوتاه از ماژول اصلی برای بستن رله void setup())( pinMode(2,OUTPUT)؛ //نشانه LED از طریق یک مقاومت 10K pinMode(4,OUTPUT) دریافت می کند؛ //پایه ترانزیستور که گاراژ را باز می کند pinMode(0,INPUT)؛ //تاخیر ورودی(500)؛ //زمان دادن به دستگاه برای شروع DigitalWrite(2، HIGH)؛ //نشانگر LED ) void loop())( if(digitalRead(0))(/ /الگوی ساده برای تعویض تاخیر ترانزیستور (125)؛ if(digitalRead(0)==false)( delay(55); //wait، زیرا تایمر ATtiny ایده آل نیست if(digitalRead(0))( delay(55 ) if(digitalRead(0)= =false)( delay(55)؛ if(digitalRead(0))(delay(55)؛ if(digitalRead(0)==false)(digitalWrite(4, HIGH); / / ترانزیستور تاخیر دکمه (1000) را فشار می دهد؛ digitalWrite (4، LOW)، digitalWrite (2، LOW)، تاخیر (1000)؛ digitalWrite (2، HIGH)؛ ) ) ) ) ) ) ) فایل ها مرحله 8: کد نهاییدر زیر یک برنامه آردوینو است که من با استفاده از اسکنر و کتابخانه های نمایش نوشتم. برای اینکه مشخص شود در هر قسمت از برنامه چه اتفاقی می افتد، سعی کردم همه چیز را به بهترین شکل ممکن کامنت کنم. پس از دانلود این کد، همه چیز باید کار کند و تنها کاری که باید انجام شود، ادغام سیستم در درب است. هشدار: اگر کتابخانه اسکنر کار نمی کند، سعی کنید از آن استفاده کنید نسخه قدیمیآردوینو IDE. کد ATmega238: #include "LiquidCrystal.h" //display library #include "FPS_GT511C3.h" //fps (Fingerprint scanner) library #include "SoftwareSerial.h" //استفاده شده توسط کتابخانه اسکنر //پیکربندی صفحه نمایش و پین های اسکنر LiquidCrystal lcd( 2، 3، 4، 5، 6، 7، 8)؛ //نمایش پین اوت FPS_GT511C3 fps (10, 11); //RX، TX boolean isFinger = false; //true اگر کتابخانه fps انگشت روی اسکنر را تشخیص دهد //پین های خروجی const int buzzerPin = 13; const int backlightPin = 9; const int attinyPin = 12; const String idNames = ("خود"،"برادر"، "رایان"، "مامان"، "بابا"، "خاله"، "بزرگ"، "زید"، "شخص"، "شخص"، "شست"); void setup())( //تنظیم خروجی ها pinMode(buzzerPin, OUTPUT)؛ pinMode (backlightPin, OUTPUT)؛ pinMode(attinyPin, OUTPUT)؛ //برای اشکال زدایی //Serial.begin(9600)؛ fps.UseSerialDebug = false؛ / / برای اشکال زدایی fps از طریق درست می شود درگاه سریال//initialize libraries lcd.begin(16,2); digitalWrite (پین نور پس زمینه، HIGH)؛ //نور پس زمینه LCD fps.Open(); fps.SetLED(true); //LED برای فریم در ثانیه //بارگیری صدا برای (int i=0; i<30; i++){ tone(buzzerPin, 50+10*i, 30); delay(30); } tone(buzzerPin, 350); //вывод стартового сообщения lcd.print("Put your finger "); //команда вывода на экран lcd.setCursor(0, 1); //устанавливаем курсор на нулевую колонку первой строки lcd.print(" on the scanner "); delay(150); noTone(buzzerPin); //останавливаем стартовый звук } void loop(){ //сканируем и распознаём отпечаток, когда приложен палец waitForFinger(); lcd.clear(); //очищаем экран и устанавливаем курсов в положение 0,0 fps.CaptureFinger(false); //захватываем отпечаток для идентификации int id = fps.Identify1_N(); //идентифицируем отпечаток и сохраняем id if(id <= 10){ lcd.print(" Access granted "); //сообщение об успехе lcd.setCursor(0,1); //выводим на экран имя когда дверь открывается String message = " Hey " + idNames + "!"; lcd.print(message); tone(buzzerPin, 262, 1000); delay(1500); //отправляем сигнал для открытия двери digitalWrite(attinyPin, HIGH); //первый импульс синхронизирует задержку (10ms) delay(5); digitalWrite(attinyPin, LOW); delay(3); digitalWrite(attinyPin, HIGH); //следующие два - открывают дверь delay(15); digitalWrite(attinyPin, LOW); delay(5); digitalWrite(attinyPin, HIGH); delay(10); digitalWrite(attinyPin, LOW); delay(1000); lcd.clear(); lcd.print("Don"t forget to "); lcd.setCursor(0,1); lcd.print(" shut me off! "); delay(2000); waitForFinger(); //нажмите чтобы продолжить запись while(true){ //сохраняет новый отпечаток //выводит сообщение на экран lcd.clear(); lcd.print(centerText("So you want to")); lcd.setCursor(0,1); lcd.print(centerText("scan a new one?")); delay(2000); //Скопировано и слегка модифицировано из примера регистрации данных: int enrollid = 11; //выбираете какой id переписать\создать //отпустите палец, когда хотите записать id/имя, напечатанное на экране waitForFinger(); //ждёт, когда будет нажат fps while(enrollid==11){ for (int i = 1; i1){ lcd.print(i); enrollid = i-1; break; } } } //предупреждение, если в данном слоте уже есть данные if(fps.CheckEnrolled(enrollid)){ lcd.clear(); lcd.print(" Warning! ID #"); lcd.print(enrollid); lcd.setCursor(0,1); lcd.print(" has data. OK? "); delay(2500); waitForFinger(); //ждёт, когда будет нажат fps fps.DeleteID(enrollid); //удаляет данные delay(100); } //Enroll fps.EnrollStart(enrollid); lcd.clear(); lcd.print("Place finger to "); lcd.setCursor(0,1); lcd.print("enroll #"); lcd.print(enrollid); //выводит id, который был добавлен waitForFinger(); //ждёт, когда будет нажат fps //захватывает отпечаток и сохраняет его в память трижды для точности данных bool bret = fps.CaptureFinger(true); //картинка высокого качества для записи int iret = 0; //в случае ошибки if (bret != false){ //первая регистрация lcd.clear(); lcd.print(" Remove finger "); fps.Enroll1(); while(fps.IsPressFinger() == true) delay(100); //ждёт пока уберут палец lcd.clear(); lcd.print(" Press again "); waitForFinger(); //ждёт, когда будет нажат fps bret = fps.CaptureFinger(true); if (bret != false){ //вторая регистрация lcd.clear(); lcd.print(" Remove finger "); fps.Enroll2(); while(fps.IsPressFinger() == true) delay(100); lcd.clear(); lcd.print("Press yet again "); waitForFinger(); bret = fps.CaptureFinger(true); if (bret != false){ //третья регистрация iret = fps.Enroll3(); if (iret == 0){ //проверяет, были ли какие-нибудь ошибки lcd.clear(); lcd.print(" Success! "); delay(2000); beep(); //выключает Ардуино } else{ //запускает этот код в случае любой ошибки lcd.clear(); lcd.print("Fail. Try again "); delay(1000); } } lcd.clear(); lcd.print(" Failed 3rd "); //ошибка на третьей записи delay(1000); } lcd.clear(); lcd.print(" Failed 2nd "); //ошибка на второй записи delay(1000); } lcd.clear(); lcd.print(" Failed 1st "); //ошибка на первой записи delay(1000); } } else{ lcd.print("Fingerprint is"); //если отпечаток не распознан lcd.setCursor(0,1); lcd.print(" unverified "); delay(2000); lcd.clear(); lcd.print("Please try again"); lcd.setCursor(0,1); lcd.print("Use your pointer"); //pointer - указательный палец (можете использовать любой и заменить это слово) delay(500); } delay(250); } void beep(){ //издаёт звуки, чтобы кто-нибудь закрыл кейс lcd.clear(); lcd.print("Please close the"); lcd.setCursor(0,1); lcd.print(" case! "); for(int i=0;i=80 && !fps.IsPressFinger()){ beep(); } } timer = 0; //обнуляет таймер как только функция завершится } String centerText(String s) { //центрует текст на дисплее, чтобы он лучше смотрелся while(16-s.length()>1)( //اگر متن نیاز به مرکزیت دادن دارد s = " " + s + " "؛ // فاصله های یکنواخت را در هر دو طرف اضافه می کند ) return s; ) فایل ها برای ایجاد یک سیستم امنیتی بیومتریک ساده برای محافظت از خودروی شما در برابر دسترسی غیرمجاز، به یک حسگر اثر انگشت و یک میکروکنترلر آردوینو نیاز داریم. این پروژه از مواد آموزشی Adafruit استفاده می کند. برای سهولت در تکرار، از کد برنامه کامل این ماده با تغییرات جزئی استفاده می شود. ابتدا سیستم استارت خودرو را اصلاح می کنیم. اتصال اصلی، هادی IG از سوئیچ احتراق است که برق را به تنظیم کننده ولتاژ، سپس به میکروکنترلر آردوینو می رساند تا آن را خاموش و روشن کند و انگشت روی سنسور را به مدت 10 ثانیه اسکن کند. اگر اثر انگشت مطابقت داشته باشد، سیستم جعبه رله را فعال می کند که رله استارت را کنترل می کند. اکنون می توانید موتور را روشن کنید. پس از 10 ثانیه، حسگر اثر انگشت خاموش می شود. می توانید با تکرار چرخه احتراق دوباره آن را روشن کنید. اگر ظرف مدت 10 ثانیه حسگر اثر انگشت را تشخیص ندهد یا اثر انگشت با مرجع مطابقت نداشته باشد، سیستم استارت خاموش می شود و موتور روشن نمی شود. از آنجایی که هر وسیله نقلیه دارای سیستم پیکربندی راه اندازی متفاوتی است، قبل از اصلاح سیستم استارت باید با یک برقکار در مورد سیستم الکتریکی خودرو مشورت کنید یا نمودار سیم کشی را مرور کنید. لطفا توجه داشته باشید که حسگر اثر انگشت موتور را روشن نمی کند. این به سادگی رله استارت را فعال و غیرفعال می کند، که موتور را ممنوع کرده یا اجازه می دهد تا روشن شود. در این پروژه یک دستگاه ضد سرقت بر روی میتسوبیشی لنسر 2000 کوپه 2 در نصب شده است. مرحله 1: اجزای مورد استفادهمرحله 4: بارگیری برنامه اصلیحسگر اثر انگشت را همانطور که در نمودار نشان داده شده است وصل کنید و برنامه اصلی را بارگذاری کنید. برای نظارت بر عملکرد صحیح، یک LED و یک مقاومت را به پایه 12 وصل کنید. این برنامه بر اساس اصل مواد آموزشی اثر انگشت Adafruit کار می کند. با این حال، کد را کمی تغییر دادم و یک تایمر اضافه کردم تا سنسور بعد از 10 ثانیه خاموش شود تا از چراغ چشمک زن حسگر حواس پرتی نشود. مرحله 5: مونتاژ قسمت 1پیچ های زیر داشبورد را بردارید. اهرم رهاسازی کاپوت را شل کنید. قسمت پایین داشبورد را بردارید. سنسور را در فضای آزاد قرار دهید. مرحله 6: مونتاژ، قسمت 2فاصله مورد نیاز را اندازه بگیرید و یک منطقه کوچک را برای نصب ایمن سنسور برش دهید. مرحله 7: مونتاژ، قسمت 3بهتر است برد Arduino Uno را پشت حسگر اثر انگشت نصب کنید. صندلی را کمی تیز کردم تا برد آردوینو یونو در جای خود قرار بگیرد. چه چیزی نیاز دارید
نکات: در عکس رنگ سیم ها متفاوت است - در حین نصب چندین سیم شکسته شد زیرا ... آنها کاملا هوآوی بودند و من مجبور شدم رنگ های موجود دیگر را بگیرم. سیستم پیام در لحظات حساس به طور عمدی تکرار می شود. همچنین میتوانید سیستمی برای عکاسی از یک کارمند ورودی از طریق دوربین وب رایانه لوحی، اضافه کردن یک رله و کنترل دروازههای الکترونیکی، یکپارچگی کامل با ZUP از طریق پردازش خارجی که از طریق پارامترهای راهاندازی منتقل میشود و از بین بردن کارناوال برای دروازههای خطرناک مخصوصاً با اهمیت مخفی وارد کنید. . انتقاد مفید پذیرفته می شود. پیش درآمد با دیدن قیمت های سیستم های دسترسی موجود و سیستم های ردیابی زمان، جوهر سبز آرام آرام شروع به خفه کردن من کرد. پس از مدت ها قدم زدن در اطراف آردوینو و ماژول های آن، با ماژول اثر انگشت FPM10A مواجه شدم. این ماژول، بسته به نسخه، می تواند تعداد زیادی اثر انگشت - از 50 تا بی نهایت را در حافظه فلش خود ذخیره کند و در اکثر ماژول های تولید کنندگان کنترل بیومتریک استفاده می شود. با این حال، در پروژه من، به دلیل کتابخانه، به 254 محدود شده است. من بلافاصله به شما هشدار می دهم که کتابخانه کاملاً یافت شده خود را برای آردوینو پست می کنم زیرا ... من برای مدت طولانی با جستجو مشکل داشتم و 3 روز را برای جستجو و اشکال زدایی کتابخانه برای این ماژول تلف کردم. توضیحات ماژول ها کتابخانه مورد استفاده در پروژه امکان استفاده از اثر انگشت تا 256 (بایت) را فراهم می کند. این مقدار برای من بیش از حد بود؛ در موارد شدید، شما می توانید از 1 ماژول برای هر 256 کارمند استفاده کنید. الگوریتم کار سخت افزار:
الف) از طریق فایل بدن: start - run: shell: startup با استفاده از Notepad یک فایل با نام hz.bat و محتویات آن ایجاد کنید (مطمئن هستم که خودتان می توانید پارامترهای پایگاه داده فایل را مدیریت کنید - من sql دارم): "C:\Program Files\1cv8\ ... \bin\1cv8 exe.» ENTERPRISE / SServerName:Port\DBName» /NUser /PPpassword ب) با جایگزین کردن پوسته با استفاده از یک اسکریپت VB، یک کار پیشرفتهتر انجام میدهیم (حتماً بدون راهاندازی پوسته، علاوه بر کاربر پیشفرض، کاربر دیگری ایجاد کنید): با استفاده از Notepad یک فایل با نام C:\hz\hz.vbs و محتویات ایجاد کنید تنظیم oShell=createobject("wscript.shell") start - execute: regedit، شاخه را دنبال کنید: Current User\Software\Microsoft\Windows NT\CurrentVersion\Winlogon پارامتر رشته "شل" (REG_SZ) را اضافه کنید آن را ویرایش کنید: "wscript C:\hz\hz.vbs" (بدون نقل قول در پارامتر) راه اندازی مجدد و تست کنید. 1c باید بدون اکسپلورر شروع شود
به صورت برنامه ای:
برای برقراری ارتباط با 1c، از خطوط زیر استفاده می شود (من پردازش را برای conf و timesheet خود انجام دادم، فقط برای مثال در پروژه است اما در کد منبع گنجانده شده است): اتصال به پورت com Procedure StartSystem() ComPort = New COMObject("MsCommLib.MsComm"); ComPort.CommPort = 3 را امتحان کنید. ComPort.Settings = "9600,N,8,1"; ComPort.Handshaking = 0; ComPort.InBufferCount = 0; ComPort.InBufferSize = 70; ComPort.InputLen = 0; ComPort.InputMode = 1; ComPort.NullDiscard = 0; ComPort.PortOpen = True; هشدار استثنایی ("باز کردن پورت ممکن نیست!")؛ ThisForm.Close(); EndAttempt; hSeconds = 0; ConnectWaitHandler("OutputSportData"، 1، False); // یک هندلر را برای نظارت بر پایان رویه پورت وصل کنید قطع ارتباط از پورت کام Procedure EndSystem() DisableWaitHandler("OutputSportData"); ComPort.PortOpen = نادرست; ComPort = ""; پایان رویه خواندن داده ها از پورت com رویه OutputSportData() ExportSportData = ""; اگر ComPort.PortOpen سپس //ComPort.Output = "1"; SportsData = ComPort.Input; ProcessEncryptedString (SportData); در صورت اختصار (پیش کارمند)<>"" سپس hSeconds = hSeconds + 1; endIf; اگر hSeconds > 60 سپس PreEmployee = 0; hSeconds = 0; endIf; در غیر این صورت هشدار ("پورت باز نمی شود"); ThisForm.Close(); endIf; پایان رویه روند فرآیند رشته رمزگذاری شده (داده های ورزشی) آرایه = داده های ورزشی. Unload(); IndexMin = SportsData.GetLowerBound(0); IndexMax = SportsData.GetUpperBound(0); StringInfo = ""; برای Index = IndexMin By IndexMax - 1 Cycle SymbolReceived = AbbrLP(Array.Get(Index)); اگر CharacterReceived = "13" سپس اگر نه Suspend سپس RowInfo = RowProcessing(RowInfo); //در اینجا پردازش پیام EndIf; Else LineInfo = LineInfo + Symbol(Number(Symbol Received)); endIf; چرخه پایان پایان رویه ارسال اطلاعات به پورت com رویه SendToPort(Send) If ComPort.PortOpen سپس ComPort.Output = AbbrLP(Send); Else Notify("پورت باز نمی شود"، MessageStatus.VeryImportant); endIf; پایان رویه کد پروژه برای آردوینو مگا #عبارتند از پایان قیمت تبلت حدود 10000 روبل است. (در واقع از بین 7000 عدد جدید با 1 گیگ رم قابل خرید است اما با 4 گیگ 1c جابجایی آن خوشایندتر خواهد بود، من در واقع یک مورد استفاده شده را به قیمت 6000 در شرایط عالی با 1 گیگا بایت خریداری کردم اما با بهینه سازی بهینه شده است). راهرو برای تولید مبلمان ساخته شده بود، بنابراین بدنه را در آنجا ساختم. من فکر می کنم که می توانید "مخلوط خاک اره و مقوا" را در یک فروشگاه به قیمت 1000 روبل برش دهید. و آن را با پیچ های خودکار به هم بچسبانید/با چسب چسب بزنید. به عنوان آخرین راه حل، می توانید یک جعبه آماده (مثلاً یک کابینت برق) بردارید و یک پنجره را در آنجا ببرید. ماژول های آردوینو و غیره: حدود 2000 روبل. لذت طوفان فکری و ساختن قیمتی ندارد! اگر از یک دستگاه نسبتا قدیمی استفاده می کنید، پس نباید زودتر از موعد ناراحت شوید. به جای تعویض لپ تاپ قدیمی خود با لپ تاپ مدرن تر با سنسور بیومتریک داخلی، می توانید USB را به آن وصل کنید. حسگر اثر انگشت PQI Mini USB یک انتخاب عالی برای کسانی است که می خواهند به تجهیزات قدیمی عمری دوباره ببخشند. این اسکنر به طور خاص برای کار با ویژگی جدید Hello در دستگاه های دارای ویندوز 10 ایجاد شده است. با این حال، دستگاه از نسخه های سیستم عامل ویندوز 7 و 8 نیز پشتیبانی می کند. یکی از مزیت های اصلی سنسور این است که دارای قابلیت اسکن 360 درجه است. بنابراین لازم نیست نگران بهترین راه برای اتصال دستگاه خود به رایانه شخصی خود باشید. از نزدیکترین پورت USB استفاده کنید و شروع کنید. هنگامی که اسکنر نیاز به اثر انگشت داشته باشد، به طور خودکار به مکان مورد نیاز میچرخد و دادههای دریافتی را با کپی ذخیرهشده مقایسه میکند. حسگر اثر انگشت PQI Mini USB می تواند تا 10 پروفایل مختلف را ذخیره کند. این باعث می شود دستگاه برای اشتراک گذاری یا زمانی که نیاز به اسکن یک انگشت اضافی دارید (اگر انگشت "اصلی" کثیف یا زخمی شود) عالی است. حسگر اثر انگشت PQI Mini USB با قیمت بسیار مناسبی در دسترس است و برای کسانی که به دنبال مدل استارت هستند، گزینه ای عالی است. علاوه بر این، این اسکنر به اندازه کافی قابل حمل است که بدون دردسر زیاد قابل حمل است. اثر انگشت خوان Verifi P2000اگر از رایانه رومیزی استفاده می کنید که در آن دسترسی به پورت های USB چندان آسان نیست، به خواننده اثر انگشت Verifi P2000 توجه کنید. به راحتی به رایانه شخصی متصل می شود و مهمتر از همه، می توان آن را برای استفاده راحت تر در نزدیکی رایانه قرار داد. این اسکنر از فلز مقاوم در برابر ضربه ساخته شده است و برای سالهای طولانی دوام می آورد. علیرغم طراحی مقاوم، نرخ تشخیص اثر انگشت خوبی دارد. بنابراین لازم نیست دائماً موقعیت انگشت خود را تغییر دهید تا فقط یک تطابق کامل داشته باشید. در بیشتر موارد، تنها یک بار کشیدن سنسور کافی خواهد بود. هنگام ایجاد P2000، Verifit برنامه ریزی کرد تا دستگاه را قوی و بادوام کند تا تأثیری بر روند اسکن و دقت نتایج تشخیص نداشته باشد. اثر انگشت خوان Verifi P2000 یک دستگاه نسبتا قابل حمل است که می توانید به راحتی آن را با خود حمل کنید. علاوه بر این، با تعداد بسیار بیشتری از رایانه ها نسبت به سایر مدل های مشابه سازگار است. Kensington VeriMarkKensington VeriMark برای یک اسکنر اثر انگشت فوقالعاده کوچک، تقریباً همه چیزهایی را که برای یک تجربه راحت نیاز دارید، دارد. این مدل از اسکن 360 درجه پشتیبانی می کند و اندازه کوچکی دارد. اما نکته اصلی که Kensington VeriMark را بسیار ارزشمند می کند، عملکرد اضافی است. دستگاه تمام داده های دریافتی را به صورت رمزگذاری شده ذخیره می کند. هنگامی که حسگر اثر انگشت را اسکن می کند، بلافاصله آن را رمزگذاری می کند. قطع این فرآیند غیرممکن است، بنابراین هک نرم افزار یا سخت افزار و استخراج داده های بیومتریک امکان پذیر نخواهد بود. علاوه بر این، دستگاه از قالب خاصی برای رمزگشایی اسکن های دریافتی استفاده می کند که فقط سازنده آن را در اختیار دارد. این باعث می شود که از حملات هکرها و سایر تلاش ها برای دستیابی به دسترسی غیرمجاز ایمن تر شود. اسکنر از کار با پورت های نسبتا قدیمی، صرف نظر از نسخه منتشر شده، پشتیبانی می کند. اگر از یک مدل با استفاده از آداپتور USB-C به USB-A استفاده میکنید، میتوانید دستگاه را به یک لپتاپ یا رایانه نسبتاً قدیمی که از درگاههای USB مدرنتر پشتیبانی نمیکند وصل کنید. آنالایزر اثر انگشت BenssBenss Fingerprint Reader Analyzer یکی دیگر از اسکنرهایی است که می تواند زندگی شما را آسان کند و شما را از بسیاری از مشکلات نجات دهد. به عنوان یک قاعده، مدلهای سادهتر ابتدا یک عکس کنترلی میگیرند و پس از آن همه چاپهای بعدی با نتیجه اولیه مقایسه میشوند. این بدان معناست که اگر برای تصویر اصلی اتفاقی بیفتد (که تمام اسکنهای دیگر با آن مقایسه میشوند)، احتمال تطابق نتایج نهایی بسیار کاهش مییابد. Benss Fingerprint Reader Analyzer با یک الگوریتم خودآموز کار می کند که به طور خودکار پروفایل شما را با هر لمس ایجاد و به روز می کند. هر چه مدت زمان بیشتری از دستگاه استفاده کنید، نتایج دقیق تر خواهد بود. این امر فریب دادن اسکنر با اثر انگشت های جعلی را دشوارتر می کند. از آنجایی که حسگر دائما انگشت شما را اسکن می کند و پایگاه داده را به روز می کند، بلافاصله تلاش برای دسترسی غیرمجاز را تشخیص می دهد. این یکی از موثرترین ابزارها برای مقابله با حملات هکرها است. نرخ پذیرش نادرست آن کمتر از 0.002٪ است، به این معنی که شما باید واقعاً سعی کنید دستگاه را هک کنید. در عین حال، این کار را چندان پیچیده نمی کند؛ ضریب FRR آن (نرخ رد نادرست - عدم دسترسی به شخصی که در سیستم ثبت شده است) تنها 3٪ است. IDEM BioScan Compactاگر به دنبال یک اسکنر با قابلیت شخصی سازی هستید، IDEM BioScan Compact را دوست خواهید داشت. برای گسترش قابلیت های اساسی آن و دریافت قابلیت های اضافی، کافی است نرم افزار ویژه ای را از وب سایت رسمی سازنده دانلود کنید. پس از این، میتوانید فایلها و پوشههای فردی را روی رایانه خود رمزگذاری کنید، همچنین اطلاعات ورود و رمز عبور را برای دسترسی به وبسایتها در یک برنامه ویژه ذخیره کنید. به این ترتیب می توانید به سادگی با لمس سنسور با انگشت خود وارد هر درگاه اینترنتی شوید. حتی اگر قابلیت های اضافی را در نظر نگیرید، BioScan Compact یک مدل شایسته در نظر گرفته می شود. این دستگاه قادر است تا 10 اثر انگشت مختلف را ذخیره کند، دارای ابعاد کوچک و امنیت داخلی برای تشخیص داده های بیومتریک جعلی است. Blucoil SecuGen Hamster Pro 20Blucoil SecuGen Hamster Pro 20 اسکنر اثر انگشت ایده آل برای نیازهای حرفه ای است. با توجه به این واقعیت که این مدل تنظیمات امنیتی پیشرفته ای را ارائه می دهد، قیمت آن تقریباً دو برابر سایر دستگاه های موجود در لیست ما است. علاوه بر این، این یکی از معدود اسکنرهایی است که از لینوکس رسمی پشتیبانی می کند. بنابراین مهم نیست که از چه سیستم عاملی استفاده می کنید، سنسور برای هر کاری مناسب است. SecuGen Hamster Pro 20 یک دستگاه ضد ضربه است که در برابر خط و خش، آب و گرد و غبار محافظت می شود. اسکنر قادر است آثار باقی مانده از اسکن های قبلی را ردیابی کند و نتایج نامشخص را رد کند. علاوه بر این، Blucoil SecuGen Hamster Pro 20 یک دستگاه صرفه جویی در انرژی است، بنابراین اگر کسی برای مدت طولانی از آن استفاده نکند، به طور خودکار خاموش می شود. امنیت اضافیدر سالهای اخیر، تعداد زیادی دستگاه موبایل و دسکتاپ با اسکنر اثر انگشت داخلی عرضه شدهاند که هر سال بر تعداد آنها افزوده میشود. اگر رایانه شما سنسور داخلی برای تشخیص داده های بیومتریک ندارد، نگران نباشید. طیف گسترده ای از اسکنرهای USB برای رایانه های شخصی و لپ تاپ ها وجود دارد که تقریباً با تمام مدل های محبوب سازگار است. برای ایجاد ارتباط با حسگر اثر انگشت از دستورالعمل های جاش هاولی (دانلود مستقیم دستورالعمل ها) استفاده شده است. برای رفع اشکال عملکرد اسکنر اثر انگشت با نمایش نامه، همگام سازی ضروری است. حسگر اثر انگشت دارای حافظه مخصوص به خود برای ذخیره تصاویر اسکن شده است. بنابراین پس از شروع کار حسگر، با افزودن آن به پایگاه داده اثر انگشت در آدرس 0، آن را دانلود کنید. کنسول مدیریت را در رایانه خود باز کنید و اعلان های پاپ آپ را دنبال کنید. کدها – مثال چشمک زدن: /* نمونه کتابخانه برای کنترل اسکنر اثر انگشت GT-511C3 (FPS) */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //تنظیم سخت افزار - FPS متصل به: //پین دیجیتال 10(arduino rx، fps tx) //پین دیجیتال 11 (arduino tx - مقاومت 560 اهم fps tx - مقاومت 1000 اهم - زمین) //این خط 5v tx را به حدود 3.2v میرساند بنابراین ما فریم در ثانیه خود را سرخ نمیکنیم FPS_GT511C3 fps (10, 11); void setup())( Serial.begin(9600)؛ fps.UseSerialDebug = true؛ // بنابراین می توانید پیام ها را در صفحه نمایش اشکال زدایی سریال ببینید fps.Open(); ) void loop())( // FPS Blink LED فریم در ثانیه را تست کنید.SetLED(true)؛ // LED داخل فریم در ثانیه تأخیر (1000) را روشن کنید. کدها - مثال ثبت نام: /* FPS_Enroll.ino - نمونه کتابخانه برای کنترل اسکنر اثر انگشت GT-511C3 (FPS) */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //تنظیم سخت افزار - FPS متصل به: //پین دیجیتال 10 (arduino rx, fps tx) //پین دیجیتال 11 (arduino tx - مقاومت 560 اهم fps tx - مقاومت 1000 اهم - زمین) //این خط 5 ولت tx را به حدود 3.2 ولت کاهش می دهد بنابراین ما فریم در ثانیه خود را سرخ نمی کنیم FPS_GT511C3 fps (1) یازده)؛ void setup())( Serial.begin(9600)؛ delay(100)؛ fps.Open(); fps.SetLED(true); Enroll(); ) void Enroll())( // Enroll Test // Find open ثبت نام int enrollid = 0؛ fps.EnrollStart(enrollid); // enroll Serial.print("انگشت را فشار دهید تا ثبت نام کنید #"); Serial.println(enrollid); while(fps.IsPressFinger() == false) delay( 100) ؛ bool bret = fps.CaptureFinger(true)؛ int iret = 0؛ if (bret != false) (Serial.println("Remove finger"); fps.Enroll1(); while(fps.IsPressFinger() = = true ) delay(100)؛ Serial.println ("باز هم همان انگشت را فشار دهید"؛ while(fps.IsPressFinger() == false) delay(100)؛ bret = fps.CaptureFinger(true)؛ if (bret != false) ( Serial.println ("Remove انگشت"); fps.Enroll2(); while(fps.IsPressFinger() == true) delay(100); Serial.println("انگشت را دوباره فشار دهید"); while( fps. IsPressFinger() == false) delay(100)؛ bret = fps.CaptureFinger(true)؛ if (bret!= false) (Serial.println("Remove انگشت"); iret = fps.Enroll3(); if (iret == 0) ( Serial.println("ثبت نام با موفقیت انجام شد"); ) else ( Serial.print("ثبت نام با کد خطا انجام نشد:"); Serial.println(iret); ) ) else Serial.println("گرفتن انگشت سوم ناموفق بود"); ) else Serial.println("گرفتن انگشت دوم ناموفق بود"); ) else Serial.println("گرفتن انگشت اول ناموفق بود"); ) void loop())( delay(100000);) همگام سازی فایل: فایل ثبت طرح: مرحله 7: برنامه نویسی پردازنده ATtiny85ریزتراشه ATtiny85 ارزان است و کاملاً با برد آردوینو سازگار است و احتمالاً بهترین قطعه الکتریکی است که تا کنون ساخته شده است! یک برنامه نویس آردوینو نیز برای ریفلش کردن تراشه ATmega328 نیاز است که عملکرد صفحه نمایش LCD را کنترل می کند. در دستگاه مونتاژ شده، پردازنده ATtiny دستورات بسیار ساده ای را انجام می دهد: سیگنال ATmega را بررسی کنید و پس از تأیید سیگنال درب گاراژ را باز کنید. برای برنامه ریزی پردازنده باید طبق تصویر زیر با استفاده از برد برد به پروگرامر به همراه خازن 10 uF متصل شود. و سپس دانلود کنید کد نهاییو توصیه ها را دنبال کنید دستورالعمل های High-Low Tech. پس از آن، خروجی 13 روی برد آردوینو، متصل به LED، باید به حالت HIGH تبدیل شود تا با استفاده از نشانگر نور، عملکرد را کنترل کند. کد نهایی برای آتینی : //fpsAttiny توسط Nodcah //یک سیگنال مختصر از ماژول اصلی برای بستن یک رله void setup())( pinMode(2,OUTPUT)؛ //نشانگر هدایت شده از طریق 10K مقاومت pinMode(4,OUTPUT) دریافت می کند؛ //پاین ترازیستور که پین گاراژ را باز می کند(0,INPUT)؛ //تاخیر ورودی(500)؛ //به چیزها زمان می دهد تا DigitalWrite(2, HIGH) راه اندازی شود؛ // LED نشانگر ) void loop())( if(digitalRead(0) )) (//الگوی ساده برای راه اندازی تاخیر ترانزیستور(125)؛ if(digitalRead(0)==false)( delay(55)؛ //زمان بندی خاموش است زیرا تایمر ATtiny کامل نیست اگر( digitalRead(0))( delay(55)؛ if(digitalRead(0)==false)(delay(55); if(digitalRead(0))(delay(55); if(digitalRead(0)==false) ( digitalWrite (4، HIGH)؛ // ترانزیستور تأخیر دکمه را فشار می دهد (1000)؛ digitalWrite (4، LOW)؛ digitalWrite (2، LOW؛ تاخیر (1000)؛ digitalWrite (2، HIGH)؛ )) ) )))) قفل بیومتریک - کد نهایی، برش پوشش، آماده سازی گاراژساعت GPS در آردوینو قفل بیومتریک - نمودار صفحه نمایش LCD و مونتاژ |
محبوب:
ساختار واحد سیستم - کدام اجزا مسئول عملکرد رایانه هستند ویژگی های دستگاه های داخلی واحد سیستم |
جدید
- سه راه برای باز کردن ویرایشگر رجیستری ویندوز باز کردن رجیستری با استفاده از جستجو
- نحوه پارتیشن بندی هارد دیسک
- هارد دیسک را به پارتیشن تقسیم می کنیم
- وقتی کامپیوتر روشن می شود بوق می دهد
- تغییر صحیح پسوند فایل در ویندوز نحوه تغییر پسوند آرشیو
- مسدود کردن تبلیغات در YouTube YouTube بدون تبلیغات
- TeamViewer - کنترل کامپیوتر از راه دور برنامه را برای برقراری ارتباط با رایانه دیگری دانلود کنید
- نحوه پیدا کردن ویژگی های رایانه خود در ویندوز: روش های سیستم و برنامه های ویژه
- ما مرورگرها را در دستگاه های مختلف به روز می کنیم: رایانه، تبلت، تلفن هوشمند مرورگر به روز شده را کجا و چگونه نصب کنید
- نحوه روغن کاری کولر پردازنده، کارت گرافیک، منبع تغذیه و کامپیوتر