1. 프로젝트 사용한 보드 종류
(EX : 오렌지보드, 오렌지 BLE보드, 아두이노 UNO 등)
아두이노 UNO 사용
2. 사용한 개발 프로그램명
(EX : 아두이노 IDE, 스크래치, mBlock 등)
아두이노 IDE
3. 사용한 센서 모델명
(센서 모델명을 자세하게 적어 주실 경우 더 정확하게 확인할 수 있습니다.)
서보모터 SG-90
LCD 1602
인체감지센서 SR-501 PIR
지문인식센서 GT-511C3을 사용중입니다.
4. 연결한 회로 설명 (또는 이미지)
위 코딩은 지문인식센서를 이용하여 서보모터가 돌아가게끔 한 코딩입니다. 더불어 인체감지센서를 이용해 LCD및 지문인식센서의 백라이트를 켜고 끌 수 있게 설정해놨습니다. 아직 함수를 따로 사용하는데 어려움이 있어서 setup 과 loop안에만 넣어놨습니다..ㅠ
5. 소스코드 (주석 필수)
(원하는 기능의 코드를 전부 작성해 드리긴 어렵습니다. 기초부터 차근차근 공부해보면서 코드를 만들어 보세요.)
6. 문제점 및 에러 내용
(소스코드 문제일 경우 에러 내용도 같이 올려주세요.)
|
#include <FPS_GT511C3.h>
#include <SoftwareSerial.h>
#include <Servo.h>
#include <LiquidCrystal.h>
Servo sv; //서브모터 변수 설정 (▲서브모터)
int sensor=9; // 센서의 signal 선을 7번에 연결(★인체감지)
int LCD_LED = 10; // LCD백라이트 조절(●LCD)
LiquidCrystal LCD(12,11,7,6,5,4); //(●LCD)
FPS_GT511C3 fps(2, 3); //지문인식 핀
void setup()
{
sv.attach(8); //(▲서브모터)
pinMode(sensor, INPUT); //(★인체감지)
pinMode(LCD_LED, OUTPUT); //LCD백라이트(●LCD)
Serial.begin(9600); // 통신속도 9600bps로 시리얼 통신 시작
while(!Serial);
Serial.println("통신 연결 완료!");
LCD.begin(16,2); //LCD 크기 설정(●LCD)
}
void loop(){
int val= digitalRead(sensor); //(★인체감지)
if(val==1){
LCD.clear(); //(●LCD)
LCD.print("WELCOME");//(●LCD)
LCD.setCursor(0,1); //(●LCD)
LCD.print("Put Your finger");//(●LCD)
digitalWrite(LCD_LED,HIGH); //(●LCD)
Serial.println("감지 O");
delay(100);
fps.Open();
fps.SetLED(true);
//지문인식센서=========
if(fps.IsPressFinger()){
fps.CaptureFinger(false);
int id = fps.Identify1_N();
if (id < 200) { //지문인식이 되었을 때
Serial.print("Verified ID:");
Serial.println(id);
LCD.clear();
LCD.setCursor(0,0);
LCD.print(" Verified!");
sv.write(180);//=============(지문인식 완료 됬을 때 ▲서보모터)
} else { //지문이 저장한 것과 다를때
Serial.println("Finger not found");
LCD.clear();
LCD.setCursor(0,0);
LCD.print("Who are you?");
}
} else { //기본 대기 상태
Serial.println("Please press finger");
}
}
else//=================================== 인체감지 없을 때
{
Serial.println("감지 X");
delay(100);
LCD.clear();
fps.Close();
fps.SetLED(false);
digitalWrite(LCD_LED,LOW);
sv.write(0);
}
}
저 코딩으로 컴파일 할 시에 서보모터가 계속 떨림 현상(?)이 일어납니다ㅠㅠ 또한 지문인식을 하였을 때 LCD에 출력이 되지 않더라고요.. 이 부분에 대해서 어떻게 하면 될지 죄송스럽게 여쭤봅니다
|
이전글 |
아두이노 코드들을 합치는데 문제가 있습니다...
|
2019-06-04 |