다루두루

블로그 이미지

차케요

공부하면서 정리하는 노트같은 블로그입니다.

아두이노 코딩 LED부터 켜보자.

취미/아두이노 2017. 12. 11. 12:38

 

요즘 사물인터넷에 대한 관심이 생기면서 뭐부터 어떻게 접해야 할지 몰라 알아보다가 아두이노라는 녀석을 알게 되었고 [아두이노 우노] 보드와 몇 가지 센서 및 모터 등을 구입했는데요. 어렸을 때 장난감을 갖고 놀던 게 취미였다면 이제는 그것들을 직접 만들어보고 더 나아가서는 우리 생활에 필요한 것들도 만들어보면서 사물인터넷에 한 발 다가가볼까 합니다.

 

아두이노 센서

 

당분간은 아두이노 코딩에 익숙해지기 위해서 기본적인 장치들 먼저 다루어야 하겠지만 멀게는 우리 생활에 꼭 필요한 새로운 발명품(?)도 만들어보고 싶은 게 시작하는 지금 단계에서 목적인데요. 일단은 취미로 아두이노를 갖고 놀면서 이 카테고리에 정리해볼까 하고 오늘은 그 첫 번째 과정으로 아두이노 코딩을 통해서 LED를 켜보는 예제를 만들어보려고 합니다.

 

 

이 예제를 만들기 위해서 필요한 준비물은...

 

준비물

 

대충 이 정도만 있으면 되지 않을까 싶네요. '아두이노 보드'와 '빵 판' 그리고 'LED' 및 '저항'과 '점퍼 케이블'입니다. 이것들을 연결해서 회로부터 만들어볼게요.

 

2. 회로 만들기

 

회로

 

회로는 LED의 짧은 다리 쪽은 음극에 해당하는 GND와 연결을 했고 긴 다리는 양극에 해당하며 디지털 신호를 보낼 핀 D8에 연결을 했는데 5V의 아두이노 기본 전압이 LED에 바로 들어가면 손상될 수 있기 때문에 저항을 그 사이에 연결했습니다.

 

3. 아두이노 코딩

 

이제 이 회로를 컨트롤할 아두이노 코딩을 해보겠습니다.

 

코딩

 

프로그램 언어를 조금이라도 접해보셨다면 그냥 딱 한눈에 들어오는 내용의 코딩일 겁니다. 그래도 그 내용을 대충 둘러보자면 일단 LED를 연결한 디지털 핀 8번을 int형 변수 led에 할당을 했습니다. 꼭 변수에 저장하지 않고 코드에서 직접 숫자를 입력해도 되겠지만... 나중에 복잡한 코드에서는 그 방법이 한계에 부딪칠 거 같으니 처음부터 습관을 들이기 위해서 변수에 할당을 했구요.

 

아두이노가 켜지면서 딱 한 번 실행되는 초기 설정 함수인 setup()에서는 핀 모드를 'OUTPUT'로 하고 있는데 아두이노 보드에서 디지털 신호를 밖으로 쏴주기 때문입니다. 만약 외부 센서에서 아두이노로 데이터를 읽어 올 때는 반대로 INPUT으로 설정을 해줘야겠죠? OUT과 IN은 데이터의 방향이라고 생각하면 쉬울 거 같네요.

 

 

다음은 loop() 함수인데요. 이건 아두이노가 켜져 있는 동안에는 계속 반복해서 실행이 되는 함수로 digitalWrite() 함수를 호출하면서 두 개의 인자를 던져주고 있는데 그 첫 번째는 LED가 연결된 8번 핀이구요. 두 번째는 전압을 보내라는 'HIGH' 상수입니다. 그리고 delay() 함수의 값으로 1000을 전달해서 1초 후에 다시 한 번 digitalWrite() 함수의 인자로 8번 핀과 이번에는 'LOW'를 전달하고 있는데요. HIGH는 전압을 보내도록 하고 LOW는 차단하는 역할을 합니다. 즉, 켜고 끄고를 이 녀석들이 담당하는 것이고 계속 반복해서 실행이 되기 때문에 우리가 아두이노 전원을 차단하기 전에는 LED가 1초 간격으로 켜졌다 꺼졌다를 반복하게 될 것입니다.

 

4. 아두이노 LED 결과 확인

 

이제 이 소스 코드를 아두이노 보드에 업로드 한 후 제가 원하는 대로 LED가 1초 간격으로 깜빡이는지 확인해보겠습니다.

 

 

이처럼 LED가 1초 간격으로 점등이 되는 걸 확인할 수 있네요. 영상에서 중간에 제가 아두이노의 전원을 차단했다가 다시 연결해도 같은 내용이 실행되는 걸 확인할 수 있죠? 이처럼 한 번 업로드한 프로그램은 다른 소스 코드를 올리기 전까지는 아두이노 장치 속에 계속 머물고 있으면서 전원만 들어오면 실행한다고 생각하면 될 것 같습니다.

 

이렇게 해서 처음 접하는 아두이노 코딩에서 가장 기본이라고 할 수 있는 LED를 켜봤는데요. 그동안 컴퓨터 모니터 안에서 실행되는 프로그램만 보다가 눈앞에서 뭔가 제어가 되니까 확실히 재미가 있네요. 암튼 앞으로 계속 다양한 녀석들을 활용해서 아두이노를 익혀보기로 하고 오늘은 여기서 마치겠습니다.


저작자표시 비영리 변경금지 (새창열림)
Posted by 차케요

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

카테고리

NEW (900)
아이폰 개발 기초 (7)
취미 (16)
아두이노 (16)
[안드로이드] 어플만들기 (77)
안드로이드 기초 다지기 (61)
슈팅게임 만들기 (4)
[JAVA]자바 공부하기 (48)
C언어 알고리즘 (61)
[Unity3D]유니티3D 강좌 (7)
컴퓨터 (325)
포토샵CS2 강좌 (6)
유용한 프로그램 (244)
리눅스 노트정리 (22)
임베디드 리눅스 (11)
New블로그 (9)
음식의 효능 (4)
일반상식 (56)
HTML 공부 (40)
포토샵 공부 (36)
엑셀 (6)
파워포인트 공부 (19)
노트정리 (38)
일상 (33)
TV영화 (85)
방명록 : 관리자 : 글쓰기
차케요's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

다루두루

공부하면서 정리하는 노트같은 블로그입니다.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • NEW (900)
    • 아이폰 개발 기초 (7)
    • 취미 (16)
      • 아두이노 (16)
    • [안드로이드] 어플만들기 (77)
      • 안드로이드 기초 다지기 (61)
      • 슈팅게임 만들기 (4)
    • [JAVA]자바 공부하기 (48)
    • C언어 알고리즘 (61)
    • [Unity3D]유니티3D 강좌 (7)
    • 컴퓨터 (325)
      • 포토샵CS2 강좌 (6)
      • 유용한 프로그램 (244)
    • 리눅스 노트정리 (22)
      • 임베디드 리눅스 (11)
    • New블로그 (9)
    • 음식의 효능 (4)
    • 일반상식 (56)
    • HTML 공부 (40)
    • 포토샵 공부 (36)
    • 엑셀 (6)
    • 파워포인트 공부 (19)
    • 노트정리 (38)
    • 일상 (33)
    • TV영화 (85)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바