?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

디지털 입출력 소스에 관해서 문의해봅니다.

페이지 정보

작성자 karyuen 메일보내기 이름으로 검색 작성일14-12-23 21:47 조회1,195회 댓글1건

본문

안녕하세요

제가 아두이노를 공부하다가 막히는 부분이 있어서 여기에다가 질문을 해봅니다.

디지털 입력과 출력에 대해 공부하다가 이것을 한번 혼합해보았는데 이게 잘 안되서 질문해봅니다.

일단 소스입니다.

int LED0 = 2;//pin2 LED0을 0 설정
int Button0 = 7;//스위치를 7번 핀에 설정
int Buttonstate0 = 0;
int del = 50;//delay시간 설정
void setup()
{
   pinMode(LED0,OUTPUT); 

  pinMode(Button0,INPUT);

   Serial.begin(9600);
}

void loop()
{
Buttonstate0=digitalRead(Button0);
if(Buttonstate0 == HIGH)

{
  digitalWrite(LED0,HIGH);
}
else
{
  digitalWrite(LED0,LOW);
}

Serial.print("Switch=");//텍스트 작성파트
Serial.println(Buttonstate0);
delay(del);
 

 }

제가 도서관에서 빌린 책(아두이노, 한빛아카데미)에서도 소스를 이렇게 줬는데 아무리 해도 제대로 되지 않습니다. 그러니까 책에서는 버튼 누르면 켜지는 방식이라는데...정작 제가 해보니 계속 깜박거리다가 버튼을 누르면 꺼지는 방식이네요...

 

혹시 이 코드의 설계방식이 잘못된건가요??    Serial.begin(9600); 이걸 빼면 스위치하고 버튼끼리는 잘 작동되는데...모니터링할라고    Serial.begin(9600); 을 집어넣으니 여기에서 꼬이네요...ㅠㅠ

어린 초보자를 구제해주시는 마음으로 도와주시면 감사드리겠습니다.

댓글목록

하드카피님의 댓글

하드카피 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일

로직은 잘못될게 없어보이는데... 문제가 될만한 부분은 loop 함수가 반복되는 시간 정도일겁니다. delay 시간을 조절해서 다시 한번 해보시는게 어떨까 싶습니다.