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

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

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


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

페이지 정보

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

조회수 1,592

등록된 댓글이 없습니다.

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 서보모터 2개... 살려주세요댓글[3] 브링미히어 22-06-09 1340
질문 아두이노 코딩 질문드립니다!댓글[2] 흑백 22-06-08 1283
질문 아두이노 우노 온습도센서와 LED댓글[7] 이미지 체펠리 22-06-08 3518
질문 아두이노 푸쉬버튼 질문입니다.댓글[2] 이미지첨부파일 홍머생 22-06-08 1151
질문 아두이노 lcd 카운트다운 ghost45 22-06-08 1182
답변 답변글 답변 : 아두이노 lcd 카운트다운 master 22-06-08 1384
질문 블루투스 간 통신 질문입니다 새벽효 22-06-08 1092
답변 답변글 답변 : 블루투스 간 통신 질문입니다 master 22-06-08 968
질문 atmega128에서 초음파 센서(HC-SR04)를 통해 부저 소리를 내려합니다. seung 22-06-08 1272
답변 답변글 답변 : atmega128에서 초음파 센서(HC-SR04)를 통해 부저 소리를 내려합니다.댓글[1] master 22-06-08 1648
질문 stm32 pwm구동 여부 질문입니다.댓글[6] 손문일 22-06-08 2610
질문 Atmaga128 인터럽트를 사용한 main문 재실행 질문입니다.댓글[5] 나욜렌 22-06-08 1515
질문 Atmega128 코딩 도와주세요,,! 이미지첨부파일 화니뿌뿌 22-06-07 1431
답변 답변글 답변 : Atmega128 코딩 도와주세요,,!댓글[3] master 22-06-08 1526
질문 스템모터 연동질문 초보코디러 22-06-07 648
답변 답변글 답변 : 스템모터 연동질문 master 22-06-07 821
질문 서보모터 질문댓글[2] 죠르디 22-06-07 1176
질문 atmega128 코드 질문있습니다 콜뚜기 22-06-07 1195
답변 답변글 답변 : atmega128 코드 질문있습니다댓글[3] master 22-06-07 1541
질문 AVR 128 -> 2560으로 변경하는 법좀 알려주세요ㅠㅠ댓글[2] tnwls 22-06-07 1600
질문 보드레이트 관련 질문댓글[1] 죠르디 22-06-07 1123
답변 답변글 답변 : 보드레이트 관련 질문 죠르디 22-06-07 1511
답변 답변글 답변 : 답변 : 보드레이트 관련 질문댓글[1] master 22-06-07 1327
답변 답변글 답변 : 답변 : 답변 : 보드레이트 관련 질문댓글[1] 죠르디 22-06-16 869
질문 우노 하드웨어 시리얼 전환댓글[7] 면지지 22-06-06 1821
질문 ATMEGA128질문입니다.댓글[1] suid82 22-06-06 1369
질문 스텝모터2개 + 초음파센서댓글[1] 공천 22-06-06 1211
질문 시리얼 통신 블루투스 질문입니다.댓글[2] 이미지첨부파일 현두이노 22-06-06 1094
질문 아두이노 서보모터 2개제어댓글[1] 아드초 22-06-06 1224
질문 아두이노 서보모터 질문드립니다. 아드초 22-06-06 973
게시물 검색

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