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

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

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


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

페이지 정보

작성자 면지지 작성일2022-06-02 14:24 조회8,587회 댓글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

조회수 8,587

등록된 댓글이 없습니다.

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 마그네틱 도어센서 관련 질문드립니다. 엉아 23-05-23 316
답변 답변글 답변 : 마그네틱 도어센서 관련 질문드립니다.댓글[1] master 23-05-24 392
답변 답변글 답변 : 답변 : 마그네틱 도어센서 관련 질문드립니다. master 23-05-24 302
질문 토양습도센서 이용시LCD 오류댓글[5] 윤던 23-05-23 1078
질문 ATMEGA 광센서 부저댓글[2] 코딩 23-05-23 609
질문 ATMEGA J-KIT 128 스위치 부저댓글[1] 이미지첨부파일 코딩 23-05-22 567
질문 장애물 회피 게임댓글[1] 첨부파일 헬창 23-05-20 521
질문 회로도 관련 질문댓글[1] 이미지첨부파일 dnjs 23-05-20 542
질문 Atmega FND 왼쪽 2칸엔 고정 오른쪽 2칸엔 1씩증가댓글[1] 초피 23-05-20 478
질문 ATMEGA J-KIT 128 스위치 부댓글[1] 코딩 23-05-19 548
질문 LCD 부저연결질문입니다.댓글[1] Tell 23-05-19 490
질문 세그먼트 lcd출력질문입니다.댓글[1] Tell 23-05-19 477
질문 어떤점이 문제인지 봐주실 수 있을까요?댓글[4] Bs드리프터 23-05-19 755
질문 아두이노 에러댓글[1] 리쌍 23-05-19 573
질문 lcd 화면에 글자가 안보이네요댓글[7] 이미지 황룡수색 23-05-19 1637
질문 ATMEGA JKIT 스위치 부저 코딩 23-05-19 487
답변 답변글 답변 : ATMEGA JKIT 스위치 부저 master 23-05-19 431
질문 에러 원인이 궁금합니다.댓글[1] 이미지 황룡수색 23-05-19 464
질문 atmega128 FAN 제어법댓글[1] 고둥 23-05-18 590
질문 ATEMEGA JKIT 이용하여 스위치 부저 코딩댓글[1] 2상호 23-05-18 510
질문 버튼 과 7-SEGMENT 를 이용하여 전광판에 숫자표시하기댓글[2] 이미지 리쌍 23-05-18 554
질문 atmega 128 jkit 부저 스위치댓글[1] 2상호 23-05-18 599
질문 작동구현..댓글[2] 근딩 23-05-16 535
질문 릴레이 모듈을 이용해 높은 사용전압부품 사용하기댓글[1] cretom 23-05-14 443
질문 아두이노 버튼으로 led제어 질문댓글[3] wnion 23-05-13 1137
질문 HBE-MCU-All in One 임베디드키트 ATmega128로 시계 만들기 코딩궁금합니다.댓글[1] djwb 23-05-12 746
질문 atmega128 pwm제어 질문댓글[2] 살려저 23-05-12 1049
질문 스텝모터와 서보모터 오오오 23-05-11 372
답변 답변글 답변 : 스텝모터와 서보모터댓글[1] master 23-05-11 575
질문 How to repair the broken traces on a rigid-flex circuit boar…댓글[1] niko 23-05-11 466
게시물 검색

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
모바일버전으로보기