전자, 전기, 소프트웨어, 기계, 3D 프린터, 아두이노, 라즈베리파이, 쇼핑몰 창업

전체 페이지뷰

이 블로그 검색

최신글

[Blender] 3D viewport 사용법

[강좌] 4. 아두이노 코딩의 기초


무작정 보고 따라하며 배우는 아두이노 강좌입니다.

아두이노 공식 사이트에서 제공하는 강좌를 바탕으로 작성되었습니다.
해당 게시글은 Arduino UNO 보드를 기준으로 작성되었습니다.



4. 아두이노 코딩의 기초


미리 C 언어 등 다른 프로그래밍 언어를 익히신 분이라면 아두이노 코딩은 쉽게 할 수 있습니다.

C언어와 같이 아두이노는 절차 지향 언어입니다.
절차 지향 언어란 프로그램이 물 흐르듯이 순차적으로 위에서 아래로 진행되는 방식이고, 이 방식에서는 문제의 해결 순서를 절차적으로 표현하여야 합니다.

아두이노를 첫 프로그래밍으로 접하신 분이라면 절차지향이든 뭐든 용어가 어렵게 느껴질 수 있습니다.

실제 코딩은 다음 강좌부터 예제 파일을 분석하며 진행할 것으로 아직은 걱정할 것이 없습니다.

이번 시간에는 코딩을 하기 위한 가장 기초, 아두이노에서의 코딩 규칙(?)이라 할 수 있는 정해진 틀을 알려드립니다.


먼저 아래 이미지를 보면 새 스케치를 생성한 후 아두이노의 모습입니다.

setup()loop() 가 미리 생성되어 있죠.
이 셋업과 루프함수가 기본 틀이라고 생각하시면 됩니다.


아두이노를 비롯한 모든 코딩에서는 꼭 지켜야 하는 사항이 있습니다.

바로 ;(세미콜론) 과 { } 중괄호 인데요, 각 명령 뒤에는 세미콜론이 필수로 붙어야 하고, 모든 함수들은 중괄호로 시작과 끝을 지정합니다.  세미콜론을 붙이지 않거나, 함수의 시작과 끝 그 중 하나를 지정해 주지 않는다면 제대로 컴파일 되지 않으므로, 가장 중요한 기초적인 부분이라고 볼 수 있습니다.

세미콜론과 중괄호를 넣는 부분은 뒤의 강좌에서 예제를 살펴보며 이해하도록 합니다.


- setup()

// 한번만 실행시킬 셋업 코드를 여기 넣으세요

이 setup() 함수는 보드에 전원이 공급되고 딱 한번 작동하는 함수입니다. 
이 함수에 변수들을 시작값으로 정해주는 코드,  시리얼 통신의 경우 통신속도를 지정, 해당 핀의 입/출력 모드 선택 등등 수많은 용도로 사용할 수 있습니다.

예를 들어 13번 핀은 입력으로 선언하고 12번 핀을 출력으로 선언한다면 다음과 같은 코드가 필요합니다.

pinMode : 핀의 입/출력을 설정하는 함수입니다.  pinMode(핀번호, 입/출력); 과 같이 사용합니다.  

이 코드에서도 알 수 있듯이, setup()이라는 함수 뒤에 중괄호로 { 시작 표시가 되어있습니다. 그리고 코드가 끝나는 시점에 중괄호로 } 끝 표시가 되어있지요. 그리고, 각 코드의 끝에는 세미콜론이 붙어 있습니다.  


- loop()

// 반복 실행시킬 메인 코드를 여기 넣으세요

이 loop() 함수는 setup() 함수 이후에 메인으로 처리해야 할 코드들을 담는 곳입니다. 

setup() 함수가 실행되고 난 후, loop() 함수의 윗부분부터 차례대로 한줄씩 코드가 진행되며 loop() 함수 내의 마지막 코드가 실행되고 나면 다시 위에서부터 반복합니다. 
계속 반복한다고 하여 loop 라고 부르는 것입니다.



[강좌] 3. 아두이노 IDE 기본 사용법


무작정 보고 따라하며 배우는 아두이노 강좌입니다.
아두이노 공식 사이트에서 제공하는 강좌를 바탕으로 작성되었습니다.
해당 게시글은 Arduino UNO 보드를 기준으로 작성되었습니다.



3. 아두이노 IDE 사용방법


IDE란?  IDE를 처음 들어보신 분도 있으실 겁니다.
IDE는 [Integrated Development Environment] 의 약자로 한문장으로 요약하자면, 효율적으로 소프트웨어를 개발하기 위한 통합개발환경 소프트웨어 어플리케이션 인터페이스입니다.

저번 강좌에서 설치했던 프로그램은 코드를 작성하여 아두이노 보드에 쉽게 업로드 할 수 있게 도와주니 아두이노 IDE(통합개발환경)이라고 할 수 있습니다. 


이번 강좌에서는 지난 강좌에서 설치한 아두이노 IDE를 사용하는 방법에 대해 알아보겠습니다. 무작정 보고 따라하는 강좌이니 각 항목에 대한 자세한 설명보다는 어떤 기능을 하는 항목인지 간단히 소개만 하도록 하겠습니다.

해당 강좌에서 사용된 아두이노 버전은 1.8.5 입니다.


먼저, 아두이노 IDE의 사용자 인터페이스는 어떻게 생겼는지 확인해 볼까요?




1. 메뉴

  아두이노 프로그램의 메뉴는 파일(File), 편집(Edit), 스케치(Sketch), 툴(Tools), 도움말(Help)로 이루어져 있습니다.

  - 파일 (File)



    새 파일 : 말 그대로 새로운 아두이노 스케치를 생성합니다.

    열기 : 기존의 아두이노 스케치를 불러옵니다.

    스케치북 : 기존에 스케치한 것을 모아 놓은 곳입니다. 

    예제 : 기초 아두이노 스케치들의 예제를 모아 놓은 곳입니다. 
LED 깜빡이기, 서보모터 제어하기 등등 수많은 기초 예제들이 있으니, 이 예제들을 이해하면 아두이노는 어렵지 않습니다.

    페이지 설정 : 인쇄를 위한 설정입니다. 한글, 워드와 같은 문서의 프린트 설정과 유사합니다.

    인쇄 : 아두이노 스케치 코드를 인쇄합니다.

    환경설정 : 아두이노 프로그램의 환경설정에서는 스케치북의 저장경로, 글자크기 등 여러 설정을 변경할 수 있습니다.


- 편집 (Edit)



    기본 기능은 여러 프로그램의 편집과 같습니다.
    
    포럼용으로 복사 : 아두이노 프로그램에서의 코드를 포럼에 업로드하기 좋게끔 색상까지 복사하여 줍니다.

    HTML로 복사 : HTML을 사용하여 글을 업로드할 때 보기 좋도록 편집해 줍니다.

    Go to line : 해당 줄로 이동합니다.

    주석추가/주석삭제 : 프로그램에서 주석이란 부연설명과 같습니다.  설명하는 내용이 코드로 인식되지 않도록 특정 표시를 해 주는 것입니다.    
아두이노에서는 보통 글 앞에 "//"를 달아주거나 글 앞뒤에 "/*" "*/" 를 달아 줍니다.

    Increase/Decrease Font Size : 글자 크기를 조절합니다.

    찾기... : 코드 중 검색한 내용을 찾아줍니다.


- 스케치 (Sketch)



    확인/컴파일 : 고급언어 ( 인간이 알아볼 수 쉽게 작성된 프로그래밍 언어 ) 를 기계가 알아볼 수 있게끔 기계어로 번역하여 주는 기능입니다. 컴파일을 통해 코드에 오류가 없는지 확인해 볼 수 있습니다.

    업로드 : 프로그램을 컴파일하고, 연결된 아두이노로 업로드 합니다.

    프로그래머를 이용해 업로드 : 일반 업로드와 달리 외부 프로그래머를 사용하여 장치에 코드를 업로드 할 경우 사용합니다.

    컴파일된 바이너리 내보내기 : 아두이노에서 부트로더 없이 ISP를 이용하여 바로 프로그램을 올릴 수 있는 .HEX 파일을 내보냅니다.

    스케치 폴더 보이기 : 윈도우 탐색기를 열어 스케치가 위치한 폴더를 열어줍니다.

    라이브러리 포함하기 : 라이브러리 헤더 파일을 가져옵니다.

    파일 추가... : 파일 내용을 스케치 코드에 추가합니다.


- 툴 ( Tools )



    자동 포멧 : 난잡하게 적힌 코드들을 자동으로 정렬해 줍니다.

    인코딩 수정 & 새로 고침 : 잘못된 작업을 다시 원래대로 돌릴 때 사용합니다.

    시리얼 모니터 : 아두이노와 시리얼 통신을 할 때 사용하는 모니터입니다.

    시리얼 플로터 : 시리얼 모니터보다 보다 시각적으로 변화하는 값을 확인할 수 있게 그래프를 그려주는 툴 입니다.

    보드 : 현재 사용하는 보드의 종류를 선택합니다.

    포트 : 현재 사용하는 보드가 꽂힌 포트 번호를 선택합니다.

    프로그래머 : 아두이노를 업로드할 프로그래머를 선택할 수 있습니다.

    부트로더 굽기 : 해당 프로그래머의 부트로더를 구울 수 있습니다.


- 도움말 ( Help ) 


아두이노 프로그램을 사용하며 참고할 수 있는 여러 도움말 정보입니다.



2. 아이콘


아두이노에는 주로 사용하는 기능들을 아이콘으로 지정하여, 매번 메뉴장에서 찾아서 실행해야하는 번거로움을 줄여 줍니다.

왼쪽부터 순서대로 6개의 아이콘이 있습니다.

1. 컴파일 : 코드를 기계어로 번역하고 오류가 있는 내용을 찾아줍니다.

2. 업로드 : 코드를 컴파일하고 아두이노에 업로드합니다.

3. 새파일 : 새 스케치를 열어줍니다.

4. 열기 : 기존의 아두이노 파일을 불러옵니다.

5. 저장 : 현재 스케치를 저장합니다.

6. 시리얼 모니터 : 아두이노와 시리얼 통신을 할 때 사용합니다.



3. 메세지 & 콘솔



아두이노에서도 타 개발환경과 같이 메세지 창과 콘솔 창이 존재합니다. 

메세지 창에서는 컴파일 결과, 업로드 진행상황을 볼 수 있습니다.

콘솔 창에서는 아두이노 보드에서 전송하는 메세지나 코드에 대한 결과값, 혹은 코드에 오류가 있다면 어떤 오류인지 자세한 내용을 보여줍니다.



[강좌] 2. 아두이노 연결하기


무작정 보고 따라하며 배우는 아두이노 강좌입니다.
아두이노 공식 사이트에서 제공하는 강좌를 바탕으로 작성되었습니다.
해당 게시글은 Arduino UNO 보드를 기준으로 작성되었습니다.

2. PC에서 아두이노 연결하기


지난 강좌에서 아두이노 보드에 소스를 업로드할 프로그램을 설치했다면, 이번에는 아두이노 프로그램에서 아두이노 보드를 연결시키는 방법을 알려드립니다.

설치한 아두이노 프로그램을 켜줍니다.
아두이노 보드를 USB 포트에 연결합니다.


아두이노를 USB 포트에 연결하고 장치를 사용할 준비가 되었으면, 아두이노 프로그램에서 툴 -> 보드 -> Arduino/Genuino Uno를 선택해 줍니다.

아두이노 프로그램을 업로드 하기위해 어떤 아두이노 보드를 사용하는지 선택해 주는 과정입니다. 이 과정에서 알맞은 보드를 선택해 주지 않으면 이후 소스 업로드시 정상적으로 업로드가 되지 않습니다.



보드를 선택한 후 툴 -> 포트에서 아두이노가 연결된 USB 포트를 선택해 줍니다.

어떤 아두이노 보드를 사용할지 선택한 후 해당 보드가 어떤 USB 포트에 연결되어있는지 지정해 주는 작업입니다. 컴퓨터에는 여러개의 USB 포트가 있고 여러개의 아두이노가 연결되어있다면, 어떤 포트에 연결된 아두이노에 프로그램을 올리는지 잘 정해줘야 합니다.

만약 아두이노를 연결하였음에도 불구하고 포트가 잡히지 않으면 
위 게시물을 참고하시기 바랍니다.



정상적으로 보드 선택/ 포트 지정을 한 후 아두이노 프로그램 하단에 뜨는 문구입니다.


[강좌] 1. 아두이노 설치하기


무작정 보고 따라하며 배우는 아두이노 강좌입니다.
아두이노 공식 사이트에서 제공하는 강좌를 바탕으로 작성되었습니다.
해당 게시글은 Arduino UNO 보드를 기준으로 작성되었습니다.



1. 아두이노 설치하기


아두이노를 설치하려고 이 글을 보시는 분들은 아두이노가 무엇인지, 어디에 사용되는지 알고 이 글을 보신다 생각하여, 아두이노에 대한 소개는 생략하도록 하겠습니다.

아두이노의 개발환경을 구축하기 위해서는 먼저 아두이노 소스을 보드에 업로드 할 수 있는 프로그램이 필요합니다.

바로 설치방법으로 넘어가서, 먼저 아두이노 공식사이트에 접속해 줍니다.
arduino.cc }



아두이노 사이트 상단에 SOFTWARE를 클릭해 줍니다.



다음에 뜨는 창에서 DOWNLOAD 부분에 자신의 운영체제에 맞게 선택해 줍니다.
일반적인 가정의 윈도우 운영체제라면 상단의 Windows Installer 를 클릭해 주면 됩니다.


이후 아두이노 후원여부를 묻는 창이 뜹니다. 
아두이노에 후원을 하지 않고 무료로 다운받으실 경우 JUST DOWNLOAD,
일정 금액을 후원하고 다운받으실 경우 초록색 버튼을 눌러주시면 됩니다.



파일이 다운로드된 후 실행해 줍니다.
보안 경고창이 뜬다면, 실행 버튼을 눌러줍니다.

이후 Agree (동의), Next (다음), Install (설치) 버튼을 눌러 설치를 마무리 해 주면 됩니다.
설치 버튼을 누르기 전, 아두이노를 설치할 경로를 지정하는 창이 뜹니다. 아두이노 설치 경로에 한글도 된 파일명이 존재하면 이후 소스 업로드에 오류가 발생할 수 있어 주의합니다.