코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
아두이노 키패드 모듈을 이용한 랜덤 비밀번호 관련해서 궁금합니다.
켯속 | 2019-11-28
|
|
---|---|
안녕하세요 아두이노 도어락을 만드는 중 해결법이 안보여 질문드립니다. 밑에 있는 예제를 통해서 블루투스 연결과 임의로 설정한 비밀번호인 1,2,3,4를 입력했을 때 서브모터가 동작하는것을 확인하였는데요, 이 비밀번호를 지정이 아닌 랜덤 비밀번호로 매번 바꿔서 시리얼 모니터에 띄우고 싶은데 도저히 모르겠습니다. 밑에 예제에서 이런코드도 추가했었습니다. int ONE=random(9); Serial.println(FOUR);//4자리 암호 시리얼 모니터에 출력 하지만 해결이 안되어 방법을 물어봅니다.
사용부품:아두이노UNO, HC-06, 4X4키패드, SG-90서브모터
예제 #include #include #include SoftwareSerial hc06(11,12); int tru=0; int count=0; char PW[4]={'1','2','3','4'}; const byte ROWS = 4; const byte COLS = 4; byte rowPins[ROWS]={8,7,6,5}; byte colPins[COLS]={4,3,2,1};
char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'}, };
Servo myservo; Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() { Serial.begin(9600); hc06.begin(9600); myservo.attach(13);
}
void loop() { char key = keypad.getKey(); if(Serial.available()){ hc06.write(Serial.read()); } if(key){ if(key==PW[count]) { count++; tru++; }
else if(key!=PW[count]){ count++; } if(key=='#') re(); if(count==4) { if(tru==4) Su(); else Fa(); tru=0; count=0; } } }
void Su()
{ myservo.write(1000); } void Fa() { myservo.write(0); }
void re() { tru=0; count=0; } |
|
이전글 | 조도센서,피에조부저 관련 질문 드립니다.... | 2019-11-27 |
다음글 | 두개의 소스를 하나로 합칠 수 있나요? | 2019-11-28 |