H'academy
  • H'academy
  • Web
    • Back-end
      • Spring Framework
        • Spring 개발환경 구축
          • Project 생성
          • Maven 설정
          • Maven 저장소 위치 설정
          • Apache Tomcat 연동
          • Lombok 설정
        • Spring MVC Project
          • pom.xml
          • web.xml
          • root-context.xml
          • servlet-context.xml
          • DispatcherServlet
        • Controller
          • File Upload / Download
          • RestController(작성중)
        • Spring Test
          • Assert 단정문
          • Spring 환경 연동 테스트
          • MockMvc Test
        • Spring AOP
          • AOP 용어
          • Pointcut Expression
          • Filter
          • Interceptor
          • Filter vs Interceptor
          • Controller Advice(작성중)
        • Spring JDBC
          • DBCP
          • myBatis
            • ResultMap 활용
        • ETC
          • Logging
            • Tomcat Logging 설정
          • Property 관리
          • E-mail
            • Gmail 변경사항
          • Scheduler
          • Websocket
      • Spring Boot
        • STS 다운로드
        • 프로젝트 생성
        • 프로젝트 구조
        • Spring Devtools
        • Spring Controller
          • JSP 연동
            • * JSP 생성불가 문제
            • Spring Boot 3.x
          • Model
          • 요청 파라미터 처리
          • 경로 변수 처리
          • 요청 메소드
          • Redirect
          • Spring Actuator
        • Spring Boot JDBC
          • Database 정보
          • DAO Pattern
          • ORM Framework
            • myBatis
              • Mapper 생성
            • Spring Data JPA
        • Spring AOP
          • AspectJ
          • Filter
          • Interceptor
          • ControllerAdvice
        • REST API
        • Spring WebSocket
        • Send Mail
        • Logging
        • Spring Boot Test
        • Lombok
      • Java EE
        • 개발환경 구성
          • Server와 Client
          • Web Server와 WAS
        • Dynamic Web Project
      • Apache Tomcat
        • Apache Tomcat 구조
        • Tomcat User 생성
        • Tomcat Manager 설정
      • Maven
      • Jenkins
        • Installation
          • Github Webhook 설정
          • Maven 연동
        • Project setting
          • 소스 코드 관리 설정
          • 빌드 유발 설정
          • 빌드 작업 설정
      • OpenAPI(swagger)
        • swagger 2.x (legacy)
        • swagger 3.x (boot)
        • Swagger UI 꾸미기
        • SpringDoc
    • Front-end
      • HTML
        • Heading
        • <A>
        • <IMG>
        • <DIV>
        • <TABLE>
        • <FORM>
          • <INPUT>
          • <SELECT>
          • <TEXTAREA>
          • <FIELDSET>
        • List
      • CSS
        • CSS 적용 방식
          • 크기(size)
            • 픽셀(px)
          • 색상(color)
        • CSS 선택자
          • 스타일 우선순위
        • CSS 주요 속성
          • 크기 속성
            • border
            • margin
            • padding
            • box-sizing
          • 배경 속성
          • 글자 속성
            • font
            • text
          • 배치 속성
            • position
            • display
            • overflow
            • float
            • flexbox
        • CSS Reset
      • JS
        • syntax
          • let, const
          • 구조 분해 할당
          • spread operator
          • Object copy
          • this
          • module
        • jQuery
          • structure
          • function
          • ajax
            • ajax file upload
        • VueJS
          • CDN(Vue3)
            • 기본 구조
            • Vue Devtools
            • jQuery vs VueJS
            • Vue instance
              • data
                • IME issue
              • v-model
              • template
              • computed
              • watch
                • deep watch
                • vs Computed
              • methods
            • Vue directive
              • v-text
              • v-html
              • v-bind
                • v-bind style
                • v-bind class
              • v-on
                • once
                • prevent
              • v-show
              • v-if
              • v-for
          • Vue-cli 3
            • 프로젝트 구조
            • src
              • main.js
              • App.vue
              • HelloWorld.vue
            • Vue Router 4
              • History mode
              • 404 not found
              • Guard
                • beforeEach
            • Vuex
              • 이동 횟수 측정
            • axios
              • interceptor
          • Vue-electron
        • ReactJS
          • CDN(React18)
            • 템플릿 설명
            • JSX
            • render
            • Handling Events
              • onClick
              • onInput
            • Component
              • 클래스 컴포넌트
                • state
                • props
                • event
                  • Mouse
                  • Input
                • lifecycle
              • 함수형 컴포넌트
                • useState
                • useEffect
                • useReducer
                • useMemo
                • props
                • 조건부 렌더링
          • CRA
            • 자원 경로 설정
            • src 절대 경로 설정
            • react-router
            • Context API
            • Electron 설정
        • Webpack
          • NodeJS
          • Git
    • Ubuntu server
      • Jenkins
    • 테스트 도구
      • JMeter
        • Test Plan
        • Test Plan(with login)
        • Plugin 설치
    • WebRTC
  • Base Language
    • Java
      • Java 실행 과정
        • 개발 환경 구축
        • 샘플 코드 작성
        • 컴파일/실행
        • 환경 변수 설정
      • Java 초급
        • Hello world
        • 자료와 정보
        • 변수
          • 정수
            • 정수의 저장 원리
            • 정수형 변수 생성
          • 실수
            • 실수의 저장 원리
            • 실수형 변수 생성
          • 논리
            • 논리형 변수 생성
          • 문자
          • 문자열
            • 문자열 변수 생성
          • 사용자 정의 자료형
        • 연산자
          • 대입 연산
          • 부호 연산
          • 산술 연산
          • 복합 대입 연산
          • 증감 연산
          • 쉬프트 연산
          • 비트 연산
          • 비교 연산
          • 논리 연산
          • 삼항 연산
          • 변환 연산
        • 표준 입출력
          • 표준 출력
          • 표준 오류 출력
          • 표준 입력
            • Scanner 입력
        • 제어문
          • if 구문
            • 단일 조건
            • 두 가지의 조건
            • 여러 가지의 조건
          • switch~case 구문
          • while 구문
          • do~while 구문
          • for 구문
        • 랜덤(Random)
        • 배열
          • 1차원 배열
          • 2차원 배열
          • 다차원 배열
          • Sort
            • 선택 정렬
            • 버블 정렬
            • 삽입 정렬
      • Java 중급
        • 객체 지향 프로그래밍
        • 클래스
        • 인스턴스
        • 필드
        • 메소드
          • 설정(setter) 메소드
          • 반환(getter) 메소드
        • 생성자
        • 접근 제한
          • private
          • package
          • protected
          • public
        • 정적(static)
        • 불변(final)
        • 상수(constant)
        • 상속
          • this와 super의 이해
          • 멤버 변수 설정
          • 멤버 메소드 설정
          • 생성자 설정
        • 추상화
          • 추상 클래스
          • 인터페이스
        • 다형성
        • 중첩 클래스
          • 일반 중첩 클래스
          • static 중첩 클래스
          • 지역 중첩 클래스
          • 익명 중첩 클래스
      • Java API(작성중)
        • java.lang
        • java.util
        • java.text
        • java.time
        • java.io
        • java.net
        • java.sql
        • java.awt
        • javax.swing
      • Java 고급
        • 제네릭(Generic)
        • 열거형(Enum)
        • Annotation Type
          • Retention
          • Target
          • Nested Annotation
        • Java Reflection
          • Intro
          • Class
          • Field
          • Constructor
          • Method
          • Package
      • JDBC
        • 드라이버 로드
        • 연결 생성
          • JDBC Driver 유형
        • JdbcTemplate
      • Java 버전별 변경사항
        • Java 1.8
          • Lambda Expression
          • Stream API
          • java.time 패키지
        • Java 9
        • Java 12
          • switch~case
        • Java 13
          • Text Block
    • Arduino
      • 학습 준비
        • Reference
        • 아두이노 온라인 시뮬레이터
        • 전기의 이해
        • 그라운드(GND)의 이해
      • 개발 환경 구축
        • CH340 보드 설치
        • Editor 글꼴 설정
      • 아두이노 제어
        • 코드의 구성
        • 시리얼 출력
        • 디지털 출력
          • LED 출력
        • PWM 출력
        • 시리얼 입력
        • 디지털 입력
          • PIR 센서
        • 아날로그 입력
          • 온도 센서(LM35DZ)
          • 조도 센서
          • 가스 센서
        • 피에조 부저
        • 서보 모터 제어
          • 시리얼 서보 모터 제어
          • 스위치 서보 모터 제어
        • 온습도 센서(DHT-11)
        • LCD
      • 아두이노 통신
        • 블루투스(Bluetooth)
          • HC-06
            • 온도 센서 활용
          • HM-10
        • 와이파이(Wi-Fi)
          • ESP-01
            • WiFiEsp 라이브러리 추가
            • WiFiEsp 네트워크 스캔
        • 이더넷(Ethernet)
        • ArduinoJson 라이브리 사용
    • Regular Expression
  • Database
    • Oracle
      • 설치
        • SQL Plus
        • SQL Developer
        • DBeaver
        • Docker(Mac OS)
      • SQL
        • 관리자 명령
          • 사용자 관리
          • 권한 관리
          • Encoding 설정
          • 서비스 포트 설정
        • 사용자 명령
          • 테이블 관리
            • 테이블 항목 제약 조건
            • 외래키 제약조건
            • 데이터 유형
          • 시퀀스 관리
          • 데이터 관리
            • 데이터 추가
            • 데이터 조회
              • 오라클 내장 함수
              • 그룹 조회
              • Top N Query
            • 데이터 수정
            • 데이터 삭제
          • 뷰 관리
          • 인덱스 관리
          • 집합 연산
          • 테이블 조인
            • 등가 조인
            • 외부 조인
        • HR 계정
        • 기타 명령
          • 컬럼 간격 조정
      • 내보내기 및 불러오기
        • EXPDP, IMPDP
        • Docker로 실행중인 경우
      • 기타
        • 자동 세션 제거
        • Tablespace 관리
        • Unlock user
  • 면접대비
    • Q&A
      • Java
      • Database
      • Web
      • IT 일반상식
  • ETC
    • Eclipse IDE
      • 설치
      • 화면 설명
      • 환경 설정
      • 프로젝트 생성
      • 소스파일 작성 및 실행
    • Github
      • Github 계정 관리
      • Github 저장소 관리
        • Profile
        • Collaborators
        • Code
        • Issues
        • Pull requests
        • Action
          • Vue 3 Deploy Action
      • Personal Access Token
      • Git ignore 설정
        • Spring 개발용 샘플
      • Github Eclipse 연동
        • Branches
        • Project
        • Team project
          • Dynamic web project
          • Spring Boot Project
          • Branch 생성
          • Pull Request
          • Branch 보호
          • Branch 다시 생성
    • Figma
      • Team
      • Design
      • Component
    • 과정평가형
      • 실기 모의고사 1회
      • 실기 모의고사 2회
      • 실기 모의고사 3회
      • 실기 모의고사 4회
    • VScode
      • Live Server 실행 오류
      • Github 계정 변경
    • Naver ToastUI Editor
      • Editor 만들기
        • Editor options
          • File upload
      • Viewer 만들기
    • 문자 인코딩 방식
    • OBS
      • 녹화 잡음 제거 설정
    • Semantic Version
Powered by GitBook
On this page
  • 개발 환경 구축
  • 통합 개발 환경(IDE)
  • 설치 파일 다운로드
  • 개발 도구 실행(오프라인 IDE)
  • 아두이노 보드 연결(오프라인 IDE)
  • 기본 예제 실행(오프라인 IDE)
  • 개발 도구 실행(온라인 IDE)
  • 장치 연결(온라인 IDE)
  • 기본 예제 실행(온라인 IDE)
  1. Base Language
  2. Arduino

개발 환경 구축

Previous그라운드(GND)의 이해NextCH340 보드 설치

Last updated 3 years ago

개발 환경 구축

이 문서에서는 아두이노 개발을 위한 프로그램을 설치하는 방법에 대해서 살펴본다.

통합 개발 환경(IDE)

IDE란 Integrated Development Environment의 줄임말로 애플리케이션 개발에 필요한 도구들의 모음을 말한다. 많은 이용자들을 보유한 프로그래밍 언어들은 효율적으로 사용할 수 있는 IDE가 존재하며 아두이노 역시 개발 편의성을 위해 IDE를 제공한다.

설치 파일 다운로드

에 접속하여 아두이노 IDE를 다운로드한다.

현재 시점에서는 온라인과 오프라인 IDE 두 가지의 선택지가 있으며, 온라인 에디터는 회원가입 후 바로 이용이 가능하다. 오프라인 에디터는 설치 과정이 필요하기 때문에 오프라인 에디터를 설치하는 과정에 대해서 먼저 살펴본다.

Downloads를 누른 뒤 나오는 화면에서 Download the Arduino IDE 를 찾은 뒤 원하는 운영체제와 버전에 맞게 다운로드를 누른다. 윈도우 기준으로 설치형, 무설치형, 앱 형태 총 3가지를 지원하며 이 문서에서는 무설치형을 다운받도록 한다.

개발 도구 실행(오프라인 IDE)

원하는 위치에 압축을 해제하면 다음과 같은 파일로 구성되어 있음을 확인할 수 있다.

arduino.exe 파일을 실행하면 IDE가 실행된다.

아두이노 보드 연결(오프라인 IDE)

PC에 아두이노 보드를 연결하기 위해서는 아래의 USB 케이블을 사용한다.

케이블이 연결되었다면 개발도구에서 툴 → 포트 → 연결된 포트를 선택 한다.

윈도우 10에서는 따로 드라이버 설치가 필요하지 않으나, 기타 OS에서 드라이버 설치가 필요할 경우 무설치판에서는 압축 해제 폴더의 drivers 폴더에 파일이 존재한다.

기본 예제 실행(오프라인 IDE)

아두이노 보드에는 기본 실행 가능 여부를 확인할 수 있도록 램프가 부착되어 있다. 이 램프를 구동하는 예제를 만들어 보드의 정상 작동 여부를 확인한다.

예제 생성

파일 → 예제 → 01.Basics → Blink 선택하여 예제를 생성한다.

코드 생성 확인

예제 생성 시 화면에 다음과 같은 코드가 나오는 것을 확인한다.

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

예제 컴파일 및 실행

연결까지 마쳤다면 생성한 예제를 실행해야 한다. 아두이노는 다음의 과정을 거쳐 실행된다.

  • 스케치 → 컴파일(Ctrl + R)

  • 스케치 → 업로드(Ctrl + U)

컴파일은 코드를 실행 가능한 형태로 변환하는 작업을 말하며, 업로드는 컴파일된 코드를 기기에 탑재하는 것이다.

컴파일과 업로드를 순서대로 진행하면 기기에서 코드가 작동한다.

개발 도구 실행(온라인 IDE)

온라인에서도 IDE를 이용할 수 있다. Software → Online Tools 를 선택하면 온라인 IDE 화면으로 이동한다.

제공되는 기능들은 가입 후 이용할 수 있으며, 어떠한 기능 버튼을 눌러도 로그인 화면으로 이동한다. Arduino Web Editor를 눌러 회원가입(로그인)을 진행한다.

다음 화면과 같은 형태의 에디터가 표시되는 것을 확인할 수 있다.

장치 연결(온라인 IDE)

온라인 IDE에서 장치를 연결하려면 Device Manager를 이용해야 한다. 메뉴에서 Device Manager를 선택한다.

다양한 장치들을 연결할 수 있도록 기능을 제공하며, 현재는 아두이노 보드를 추가해야 하므로 Add New Board를 선택한다.

보드의 종류를 직접 설정할 수 있으며, 설정이 불필요할 경우 자동으로 장치를 찾도록 Autodetect Arduino Board를 눌러 계속 진행한다.

아두이노 연결 설정 화면이 나오며, START를 눌러 다음으로 진행할 수 있다.

장치 연결을 도와주는 플러그인을 다운받는다.

다운받은 파일을 실행하여 플러그인을 설치한다. 설치가 완료되면 바로 다음 화면으로 진행된다.

방화벽 제외 설정을 해야 정상적인 기기 접근이 가능하다.

추가적으로 필요한 드라이버 설치도 허용한다.

설치가 완료되면 홈페이지가 갱신되며, 만약 정상적으로 설치되지 않은 경우 다음과 같은 화면이 나오므로 다시 시도한다.

정상적으로 인식되면 다음 단계를 진행할 수 있다.

다음 단계에서는 실제 장치를 연결해야 한다. 마찬가지로 장치가 감지되면 다음 단계로 이동할 수 있다. 만약 장치가 정상적으로 인식되지 않을 경우 USB 단자를 제거 후 다시 연결하면 정상적으로 인식된다.

기본 예제 실행(온라인 IDE)

공식 홈페이지