LogoLogo
  • Guide of goorm
  • ENGLISH
    • goorm account (for all services)
    • goormIDE
      • 01. Getting Started
        • What is goormIDE?
        • Key Terms
        • Quickstart
        • Build
          • C/C++
          • JAVA
          • Node.js
          • Python
          • Ruby
          • JSP
          • PHP
          • .NET
          • Spring-Maven
      • 02. Container
        • Container Specifications
        • Image: Packs
        • Inactive Container
        • Automatic Stop
      • 03. Workspace
        • Introduction to the Workspace
        • Collaboration
          • Contaienr Sharing
          • Co-Editing
          • Chatting
        • Keyboard Shortcut
        • Import Github Repos
        • Workspace Features
          • Init Script
          • Environment Variables
          • Commands
          • URL/Port
          • Application Modes
          • Muti Project
          • Merge Code
          • AI code completion
        • Source Code Management - Git
          • Git
          • Status
          • Add
          • Commit
          • Push
          • Pull
          • Ignore
          • Branch
          • Log
          • Event tab
          • Diff
        • File Management
          • Move
          • Open / Close
          • Properties
        • Terminal
        • Extra features
          • Auto Complete / Auto Import
          • Bug Reporting
          • Language Support
          • SBOM Management
      • 04. GPU
        • Introduction to the GPU
      • 05. Credits
        • About Credits
        • How credits are calculated
      • 06. Membership
        • About Membership
      • 07. FAQ
        • SSH / Port Forwarding Configuration
        • Why my container is blocked?
        • Can I use goormIDE on a mobile device?
        • React Native Container is not working
        • How to run as background process?
        • Using MySQL Workbench with goormIDE
        • I want to use Selenium.
        • How do I copy/paste from the terminal?
    • goormDEVTH (for applicants)
      • Access Evaluation
      • Proceed Evaluation
      • FAQ
        • The answer is correct, but it conflicts with the test case.
    • goormDEVTH (for interviewers)
      • Quick Start
        • Sign In & Sign Up
        • Reset Password
        • Free Trial
      • Management and Settings
        • New Assessment
        • Assessment Management
        • Assessment Information
        • Assessment Settings
        • Activity Log
      • Quiz Management
        • Making a New Quiz
        • Quiz Management
        • Import Quiz and General Settings
        • New Quiz(Different Types)
      • Test Management
        • Assessment List(New Assessment/Assessment Management)
        • Exam Result Management
        • Real Time Status
      • Applicant Management and Grade Report
        • Applicant Management
        • Applicant Invitation
        • Applicant Group Management
        • Grade Report
  • 한국어
    • 구름 계정(공통)
    • 구름IDE 사용법
      • 01. 시작하기
        • 구름IDE가 무엇인가요?
        • 주요 용어
        • 빠르게 사용해보기
        • 빌드
          • C/C++
          • JAVA
          • Node.js
          • Python
          • Ruby
          • JSP
          • PHP
          • .NET
          • Spring-Maven
        • 디버그
      • 02. 컨테이너
        • 컨테이너 성능
        • 이미지팩
        • 컨테이너 동면
        • 자동 정지
      • 03. 워크스페이스
        • 워크스페이스 소개
        • 협업 기능
          • 컨테이너 공유
          • 동시 편집
          • 채팅
        • 단축키
        • Github 저장소 불러오기
        • 편의 기능
          • 시작 스크립트
          • 환경 변수
          • 명령어
          • URL/Port
          • 애플리케이션 모드
          • 멀티 프로젝트
          • 코드 병합
          • AI 코드 자동완성 기능
        • 소스 코드 관리 - Git
          • Git
          • Status
          • Add
          • Commit
          • Push
          • Pull
          • Ignore
          • Branch
          • Log
          • Event tab
          • Diff
        • 파일 관리
          • 이동
          • 열기 / 닫기
          • 속성
        • 터미널
        • 기타 기능
          • 자동 완성 / 자동 Import
          • 버그 리포트
          • 다국어 지원
          • SBOM 관리
      • 04. GPU
        • GPU 소개
      • 05. 크레딧
        • 크레딧이란?
        • 크레딧 계산하기
      • 06. 멤버십
        • 멤버십이란?
      • 07. 자주 묻는 질문(FAQ)
        • SSH / 포트포워딩 설정 방법
        • 차단이 됐는데 이유를 모르겠어요
        • 모바일 기기에서 구름IDE를 사용할 수 있나요?
        • React Native 컨테이너가 실행이 안 돼요
        • 백그라운드 프로세스로 실행하는 방법
        • 구름IDE 에서 MySQL Workbench를 사용하고 싶어요
        • Selenium을 사용하고 싶습니다
        • 터미널에서 복사/붙여넣기는 어떻게 하나요?
    • 구름EDU 사용법(수강자용)
      • 00. 소개
      • 01. 회원 가입 & 로그인
        • 회원 가입 & 로그인
        • 비밀번호 재설정하기
        • 메인 페이지 안내
      • 02. 수강하기
        • 강좌 찾기
        • 무료 강좌 수강하기
        • 유료 강좌 수강하기
        • 내 수강 정보 화면 안내
        • 수강 평가하기
        • 수강 취소하기
      • 03. 학습 진행
        • 강의 시작하기
        • 수강화면 인터페이스
        • 실습화면 인터페이스
          • 채점 모드 / 제출 모드 / 실행 모드
      • 04. 시험/과제
        • 모니터 화면 공유(스크린캡쳐)/웹캠 권한 허용
        • 모바일(핸드폰) 카메라 설정
        • 시험/과제 화면 인터페이스
        • (동영상가이드)시험/과제 화면 인터페이스
      • 05. 문제 유형 소개
        • 스크래치 프로그래밍 문제 유형
        • 일반 프로그래밍 문제 유형
        • GUI 프로그래밍 문제 유형
        • 거북이 문제 (Skulpt) 유형
        • 유닛 테스트 문제 유형
        • 로보코드(코드) 문제 유형
        • 웹 서비스/애플리케이션 개발 문제 유형
        • HTML/CSS/JS 프로그래밍 문제 유형
        • RESTful API 실습 유형
        • 아두이노 스케치 개발 문제 유형
        • 스크래치두이노 개발 문제 유형
        • 일반 문제 유형
      • 06. 구름IDE를 이용한 강좌 수강
        • 구름IDE와 강좌의 연결
      • 07. 학교/기관/기업 채널 서비스 수강자
        • 채널 가입
          • 채널 가입하기
          • 초등학교 전용 채널 그림 로그인
        • 채널 검색
        • 수강 신청
          • 강좌 찾기
          • 수강 신청하기
          • 수강정보 화면 안내
        • 학습 진행
          • 출석
          • 온라인 튜터링
          • 시험 응시하기 & 과제 제출하기
      • 08. 구름LIVE Playground
        • 카메라와 마이크를 설정 할 수 없는 경우
      • 자주 묻는 질문(FAQ)
        • 채널 가입 신청이 승인 대기중이라고 나옵니다
        • 수강 신청을 했는데 강좌가 안 보입니다.
        • 실수로 시험을 종료했을 때, 다시 시험을 칠 수 있나요?
        • 수강 취소를 하고 싶어요
        • 수강취소했는데 환불이 안되었습니다
        • 모바일 버전 지원도 되나요?
        • [화상강의] 카메라와 마이크가 안 뜹니다.
    • 구름EDU 사용법(강의자용)
      • 01. 구름EDU 강의 관리 도구
        • 소개
        • 회원가입 & 로그인
        • 강의자 권한 신청
      • 02. 강좌 관리 및 설정
        • 강의자 홈
        • 강좌 만들기
        • 강좌 홈
        • 설정
        • 활동 내역
        • 뼈대 강좌로 강좌 생성하기
      • 03. 교육 컨텐츠 만들기
        • 강좌 컨텐츠의 구성
        • 챕터/강의 추가 및 삭제, 이름 변경, 위치 변경
        • 이론 중심 강의 편집하기
        • 동영상 한 번에 올리기
        • 실습 중심 강의 편집하기
        • 공개 기간 / 배지
        • 체험 강의 설정
      • 04. 문제 관리
        • 문제 가져오기 및 공통 설정
        • 스크래치 문제 만들기
          • 확장 기능 이용하기
        • 엔트리 문제 만들기
        • 일반 프로그래밍 문제 만들기
        • GUI/GAME 프로그래밍 문제 만들기
        • 유닛 테스트 문제 만들기
        • 로보코드 문제 만들기
        • 크루세이더 퀘스트 문제 만들기
        • 거북이 문제(Skulpt) 만들기
        • GlowScript 문제(VPython) 만들기
        • 웹 서비스/애플리케이션 개발 문제 만들기
        • 웹 서비스/애플리케이션 개발 문제 실행해보기
        • HTML/CSS/JS 프로그래밍 문제 만들기
        • 채점 스크립트 작성하기
        • RESTful API 문제 만들기
        • 아두이노 개발 문제 만들기
        • 스크래치두이노 개발 문제 만들기
        • O/X 문제 만들기
        • 주관식 문제 만들기
        • 객관식 문제 만들기
        • 선긋기 문제 만들기
        • 서술형 문제 만들기
        • 파일 제출 문제 만들기
        • 문제 검색, 수정, 삭제
      • 05. 시험/과제 관리
        • 시험/과제의 개념
        • 시험/과제 생성
        • 결과 분석
        • 실시간 시험 현황
      • 06. 수강자 관리
        • 수강자 관리
        • 신규 수강자 초대하기
        • 초대 메일 발송
        • 강좌 코드로 초대하기
        • 계정 만들어 주기
        • 출석 관리
        • 온라인 튜터링
      • 07. 성적 관리
        • 성취도 분석
        • 성적 보고서 만들기
      • 08. 기업/학교/학원/기관별 채널
        • 채널이란
        • 채널 신청 방법
        • 채널 관리
        • 사용자 관리
        • 채널 사용자 추가
          • 초대 메일 발송
          • 초대 링크로 사용자 초대하기
          • 계정 만들어주기
        • 강좌에 수강자 초대하기
          • 초대 메일 발송
          • 초대 코드 전달
          • 계정 만들어 주기
          • 임시 수강생 등록
        • 공동강의자 추가하기
        • 채널 활동 기록
          • 자동/수동 채점 및 채점 기록
        • 채널 설정
        • 채널 강좌 관리
      • 09. 구름LIVE Studio
      • 자주 묻는 질문(FAQ)
        • 내 강좌 교육과정에 뼈대 과목에 있는 몇 개의 강의를 복사하고 싶습니다
        • 시험 끝내기 버튼이 보이지 않습니다
        • 수강생의 학년/반/번호를 수정하고 싶습니다
        • 코드 에디터에서 복사/붙여넣기가 동작하지 않습니다
        • 수강생들이 제출한 파일은 어디에서 볼 수 있나요?
        • 제출시 프로그램 수행시간 제한과 실행시 프로그램 수행시간 제한의 차이점인 뭔가요?
        • 문제 가져오기에 보이는 문제와 안 보이는 문제는 무슨 차이가 있나요?
        • 시험과 과제는 어떤 차이점이 있는 건가요?
        • 성취도 보기에 완료로 되어있는데 제출 결과는 없습니다
        • 시험 가져오기를 통해 가져올 수 있는 시험은 어떤 건가요?
        • 채팅은 강의자와 수강생 1:1로만 대화가 가능한가요?
        • 기업, 학교 등 기관 회원 가입은 어떻게 하나요?
        • 강좌 개설 후 공개 설정을 했는데, 채널 메인에서 확인이 안 됩니다
        • 관리자 권한이 없습니다 / 관리자 페이지를 못찾겠습니다
        • 답안을 정규표현식으로 어떻게 작성할 수 있나요?
        • 구름EDU 강의자의 혜택이 궁금합니다
        • Interactice shell이 뭔가요?
        • 함수형 문제를 만들고 싶습니다
    • 구름DEVTH 사용법(지원자용)
      • 평가 접속하기
      • 평가 진행하기
        • 모니터화면공유(스크린캡쳐)/웹캠 권한 허용
        • 모바일(핸드폰) 카메라 설정
        • 스마트폰에서 QR코드 인식 방법
      • 평가 종료하기
      • 자주 묻는 질문(FAQ)
        • 로그인 시 정보가 일치하지 않는다고 합니다
        • 실행이 안됩니다
        • 시험을 종료하고 싶습니다
        • 채점 결과는 정답인데, 테스트케이스를 실행하면 불일치라고 합니다.
        • 사용 가능 언어를 알고 싶습니다 / 언어를 변경하고 싶습니다
        • 컴파일러 버전이 궁금합니다
        • 붙여넣기를 하지 않았는데, 경고문구가 뜹니다.
        • 초대 메일이 도착하지 않았습니다
        • 시험 응시를 위한 권장 환경은 어떻게 되나요?
    • 구름DEVTH 사용법(평가자용)
      • Quick Start
        • 평가/시험/문제
        • 평가 생성
        • 문제 생성
        • 시험 생성
        • 지원자 초대
        • 무료 체험 사용 신청
      • 평가 관리 및 설정
        • 평가 생성
        • 평가 관리
        • 평가 정보
        • 평가 설정
        • 활동 기록
      • 문제 관리
        • 문제 생성
        • 문제 관리
        • 문제 가져오기 및 공통 설정
        • 문제만들기(유형별)
      • 시험 관리
        • 평가 목록(시험 생성/관리)
          • 순위 보여주기
          • 구름IDE로 시험 보기
        • 결과 관리
          • 부정행위 방지 기능
            • 웹캠 / 스크린(화면) 캡쳐
            • 소스 코드 유사도 검사
            • 작성 이력 재생
        • 실시간 평가 현황
      • 지원자 및 성적 관리
        • 지원자 관리
        • 지원자 초대
        • 지원자 그룹 관리
        • 성적 보고서
      • 자주 묻는 질문(FAQ)
        • 문제, 답안, 채점결과까지 한 문서에 출력하고 싶습니다.
        • 기업용 문제은행은 어떻게 사용할 수 있나요?
        • 함수형 문제를 만들고 싶습니다
        • 구름DEVTH 옵저뷰 사용을 위한 권장 환경은 어떻게 되나요?
  • RELEASE NOTES
    • goormIDE
      • Jan 10, 2025
      • Nov 28, 2024
      • Nov 7, 2024
      • Oct 17, 2024
      • Sep 26, 2024
      • Sep 12, 2024
      • Aug 16, 2024
      • Jul 30, 2024
      • Jul 04, 2024
      • Jun 13, 2024
      • May 24, 2024
      • May 2, 2024
      • Apr 18, 2024
      • Mar 27, 2024
      • Oct 05, 2023
      • May 15, 2023
      • Apr 03, 2023
      • Feb 17, 2023
      • Jan 12, 2023
      • Nov 29, 2022
      • Nov 10, 2022
      • Oct 13, 2022
      • Sep 28, 2022
      • Sep 09, 2022
      • Jul 25, 2022
      • Jul 04, 2022
      • Jun. 21, 2022
      • May. 24, 2022
      • May. 2, 2022
      • Apr. 11, 2022
      • Mar. 24, 2022
      • Mar. 7, 2022
      • Feb. 10, 2022
      • Jan. 19, 2022
      • Dec. 23, 2021
      • Dec. 2, 2021
      • Nov. 11, 2021
      • Oct. 28, 2021
      • Sep. 29, 2021
      • Sep. 14, 2021
      • Aug. 19, 2021
      • Aug. 3, 2021
      • Jul. 13, 2021
      • May. 24, 2021
      • Apr. 9, 2021
      • Mar. 22, 2021
      • Jan. 7, 2021
      • Nov. 3, 2020
      • Jul. 23, 2020
      • May. 26, 2020
      • Apr. 20, 2020
      • Mar. 20, 2020
      • Feb. 21, 2020
      • Sep. 17, 2019
      • Nov. 28, 2019
    • goormEDU
      • Aug. 4, 2022
      • Jul. 1, 2022
      • May. 23, 2022
      • Mar. 23, 2022
      • Feb. 8, 2022
      • Dec. 24, 2021
      • Nov. 13, 2021
      • Oct. 23, 2021
      • Sep. 11, 2021
      • Aug. 21, 2021
      • Jul. 14, 2021
      • May. 12, 2021
      • Apr. 9, 2021
      • Jan. 20, 2021
      • Dec. 7, 2020
      • Nov. 19, 2020
      • Nov. 3, 2020
      • Jun. 30, 2020
      • Jun. 16, 2020
      • May. 16, 2020
      • Apr. 14, 2020
      • Feb. 14, 2020
      • Dec. 27, 2019
      • Nov. 18, 2019
    • goormEDU Channel
      • Jun. 2, 2025
      • May. 16, 2025
      • Apr. 25, 2025
      • Sep. 5, 2022
      • Jul. 25, 2022
      • Jul. 1, 2022
      • Apr. 28, 2022
      • Mar. 24, 2022
      • Feb. 8, 2022
      • Jul. 14, 2021
      • May. 12, 2021
      • Apr. 14, 2021
      • Jan. 20, 2021
    • goormDEVTH
      • May. 15th, 2025
      • Apr. 24th, 2025
      • Apr. 4th, 2025
      • Mar. 17, 2025
      • Feb. 20, 2025
      • Apr.25, 2024
      • Jul. 19, 2022
      • May. 24, 2022
      • Mar. 29, 2022
      • Jan. 17, 2022
      • Dec. 24, 2021
      • Nov. 12, 2021
      • Oct. 22, 2021
      • Sep. 10, 2021
      • Aug. 20, 2021
      • Jul. 14, 2021
      • May. 12, 2021
      • Apr. 9, 2021
      • Jan. 20, 2021
Powered by GitBook
On this page
  • 아두이노 스케치 개발 문제
  • 실습 환경 설정

Was this helpful?

  1. 한국어
  2. 구름EDU 사용법(수강자용)
  3. 05. 문제 유형 소개

아두이노 스케치 개발 문제 유형

PreviousRESTful API 실습 유형Next스크래치두이노 개발 문제 유형

Last updated 4 years ago

Was this helpful?

아두이노 스케치 개발 문제는 제출모드, 실행모드를 지원합니다.

아두이노 스케치 개발 문제는 현재 크롬 브라우저에서만 이용 가능합니다. 추후 다른 브라우저들로 확장할 예정입니다.

학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.

아두이노 스케치 개발 문제

아두이노는 오픈소스 마이크로컨트롤러 보드입니다. 아두이노는 PC에 쉽게 연결하다는 장점 뿐만 아니라 비교적 초보자들도 쉽게 코딩하고 업로드하여 IoT(사물 인터넷), 로봇, 드론 개발, 3D 프린터, 자동제어 등과 같은 다양한 분야에서 활용 가능하다는 장점과 활용성으로 널리 사랑받고 있습니다.

구름EDU에서 아두이노 프로그래밍을 하기 위해 간단한 준비 과정이 필요합니다. 준비 과정 설명에 앞서 아두이노 프로그래밍 문제 인터페이스를 확인하도록 하겠습니다.

실습 환경 설정

아두이노 프로그래밍 실습 환경 설정에 대한 설명입니다. 매뉴얼을 참고하여 실습 환경 설정 후 실습을 진행하시기 바랍니다.

1) 페이지 우측 상단에 보이는 '연결하기'를 클릭합니다.

2) goormduino 환경 설정 가이드가 있는 다음과 같은 다이얼로그가 팝업됩니다.

3) 1. 구름두이노(goormduino) 크롬 앱 설치하기 텍스트 박스 우측 하단에 위치한 다운로드버튼을 클릭합니다. 이후, 새 창으로 chrome://extensions/으로 접속 > 상단에 있는 개발자모드를 체크 > 다운로드 받은 압축파일을 해제 >압축해제된 확장 프로그램 로드... 클릭 후 업로드합니다.

이 때, 압축 해제된 폴더에서 'deploy' 폴더를 선택하여 업로드해주세요!

4) 업로드한 구름두이노의 ID를 복사한 후, 'Chrome Extention ID' 인풋 박스에 넣습니다. '구름두이노 연결하기' 항목 우측 하단의 '연결하기' 버튼을 클릭합니다. 연결하기 버튼이 녹색으로 변경되면 정상적으로 연결된 것입니다.

사용자마다 구름두이노 ID가 다릅니다. 메뉴얼에 보이는 gdd~ 를 복사하지 마시고, 자신이 업로드한 구름두이노의 ID를 복사해주세요.

여기까지 오셨다면 실습 환경은 완성되었을 것입니다. 다음으로 아두이노 프로그래밍 실습에 대해 알아보도록 하겠습니다. 이론 설명, 실습 내용, 에디터, 터미널의 배치는 다른 프로그래밍 문제와 동일합니다.

기본적으로 에디터에는 'Arduino', 'Serial' 2개의 탭이 있습니다.

  • Arduino : 강의자가 제공한 기본예제 코드가 주어지고 이 코드를 베이스로 요구사항에 맞게 프로그래밍을 하시게 됩니다. 수강자가 수정한 코드를 아두이노 보드에 업로드할 수 있습니다.

  • Serial : PC와 아두이노 기기 사이의 시리얼 통신 출력을 통해 확인할 수 있는 콘솔 터미널입니다.

코드 작성을 마친 후 '업로드' 버튼을 누르면 연결된 보드에 코드가 업로드됩니다. 아래에 업로드에 성공한 화면이 있습니다. 에디터 하단에 위치한 실행 결과 창을 통해 업로드 성공여부를 확인할 수 있습니다.

매뉴얼을 보시면서 시리얼 통신이 무엇인지 궁금해 하실 분들이 계실 것입니다. 아두이노는 디버깅 도구가 없기 때문에 프로그램의 문제를 찾는데 어려움이 있을 수 있습니다.

이 문제점에 대한 대안이 시리얼 통신입니다. 시리얼 연결을 통해 시리얼 통신 함수를 코드 곳곳에 입력하여 코드의 동작을 체크할 수 있습니다.

아래에 시리얼 통신 함수 리스트가 첨부되어 있습니다.

  • Serial.begin(speed) : 시리얼 통신의 전송속도를 설정합니다.

  • Serial.available() : 시리얼 포트로부터 시리얼 데이터의 바이트크기를 읽어 반환합니다.

  • Serial.flush() : 시리얼 포트안에 존재하는 데이터를 비웁니다.

  • Serial.print/println(val) : 시리얼 통신 데이터를 시리얼 포트로 ASCII 형식으로 출력합니다.

  • Serial.read() : 시리얼 통신 버퍼에서 데이터를 읽어들입니다.

  • Serial.write(val) : 데이터를 시리얼 포트에 씁니다. 데이터는 바이트 단위로 전송됩니다.

시리얼 연결해제 버튼으로 시리얼 연결을 해제할 수 있습니다.

5) 이제 PC와 아두이노 보드를 연결할 차례입니다. '컴퓨터와 연결된 보드 불러오기' 오른쪽에 있는 를 클릭하면 컴퓨터와 연결된 포트 리스트를 불러옵니다. PC에 아두이노 보드를 연결한 후 아두이노와 연결한 포트를 선택합니다. 이후, 보드 종류를 설정합니다.

Arduino 탭에 적절한 시리얼 함수를 입력해두고 시리얼 탭으로 넘어가서 버튼을 클릭하고 연결이 되었다는 메세지가 나타나는 것을 확인합니다.

실습화면 인터페이스