1. 프로젝트 사용한 보드 종류
아두이노 메가
2. 사용한 개발 프로그램명
아두이노 IDE , 아두이노 시뮬레이터
3. 사용한 센서 모델명
도어락
4. 연결한 회로 설명 (또는 이미지)
5. 소스코드 (주석 필수)
int door = 13;
String inputString = "";
boolean stringComplete = false;
//13번핀 선언, 명령어를 받기 위한 스트링 선언
void setup() {
Serial.begin(9600);
pinMode(door, OUTPUT);
}
//13번 출력
void loop() {
// print the string when a newline arrives:
if (stringComplete) {
if(inputString == "open\n")
doorOpen();
inputString = "";
stringComplete = false;
}
}
//open 명령어를 받을 시 함수 doorOpen 실행
void serialEvent() {
while (Serial.available()) {
// get the new byte:
char inChar = (char)Serial.read();
// add it to the inputString:
inputString += inChar;
// if the incoming character is a newline, set a flag
// so the main loop can do something about it:
if (inChar == '\n') {
stringComplete = true;
}
}
}
//명령어 받는 이벤트
void doorOpen() {
digitalWrite(door, HIGH);
delay(1000);
digitalWrite(door, LOW);
//도어락 기능
6. 문제점 및 에러 내용
아두이노로 도어락을 컨트롤 하려고 하는데 막혀서 질문 드립니다
도어락의 경우 (전지모양이 도어락) 검은선과 빨간선이 1초정도 접촉하면 문이 열립니다.
그것을 아두이노로 컨트롤 해주는 상황인데요.
-----까지 코딩 구현 완료
여기에 락을 추가하고싶습니다.
잠김인데 선을 따로 따서 뺐습니다만
락은 검은색과 빨간색 선이 접촉해 있는 동안은 해제 상태이고 떨어지는 순간부터 락이 걸립니다.
제가 비전공자라서 잘 몰라 오픈용의 회로와 똑같이 만들었더니
다음과 같이 만들었고 에러가 발생하고 있습니다.
에러내용은 첫 번째 사진에서는 도어락 열기 닫기가 명령 할 때만 실행되는데
도어락 락 용 회로를 추가로 달았더니 열기 닫기가 자동으로 계속 반복 실행되고 있습니다.
회로 조언 좀 부탁드립니다.
(도어락에서 딴 선 총 4개는 모두 친척이 관련 회사라 도움 받아서 뺏구요 회로 없이 물리적으로 접촉해봤을 경우 아무 이상 없이 잘 되었습니다.)
열기/닫기용 선 2개
잠금용 선 2개 입니다.
잠금 쪽 회로를 제대로 설정하여 도어락 열기 닫기 무한반복이 안 되어야 하고
아두이노 명령을 주었을 시 잠금 기능의 구현을 원합니다..
--------------------------------------
코딩은 할 수 있을 것 같은데 회로 공부가 부족하여 구현 못하고 있습니다. 회로 조언 좀 부탁드립니다.
|