Back Ground

아두이노 - LED깜빡이기 본문

아두이노

아두이노 - LED깜빡이기

Back 2016. 6. 21. 10:53

1. LED 깜빡이게 하기


아두이노 호환 보드들은 보드 위에 디지털 입출력 핀인 13번에 LED 연결

아두이노 보드를 사용하여 이 LED를 깜박이게 하여 보자.

① 개발용 PC와 아두이노 보드를 USB 케이블 연결한다


② 스케치작성


개발용 PC에서 arduino.exe를 실행시켜 스케치 창을 열고 스케치를 작성

③ 저장 : 스케치 툴바에서 파일-저장을 선택


④ 업로드 : 아두이노 보드에 스케치를 업로드


⑤ 실행결과 : 아두이노 보드의 칩 LED on/off 확인







2. 아두이노 프로그램의 기본 구조


아두이노 프로젝트에서는 아두이노 보드와 지원 하드웨어를 통합하는 작업이 큰 비중 차지

프로젝트의 나머지 부분에서는 어떤 작업을 수행하려고 하는지를 보드에게 인식 필요

아두이노에서 일반적으로 프로그램을 스케치라고 함.

초기에 주로 아티스트와 디자이너가 사용했기 때문에 아이디어를 빠르고 쉽게 실현할 수 있는 방법이라는 의미로 스케치라는 용어가 사용

스케치(sketch)와 프로그램(program)이라는 용어는 같은 의미로 사용







3. 아두이노 프로그램의 구성


아두이노는 스케치라는 프로그램에 코드를 작성

아두이노의 가장 기본 구조

명령구문(structure), 변수(variables)와 상수(constant), 함수(function)

아두이노는 C/C++ 기반으로 만들어진 언어

내장된 컴파일러는 개조된 WinAVR 공개버전

아두이노의 명령은 표준 C++과 문법의 동일

입출력 전용명령만 조금 다름









4. 아두이노의 구문(Structure)

아두이노 스케치(프로그램)는 초기화 구문인 setup()구문과 실제 구동 구문인 loop()구문으로 구성

5. 아두이노 예제 "blink.ino"의 스케치

“void”

loop()에서 함수를 호출할 때, 자동적으로 함수 내부에서 반환 되는 변수가 없음을 말하며, ()안에 변수가 없음은 입력되는 변수들이 없다는 것

보통 void 함수()으로 선언된 함수는, 함수에서 처리할 변수는 모두 지역변수이거나, 외부로 나가거나 외부에서 들어오는 변수는 모두 광역변수(global variable)를 사용한다는 것 의미

브라켓 “ { }”

명령구문을 확장시키는 역할

브라켓이 없으면 1줄로 명령구문이 끝나며, 브라켓을 사용하면 " { }"안에 여러 줄의 명령구문을 하나의 함수나 분기 명령후의 처리구문을 작성 가능



아두이노 보드로 모든 디지털 출력을 내보낼 수 있는 예

단순하고 쉽지만 확장이 가능한 중요한 개념

"Blink" 예제 프로그램

setup( )함수 안에서 pinMode()함수를 이용

디지털입출력 핀 13번을 출력 설정

loop( )함수 안에서 digitalWrite() 함수

핀 13번에 "1"과 "0"을 출력

delay( )함수를 이용하여 시간 지연












5-1. 아두이노 예제 "blink.ino"수정








5-2. 아두이노 예제 LED속도 조절











5-3. LED 변수사용











5-4. LED 4개 제어










5-5. 변수와 For 문을 사용하여 반복실행









5-6.배열과 변수, For 문을 이용한 제어


연속적이 않은 핀들을 이용한 제어는 배열을 사용

주요개념

-사용하고자 하는 디지털 입출력 핀을 배열에 저장

-for문을 사용하여 호출하도록 작성








5-7.LED 4개 좌우로 이동제어


LED가 오른쪽에서 왼쪽으로 순차적으로 ON되었다가

다시 오른쪽에서 왼쪽으로 순차적으로 OFF



주요개념

제어하고자 하는 핀을 배열에 저장

원하는 순서에 따라 배열에 저장된 핀을 사용하게 되면,

연속하지 않은 핀들도 순서적으로 제어 가능


함수정리





연습문제


1.4개의 LED가 다음 그림과 같이 2개씩 번갈아 가며 on/off되는 스케치를 작성하여 보자.



2.4개의 LED가 다음 그림과 같이 왼쪽에서 오른쪽으로 순차적으로 on되었다가 다시 왼쪽에서 오른쪽으로 순차적으로 off되는 스케치를 작성하여 보자.




LED 두 개 연결방법




정 답


'아두이노' 카테고리의 다른 글

아두이노 - 아날로그제어  (1) 2016.06.21
아두이노 - 시리얼통신  (0) 2016.06.21
아두이노 - Fritzing사용하기  (0) 2016.06.21
아두이노 - 개발환경설치  (0) 2016.06.21
아두이노 란?  (0) 2016.06.21
Comments