정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

아두이노 키패드 비밀번호 오류에 관한 질문사항입니다.
박국현 | 2016-10-17

안녕하세요. 키패드 비밀번호에 관한 글 잘보았습니다.

글에 관심과 흥미가 생겨서 따라해보다가 잘 안되어서 질문글을 올리게 되었습니다.

제가 궁금한 것은 저는 현재 3*4 키패드를 가지고서 사용하고 있습니다.

코드는 글에 있는 것과 똑같으며, 키패드 부분에서만 3*4로 살짝 바꾸었습니다.

 

#include <Keypad.h>
char* secretCode = "1234"; 
int position = 0;
int wrong = 0;

const byte rows = 4;
const byte cols = 3;

char keys[rows][cols] = {
  {'1', '2', '3'},
  {'4', '5', '6'},
  {'7', '8', '9'},
  {'*', '0', '#'}
};

byte rowPins[rows] = {8, 7, 6, 5};
byte colPins[cols] = {4, 3, 2 };

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, rows, cols);

int redPin = 13;
int greenPin = 12;

void setup(){
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  setLocked(true);
}

void loop(){
  char key = keypad.getKey(); 

    if(key == '*' || key == '#'){
      position = 0;
      setLocked(true);
    }
     if(position == 4){
      setLocked(false); 
    }
      delay(100);
}

void setLocked(int locked){
  if(locked) { 
    digitalWrite(redPin, HIGH);
    digitalWrite(greenPin, LOW);
  }

  else{ 
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, HIGH);
  }
}

위의 코드로 컴파일을 시도하였으나,

L:\罹≪뒪?넠ing\罹≪뒪?넠李멸퀬\keypad\Keypad\examples\MultiKey\MultiKey.ino:85:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]                           

의 오류가 생성이 됩니다.. ㅠ

아 그리고 저의 브래드보드 사진 첨부합니다.

 

연결에서 잘 못 되었는건지, 코드에서 잘 못 된것인지 궁금합니다!!

 

프로필사진

수박쨈 2016-10-18 10:29:03

1.6.9버전에서 위 코드를 테스트 해 본 결과 아무런 이상없이 정상 컴파일 됩니다.

혹시 구버전 keypad라이브러리를 설치하셨다면 라이브러리를 다시 설치해보시고, IDE버전을 바꿔서 다시 시도해보세요.

 

스케치 - 라이브러리 포함하기 - 라이브러리 관리 가셔서 keypad검색하시면 keypad라이브러리를 설치할 수 있습니다.

이전글   |    듀토리얼에 온습도 lcd 표현하는 것에 문제가있습니다..도와주세요... 2016-10-17
다음글   |    오렌지 보드가 블루투스 등록을 거절합니다.... 2016-10-17