산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino로 Android/iOS/Win10 장치를 위한 안전 영역 만들기

구성품 및 소모품

HC-05 블루투스 직렬 무선 모듈
× 1
Arduino Nano R3
× 1
R301T 반도체 지문 모듈
× 1
5mm RGB 3색 4핀 LED
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

이 기사에서는 장치의 잠금을 해제할 수 있는 안전 영역을 만들 수 있는 멋진 가제트를 만들고자 합니다. 이 프로젝트가 끝나면:

<울>
  • 지문 센서 사용법을 배웁니다.
  • 기기를 안전 지대 가젯과 페어링하는 방법을 배웁니다.
  • 안전지대라는 멋진 가제트를 만들 것입니다.
  • 장치 잠금 및 잠금 해제

    요즘은 스마트 기기의 활용도가 높아져 채팅 내용, 연락처, 이미지, 메모 등 기기에 다양한 데이터가 저장되어 있습니다. 그러나 그들 중 일부는 우리를 위해 사적이어야 하며 이는 매우 중요하며 아마도 우리의 장치를 잠그는 주된 이유일 것입니다. 모든 스마트 기기는 잠금 또는 잠금 해제 모드를 설정하는 방법이 다르지만 기기를 사용하기 위해 보안 섹션을 통과해야 할 때 제한되어 우리에게 좋지 않은 느낌을 주는 경우가 있습니다. 예를 들어, 개인실에서 작업할 때 주변에 신체가 없을 때 보안 섹션이 필요하지 않고 기기가 꺼질 계획을 세우는 것이 약간 복잡합니다.

    그래서 우리는 모든 스마트 기기와 연결할 수 있는 작은 가제트를 만들고 보안 없이 쉽게 작업하고 싶을 때 손가락 ID로 활성화합니다. 가제트가 활성화되면 블루투스로 기기와 페어링되며 가젯이 가까이 있을 때까지 잠금 해제됩니다.

    R301T 지문 모듈

    이 프로젝트에서는 Arduino와 같은 컨트롤러와 직렬 통신하여 데이터를 교환하는 R301T 센서 모듈을 사용합니다. 먼저 R301T에 대한 지문을 사용자로 설정하고 Arduino Tx 및 Rx 핀에 연결합니다. 우리는 HC-05라는 블루투스 모듈을 사용하여 한 번만 기기와 페어링했습니다. 이제 우리는 Arduino용 코드를 작성하고 사용자가 가제트를 활성화할 때 블루투스를 켤 때 이를 말할 것입니다. 해보자!

    회로

    코드

    지문 센서의 라이브러리를 추가한 후 코드를 업로드해야 합니다. Arduino 보드를 처음 사용하는 경우에도 걱정하지 말고 다음 단계를 따르세요.

    <울>
  • www.arduino.cc/en/Main/Software로 이동하여 OS와 호환되는 Arduino 소프트웨어를 다운로드합니다. 지시에 따라 IDE 소프트웨어를 설치합니다.
  • Arduino IDE를 실행하고 텍스트 편집기를 지우고 텍스트 편집기에서 다음 코드를 복사합니다.
  • 도구 및 보드에서 보드를 선택하고 Arduino 보드를 선택합니다.
  • Arduino를 PC에 연결하고 도구 및 포트에서 COM 포트를 설정합니다.
  • 업로드(화살표) 버튼을 누릅니다.
  • 준비가 완료되었습니다!
  • #include "Adafruit_Fingerprint.h#include "SoftwareSerial.h"SoftwareSerial mySerial(2, 3);Adafruit_Fingerprint finger =Adafruit_Fingerprint(&mySerial);int cc=0;void setup() { Serial.begin( 9600); 동안 (! 직렬); // Yun/Leo/Micro/Zero/...의 경우 delay(100); Serial.println("\n\nAdafruit 손가락 감지 테스트"); // 센서 직렬 포트에 대한 데이터 속도 설정 finger.begin(57600); if (finger.verifyPassword()) { Serial.println("지문 센서를 찾았습니다!"); } else { Serial.println("지문 센서를 찾지 못했습니다:("); while (1) { pinMode(13,OUTPUT); digitalWrite(13,LOW); pinMode(9,OUTPUT); digitalWrite(9,HIGH); } } finger.getTemplateCount(); Serial.print("센서에 "가 포함됨); Serial.print(finger.templateCount); Serial.println(" 템플릿"); Serial.println("유효한 손가락을 기다리는 중..." );}void loop() // 계속해서 실행{ getFingerprintIDez(); delay(50); // 최대 속도로 실행할 필요는 없습니다.}uint8_t getFingerprintID() { uint8_t p =finger.getImage( ); switch (p) { case FINGERPRINT_OK:Serial.println("이미지 촬영"); break; case FINGERPRINT_NOFINGER:Serial.println("손가락이 감지되지 않음"); return p; case FINGERPRINT_PACKETRECIEVEERR:Serial.println("통신 오류" ); return p; case FINGERPRINT_IMAGEFAIL:Serial.println("Imaging error"); return p; default:Serial.println("Unknown error"); return p; } // 성공! p =finger.image2Tz(); switch (p) { case FINGERPRINT_OK:Serial.println("이미지 변환됨"); break; case FINGERPRINT_IMAG EMESS:Serial.println("이미지가 너무 지저분합니다"); 리턴 p; case FINGERPRINT_PACKETRECIEVERR:Serial.println("통신 오류"); 리턴 p; case FINGERPRINT_FEATUREFAIL:Serial.println("지문 기능을 찾을 수 없습니다"); 리턴 p; case FINGERPRINT_INVALIDIMAGE:Serial.println("지문 기능을 찾을 수 없습니다"); 리턴 p; 기본값:Serial.println("알 수 없는 오류"); 리턴 p; } // OK 변환되었습니다! p =finger.fingerFastSearch(); if (p ==FINGERPRINT_OK) { Serial.println("일치하는 인쇄를 찾았습니다!"); } else if (p ==FINGERPRINT_PACKETRECIEVERR) { Serial.println("통신 오류"); 리턴 p; } else if (p ==FINGERPRINT_NOTFOUND) { Serial.println("일치하는 항목을 찾지 못했습니다."); 리턴 p; } else { Serial.println("알 수 없는 오류"); 리턴 p; } // 일치하는 항목을 찾았습니다! Serial.print("발견된 아이디 번호"); Serial.print(finger.fingerID); Serial.print("는 "); Serial.println(손가락.자신감); for (int i=255;i>1;i--){analogWrite(9,i); delay(10);} if (cc%2==0)digitalWrite(13,HIGH); 그렇지 않으면 digitalWrite(13,LOW); CC++; return finger.fingerID;}// 실패하면 -1을 반환하고, 그렇지 않으면 ID를 반환합니다. #int getFingerprintIDez() { uint8_t p =finger.getImage(); if (p !=FINGERPRINT_OK) 반환 -1; p =finger.image2Tz(); if (p !=FINGERPRINT_OK) 반환 -1; p =finger.fingerFastSearch(); if (p !=FINGERPRINT_OK) 반환 -1; // 일치하는 항목을 찾았습니다! Serial.print("발견된 아이디 번호"); Serial.print(finger.fingerID); Serial.print("는 "); Serial.println(손가락.자신감); finger.fingerID 반환; }  

    조립

    먼저 Bluetooth 모듈을 장치와 페어링해야 합니다. Win10과 페어링하려면 설정으로 이동하여 로그인 옵션을 검색하고 동적 잠금을 활성화하고 거기에서 BT 모듈을 페어링하십시오. Android 스마트폰의 경우 설정> 디스플레이 섹션> 잠금 화면으로 이동한 다음 거기에서 Smart Lock을 활성화하고 BT와 페어링합니다. IOS의 경우 설정으로 이동하여 Touch ID와 암호를 입력하고 거기에서 만드세요.

    장치가 자동으로 페어링되지 않으면 이 트릭을 사용할 수 있습니다. 처음 페어링을 시도할 때 장치에 캐릭터를 보내십시오.

    다음은 무엇입니까?

    원하는 대로 이 프로젝트를 개선할 수 있습니다. 다음은 몇 가지 제안 사항입니다.

    <울>
  • 가제트를 특정 위치에 민감하게 만들도록 하십시오.
  • 다른 사용자에게 동일한 제한된 액세스 권한을 부여하십시오.
  • <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 지문 라이브러리
  • 지문 라이브러리C/C++
    미리보기 없음(다운로드만 가능).

    제조공정

    1. 비행 시뮬레이터용 Arduino가 있는 LCD 패널
    2. Arduino를 사용하여 모니터 Ambilight 만들기
    3. 학교를 위한 SMART 온도 모니터링
    4. Arduino용 8비트 IO 포트 라이브러리
    5. iOS 및 Android에서 Arduino의 깜박이는 LED
    6. Arduino용 64키 프로토타이핑 키보드 매트릭스
    7. Arduino로 음악을 만드는 방법
    8. Arduino용 절연 아날로그 입력
    9. 멋진 실내 내비게이션용 로봇
    10. 다이렉트 워터 펌프는 물 전송에 이점을 제공합니다.