질문게시판 > 키패드 led 인체감지 질문

TODAY784 TOTAL2,325,654
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 키패드 led 인체감지 질문

페이지 정보

작성자 면지지 작성일2022-06-02 14:24 조회3,177회 댓글0건

본문

	

지금 도어락 코딩중인데 지금까지 구현한게

 

1.키패드로 비밀번호 입력하면 서보모터 동작

2.앱인벤터로 앱 개발해서 앱으로도 비밀번호 입력하면 서보모터 동작

3.인체감지센서 hc-sr501 사용해서 문 앞에 인체감지되면 앱인벤터로 푸시알람 보내기+uvc led 꺼짐(8초)

 

입니다

 

여기서 문제가 uvc led가 꺼져있는 8초동안에는 키패드랑 앱인벤터 비밀번호 입력이 안됩니다

 

어떻게 고쳐야할지 감이 안옵니다 ㅠㅠ

 

led꺼짐과 키패드 비밀번호 입력이 동시에 가능한건가요?

 

아두이노 우노 사용중입니다

 

//앱이랑 키패드로 문열기 알림감지

 

#include <Keypad.h>

#include <Servo.h>        // 서보모터를 위한 Servo.h 라이브러리를 포함한다.

#include <SoftwareSerial.h>       // SoftwareSerial을 통해 블루투스와 데이터 전송

 

SoftwareSerial BTserial(2, 3);             //  Tx2 Rx3

Servo myservo;

 

int num = 10000;

 

int b = 0; 

int tru=0; // 비밀번호가 맞는지 확인

int count=0;

 

char PW[]= {"2222"}; //비밀번호

String str_data = "";

 

const byte ROWS = 4; 

const byte COLS = 3; 

byte rowPins[ROWS] = {10, 9, 8, 7}; 

byte colPins[COLS] = {6, 5, 4}; 

 

char keys[ROWS][COLS] = { 

  {'1','2','3'},

  {'4','5','6'},

  {'7','8','9'},

  {'*','0','#'}

};

 

 

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

 

#define Sensing_pin A2            // 센서 신호선 핀 설정입니다.

#define UVC A3                    // UVC 핀 설정입니다.

 

void setup(){

  Serial.begin(9600); 

  myservo.attach(A1);   // A1번핀에 서보모터 연결

  BTserial.begin(9600); // 9600 속도로 블루투스시리얼(소프트웨어시리얼) 통신을 시작한다

  delay(100);

}

 

//myservo.write(0);

 

void loop(){

 

  num++;         //num 1씩 증가

  if ( num >= 10000 )  //num이 100000이상일 때 코드 실행

  {

    num = 0;            

    

    if (digitalRead(Sensing_pin) == HIGH)

    {

      myservo.detach();

      BTserial.println("블루투스감지됨");     // 움직임이 감지됐어요!

      Serial.println("감지되었습니다");

      digitalWrite(A3,LOW);               //UVC 꺼짐

      delay(8000);

      

    }

    else

    digitalWrite(A3,HIGH);  //감지 안되면 UVC 켜져있음

      myservo.attach(A1);

  }

 

  if(BTserial.available()){    // 블루투스를 통해 수신된 데이터가 있으면 

    str_data = getStringdata();

    Serial.println(str_data);

    if ( str_data == PW ){

      myservo.write(180); 

      Serial.println("open");

      BTserial.print('o');

      delay(15);

   }

   else if (str_data != PW) { 

    Serial.println("close");

      BTserial.print('x');

    myservo.write(0);

   }

  }

 

 

  char key = keypad.getKey(); // 키패드 입력받는 부분

  

   if (key)

  { 

      Serial.println(key);

      if(key==PW[count]) //입력번호와 비밀번호가 맞을시 count,tru++

      {

        count++;

        tru++;

      }

      

      else if(key!=PW[count])//입력번호와 비밀번호가 틀릴시 count만 ++

      {

        count++;

      }

 

        if(count==4)//count개수가 비밀번호 개수와 같을 시

      {

        if(tru==4)

          Su();//성공함수

        else

          Fa();//실패함수

 

        tru=0;

        count=0;

      }     

    } 

 

 

String getStringdata(){

  String str = ""; // str 를 String(문자열형)으로 선언

  while(BTserial.available()){ // 블루투스가 실행되는 동안

    str += (char)BTserial.read();  // 블루투스에서 읽어드리는값을 char 형으로 변환 하면서 str에 합치기 

    delay(5);

  }

  return str;  // 합쳐진 문자열형 반환 

}

 

void Su()//성공했을시 모터를 돌려주며 성공메세지 보내기

{

      myservo.write(180); 

      Serial.println("open the door");                                   

}

 

void Fa()//실패했을시 모터를 돌려주며 실패메세지 보내기

{

      myservo.write(0);

      Serial.println("close the door");                                   

}

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 3,177

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
답변 답변글 답변 : 댓글 : millis()? 질문드립니다.댓글[1] master 22-06-14 1733
질문 모션센서 민감도 조절..댓글[3] 이미지첨부파일 남산 22-06-14 2805
질문 아두이노 코딩질문 Alpaka 22-06-14 2919
답변 답변글 답변 : 아두이노 코딩질문 master 22-06-14 2914
질문 심박수 측정값 오류 원인댓글[1] 이미지 카키 22-06-14 3032
질문 도트 매트릭스를 통한 장애물 피하기 게임 질문댓글[3] 끼룩 22-06-14 2644
질문 아두이노 센서3개와 모터제어 코딩 도와주세요!댓글[2] RLOP35 22-06-13 2743
질문 아두이노 도트 매트릭스 코딩댓글[1] 이미지첨부파일 끼룩 22-06-13 2343
질문 아두이노 레오나르도 업로딩 오류댓글[1] 면지지 22-06-13 2071
질문 통신에 대한 기초 책 추천댓글[2] 하리 22-06-13 2695
질문 스텝모터,릴레이모듈 9V 인가 (회로도 포함)댓글[1] 이미지첨부파일 아두이노대학 22-06-12 2385
질문 esp32댓글[1] 이미지첨부파일 ejdog 22-06-12 2595
질문 Simpletimer 라이브러리 질문입니다 홍머생 22-06-11 1988
답변 답변글 답변 : Simpletimer 라이브러리 질문입니다댓글[1] master 22-06-13 2197
질문 millis()? 질문드립니다.댓글[3] 브링미히어 22-06-11 3301
답변 답변글 답변 : millis()? 질문드립니다.댓글[2] master 22-06-13 1649
질문 토글스위치 질문드립니다.댓글[3] 412904 22-06-11 1260
질문 조도센서로 서보모터 제어 질문입니다. 왕초보입니다 22-06-11 1689
답변 답변글 답변 : 조도센서로 서보모터 제어 질문입니다.댓글[1] master 22-06-11 3312
질문 블루투스와 적외선센서댓글[1] 지훈 22-06-11 1964
질문 아두이노 수위센서 모터 3개 ...댓글[1] 고옹대 22-06-10 2611
질문 atmega128 인터럽트 이용한 dc모터 제어댓글[2] 이미지첨부파일 박맹 22-06-10 3332
질문 아두이노간 블루투스 질문 드립니다.댓글[8] 흐규흐규 22-06-10 5118
질문 토글스위치를 사용한 dc모터 정역회전 제어 부분에 있어서 질문드립니다...댓글[4] 쿤싼 22-06-10 3188
질문 atmega isp 연결관련해서 질문드려요댓글[3] 아트메가넘어려워 22-06-10 3420
질문 TFT LCD 이상이 있습니다댓글[4] 이미지 플립플롭 22-06-10 4039
질문 atmega128 순차적신호 질문있습니다댓글[1] 이미지첨부파일 졸업예정 22-06-10 2765
답변 답변글 답변 : atmega128 순차적신호 질문있습니다 master 22-06-10 2798
질문 아두이노 센서 3개와 모터 bldc연동 코딩 첨부파일 RLOP35 22-06-09 1748
답변 답변글 답변 : 아두이노 센서 3개와 모터 bldc연동 코딩댓글[4] master 22-06-09 3033
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기